private BattleServer(string[] args) { using (_server = new PBEServer()) { _server.ClientConnected += OnClientConnected; _server.ClientDisconnected += OnClientDisconnected; _server.ClientRefused += OnClientRefused; _server.Error += OnError; _server.Start(new IPEndPoint(IPAddress.Parse(args[0]), ushort.Parse(args[1])), 100); Console.WriteLine("Server online."); Reset(); Thread.Sleep(-1); _server.ClientConnected -= OnClientConnected; _server.ClientDisconnected -= OnClientDisconnected; _server.ClientRefused -= OnClientRefused; _server.Error -= OnError; } }
private BattleServer(string[] args) { if (!IPAddress.TryParse(args[0], out IPAddress ip) || !ushort.TryParse(args[1], out ushort port) || !bool.TryParse(args[2], out bool requireLegalParties)) { PrintUsage(); } else { using (_server = new PBEServer()) { _server.ClientConnected += OnClientConnected; _server.ClientDisconnected += OnClientDisconnected; _server.ClientRefused += OnClientRefused; _server.Error += OnError; // Events unsubscribe in _server.Dispose() _server.Start(new IPEndPoint(ip, port), 100); RequireLegalParties = requireLegalParties; Console.WriteLine("Server online."); Reset(); Thread.Sleep(-1); } } }