public void MasterOperation(bool register) { var m = new EventManager(); var p = new Parser(); var c = new Client(MasterServerHost, MasterServerPort, m, p.Parse); if (register) { new MasterAddServer().Pack(c.Writer, Server.Port, CurrentLobby.MapName, CurrentLobby.MaxPlayers, CurrentLobby.PlayersConnected); Console.WriteLine("Serveur enregistré sur Master"); } else { new MasterRemoveServer().Pack(c.Writer, Server.Port); Console.WriteLine("Serveur désenregistré sur Master"); } c.Disconnect(); }
void ReceiveServers(object data) { Client = new Client("metastruggle.eu", 5555, GameEngine.EventManager, new Parser().Parse); var listServers = (List<MasterServerDatas>)data; var servers = new List<string[]>(); foreach (var s in listServers) servers.Add(new[] { s.Map, s.IP + ":" + s.Port, s.ConnectedPlayer + "/" + s.MaxPlayer }); Client.Disconnect(); Menu.Add("ListServer.Item", new ClassicList(new Rectangle(10, 10, 80, 50), servers, new Dictionary<string, int> { {"Map",18}, {"IP:Port",11}, {"Player", 3} }, RessourceProvider.Fonts["HUDlittle"], Color.White, Color.DarkOrange, "MSTheme")); }
static void Ping() { while (true) { Console.WriteLine("=== ping des serveurs ==="); foreach (var masterServerDatase in Servers.GetRange(0, Servers.Count)) { var c = new Client(masterServerDatase.IP, masterServerDatase.Port, new EventManager(), new Parser().Parse); if (!c.Connected) RemoveServer(masterServerDatase); else c.Disconnect(); } Thread.Sleep(5000); } }