Пример #1
0
        public static void initUDP()
        {
            packets[0x2F] = new x2fREQUESTGAME();

            packets[0x30] = new x30GAMEDETAILS();
            packets[0x31] = new x31CREATEGAME();
            packets[0x32] = new x32REFRESHGAME();
        }
Пример #2
0
 async void onPacket(Object packet, IPEndPoint from)
 {
     await Task.Run(() => {
         try{
             if (packet is x2fREQUESTGAME)
             {
                 x2fREQUESTGAME p = (x2fREQUESTGAME)packet;
                 if (g.id == p.gameId)
                 {
                     Console.WriteLine("Responding to gameinforequest");
                     g.sendGameDetails(from);
                 }
             }
             else if (packet is x31CREATEGAME)
             {
                 x2fREQUESTGAME p = new x2fREQUESTGAME();
                 p.product        = "W3XP";
                 p.version        = 30;
                 p.gameId         = ((x31CREATEGAME)packet).gameId;
                 sendUDPPacket(p, from);
             }
             else if (packet is x30GAMEDETAILS)
             {
                 x30GAMEDETAILS p = (x30GAMEDETAILS)packet;
                 Console.WriteLine("GAME CREATED IN LAN : ");
                 Console.WriteLine(p.product);
                 Console.WriteLine(p.gameId);
                 Console.WriteLine(p.gameName);
                 Console.WriteLine(p.players + " / " + p.slots);
                 Console.WriteLine(string.Join('-', p.stats));
             }
             else if (packet is x32REFRESHGAME)
             {
                 //idgaf lol
             }
             else
             {
                 Console.WriteLine("Unhandled packet " + packet.GetType().Name + " received.");
             }
         }catch (Exception x) {
             System.Console.WriteLine(x);
         }
     });
 }
Пример #3
0
        public void sendGameDetails(IPEndPoint to)
        {
            x30GAMEDETAILS pkt = new x30GAMEDETAILS();

            pkt.product     = "W3XP";
            pkt.gameVersion = 30;
            pkt.gameId      = id;
            pkt.entryKey    = entryKey;
            pkt.gameName    = "|c0000ffffBig boy club";
            pkt.passwd      = "";
            pkt.stats       = GetStatStringData();
            pkt.slots       = (uint)gameMap.MapNumPlayers;
            pkt.gameflags   = 9;
            pkt.players     = (uint)players.Count();
            pkt.freeslots   = pkt.slots - pkt.players; //? lol
            pkt.age         = 0;
            pkt.port        = 6112;

            //System.Console.WriteLine(string.Join('-',pkt.stats));
            p.sendUDPPacket(pkt, to);
        }