示例#1
0
        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();
        }
示例#2
0
        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"));
        }
示例#3
0
        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);
            }
        }