Esempio n. 1
0
        public static void HandlePacketServerListPing(Client client, ServerListPingPacket packet)
        {
            // Received a ServerListPing, so send back Disconnect with the Reason string containing data (server description, number of users, number of slots), delimited by a §
            var clientCount = client.Server.GetAuthenticatedClients().Count();

            client.Kick(String.Format("§1\0{0}\0{1}\0{2}\0{3}\0{4}", ProtocolVersion, MinecraftServerVersion, ChraftConfig.MOTD, clientCount, ChraftConfig.MaxPlayers));
        }
Esempio n. 2
0
        public static void HandlePacketServerListPing(Client client, ServerListPingPacket packet)
        {
            // Received a ServerListPing, so send back Disconnect with the Reason string containing data (server description, number of users, number of slots), delimited by a §
            var clientCount = client.Server.GetAuthenticatedClients().Count();

            //client.SendPacket(new DisconnectPacket() { Reason = String.Format("{0}§{1}§{2}", client.Owner.Server.ToString(), clientCount, Chraft.Properties.ChraftConfig.MaxPlayers) });
            client.Kick(String.Format("{0}§{1}§{2}", client.Server, clientCount, ChraftConfig.MaxPlayers));
        }
Esempio n. 3
0
        public static void ReadServerListPing(Client client, PacketReader reader)
        {
            ServerListPingPacket sl = new ServerListPingPacket();

            sl.Read(reader);

            if (!reader.Failed)
            {
                Client.HandlePacketServerListPing(client, sl);
            }
        }
Esempio n. 4
0
 public static ServerPing DoPing(IPEndPoint endPoint)
 {
     var client = new TcpClient();
     client.Connect(endPoint);
     var stream = new MinecraftStream(client.GetStream());
     var ping = new ServerListPingPacket(1);
     ping.WritePacket(stream);
     var response = PacketReader.ReadPacket(stream);
     client.Close();
     // TODO: Handle old pings
     var pong = (DisconnectPacket)response;
     var parts = pong.Reason.Substring(3).Split('\0');
     var result = new ServerPing();
     result.ProtocolVersion = int.Parse(parts[0]);
     result.ServerVersion = parts[1];
     result.MotD = parts[2];
     result.CurrentPlayers = int.Parse(parts[3]);
     result.MaxPlayers = int.Parse(parts[4]);
     return result;
 }
Esempio n. 5
0
        public static ServerPing DoPing(IPEndPoint endPoint)
        {
            var client = new TcpClient();

            client.Connect(endPoint);
            var stream = new MinecraftStream(client.GetStream());
            var ping   = new ServerListPingPacket(1);

            ping.WritePacket(stream);
            var response = PacketReader.ReadPacket(stream);

            client.Close();
            // TODO: Handle old pings
            var pong   = (DisconnectPacket)response;
            var parts  = pong.Reason.Substring(3).Split('\0');
            var result = new ServerPing();

            result.ProtocolVersion = int.Parse(parts[0]);
            result.ServerVersion   = parts[1];
            result.MotD            = parts[2];
            result.CurrentPlayers  = int.Parse(parts[3]);
            result.MaxPlayers      = int.Parse(parts[4]);
            return(result);
        }