public Game(Banshee _p, string mappath, int port = 6112) { p = _p; entryKey = (uint)new Random().Next(); gameState = GameState.LOBBY; gameMap = new Map(mappath); slots = gameMap.Slots.ToArray(); randomseed = (uint)GetTimeMS(); broadcastAddr = new IPEndPoint(IPAddress.Broadcast, 6112); tcpServer = new TcpListener(IPAddress.Any, 6112); tcpServer.Server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1); tcpServer.Start(); x31CREATEGAME pkt = new x31CREATEGAME(); pkt.product = "W3XP"; pkt.version = 30; pkt.gameId = id; p.sendUDPPacket(pkt, broadcastAddr); lobbyThread = new Thread(refreshThread); lobbyThread.Start(); tcpThread = new Thread(listenTCP); tcpThread.Start(); gameThread = new Thread(tickloop); gameThread.Start(); }
public static void initUDP() { packets[0x2F] = new x2fREQUESTGAME(); packets[0x30] = new x30GAMEDETAILS(); packets[0x31] = new x31CREATEGAME(); packets[0x32] = new x32REFRESHGAME(); }