static void MakeConfig() { config = new Config(); config.ServerIp = GetInput("Server address"); string port = GetInput("Port (press enter for 8787)"); while (!int.TryParse(port, out config.Port) && port != string.Empty) ; if (config.Port == 0) config.Port = 8787; config.Username = GetInput("Username"); config.Password = GetMaskedInput("Password"); config.Save(); Console.Clear(); }
static void Main(string[] args) { if (!File.Exists("config.json")) MakeConfig(); else config = Config.Load(); Client client = new Client(); try { client.PacketReceived += Client_PacketReceived; client.ClientDisconnected += Client_ClientDisconnected; Console.WriteLine("Connecting..."); client.Connect(config.ServerIp, config.Port); Console.Clear(); client.Send(new Packet((short)PacketType.Authenticate, (byte)0, Version.Major, Version.Minor, config.Username, config.Password)); } catch { Console.WriteLine("Error connecting. Attempting to reconnect in 5 seconds..."); resetEvent.Set(); } if (client.Connected) { new Thread(() => { for (;;) { string input = Console.ReadLine(); if (!client.tcpClient.Connected) break; client.Send(new Packet((short)PacketType.Input, input)); } }).Start(); } resetEvent.WaitOne(); Thread.Sleep(5000); Console.Clear(); Main(args); return; }