void Start()
        {
            if (mRequest == null)
            {
                mRequest = Buffer.Create();
                mRequest.BeginPacket(Packet.RequestServerList).Write(GameServer.gameID);
                mRequest.EndPacket();
            }

            if (mRemoteAddress == null)
            {
                mRemoteAddress = string.IsNullOrEmpty(remoteAddress) ?
                                 new IPEndPoint(IPAddress.Broadcast, remotePort) :
                                 Tools.ResolveEndPoint(remoteAddress, remotePort);

                if (mRemoteAddress == null)
                {
                    mUdp.Error(new IPEndPoint(IPAddress.Loopback, mUdp.listeningPort),
                               "Invalid address: " + remoteAddress + ":" + remotePort);
                }
            }

            // Twice just in case the first try falls on a taken port
            if (!mUdp.Start(Tools.randomPort, UdpProtocol.defaultBroadcastInterface))
            {
                mUdp.Start(Tools.randomPort, UdpProtocol.defaultBroadcastInterface);
            }
        }
        /// <summary>
        /// Start the lobby server link.
        /// </summary>

        public override void Start()
        {
            base.Start();

            if (mUdp == null)
            {
                mUdp = new UdpProtocol();
                mUdp.Start();
            }
        }
示例#3
0
 /// <summary>
 /// Start listening for incoming UDP packets on the specified listener port.
 /// </summary>
 public override bool Start(int listenPort)
 {
     Stop();
     mUdp = new UdpProtocol();
     if (!mUdp.Start(listenPort)) return false;
     #if STANDALONE
     Console.WriteLine("UDP Lobby Server started on port " + listenPort);
     #endif
     mThread = new Thread(ThreadFunction);
     mThread.Start();
     return true;
 }
示例#4
0
        /// <summary>
        /// Start the lobby server link.
        /// </summary>

        public override void Start()
        {
            base.Start();

#if FORCE_EN_US
            Tools.SetCurrentCultureToEnUS();
#endif
            if (mUdp == null)
            {
                mUdp = new UdpProtocol("Lobby Link");
                mUdp.Start();
            }
        }
示例#5
0
 /// <summary>
 /// Start listening for incoming UDP packets on the specified listener port.
 /// </summary>
 public override bool Start(int listenPort)
 {
     Stop();
     mUdp = new UdpProtocol();
     if (!mUdp.Start(listenPort)) return false;
     #if STANDALONE
     Tools.Print("UDP Lobby Server started on port " + listenPort + " using interface " +
     (UdpProtocol.defaultNetworkInterface ?? IPAddress.Any));
     #endif
     mThread = new Thread(ThreadFunction);
     mThread.Start();
     return true;
 }
示例#6
0
        /// <summary>
        /// Start listening to incoming UDP packets on the specified port.
        /// </summary>

        public bool StartUDP(int udpPort)
        {
#if !UNITY_WEBPLAYER
            if (mUdp.Start(udpPort))
            {
                if (isConnected)
                {
                    BeginSend(Packet.RequestSetUDP).Write((ushort)udpPort);
                    EndSend();
                }
                return(true);
            }
#endif
            return(false);
        }
示例#7
0
        /// <summary>
        /// Start listening for incoming UDP packets on the specified listener port.
        /// </summary>

        public override bool Start(int listenPort)
        {
            Stop();
            mUdp = new UdpProtocol("Lobby Server");
            if (!mUdp.Start(listenPort, UdpProtocol.defaultBroadcastInterface))
            {
                return(false);
            }
#if STANDALONE
            Tools.Print("UDP Lobby Server started on port " + listenPort + " using interface " + UdpProtocol.defaultNetworkInterface);
#endif
            mThread = new Thread(ThreadFunction);
            mThread.Start();
            return(true);
        }
示例#8
0
        /// <summary>
        /// Start listening for incoming UDP packets on the specified listener port.
        /// </summary>

        public override bool Start(int listenPort)
        {
            Stop();
            mUdp = new UdpProtocol();
            if (!mUdp.Start(listenPort))
            {
                return(false);
            }
#if STANDALONE
            Console.WriteLine("UDP Lobby Server started on port " + listenPort);
#endif
            mThread = new Thread(ThreadFunction);
            mThread.Start();
            return(true);
        }
示例#9
0
        /// <summary>
        /// Start listening for incoming UDP packets on the specified listener port.
        /// </summary>

        public override bool Start(int listenPort)
        {
            Stop();
            mUdp = new UdpProtocol();
            if (!mUdp.Start(listenPort))
            {
                return(false);
            }
#if STANDALONE
            Console.WriteLine("UDP Lobby Server started on port " + listenPort + " using interface " +
                              (UdpProtocol.defaultNetworkInterface ?? IPAddress.Any));
#endif
            mThread = new Thread(ThreadFunction);
            mThread.Start();
            return(true);
        }
示例#10
0
        /// <summary>
        /// Start listening to incoming connections on the specified port.
        /// </summary>

        public bool Start(int tcpPort, int udpPort)
        {
            Stop();

            try
            {
                mListenerPort = tcpPort;
                mListener     = new TcpListener(IPAddress.Any, tcpPort);
                mListener.Start(50);
                //mListener.BeginAcceptSocket(OnAccept, null);
            }
            catch (System.Exception ex)
            {
                Error(ex.Message);
                return(false);
            }

#if STANDALONE
            Console.WriteLine("Game server started on port " + tcpPort);
#endif
            if (!mUdp.Start(udpPort))
            {
                Error("Unable to listen to UDP port " + udpPort);
                Stop();
                return(false);
            }

            mAllowUdp = (udpPort > 0);

            if (lobbyLink != null)
            {
                lobbyLink.Start();
                lobbyLink.SendUpdate(this);
            }

            mThread = new Thread(ThreadFunction);
            mThread.Start();
            return(true);
        }
示例#11
0
        /// <summary>
        /// Start listening for incoming UDP packets on the specified listener port.
        /// </summary>

        public override bool Start(int listenPort)
        {
            Stop();

            Tools.LoadList(banFilePath, mBan);

#if FORCE_EN_US
            Tools.SetCurrentCultureToEnUS();
#endif
            mUdp = new UdpProtocol("Lobby Server");
            if (!mUdp.Start(listenPort, UdpProtocol.defaultBroadcastInterface))
            {
                return(false);
            }
#if STANDALONE
            Tools.Print("Bans: " + mBan.Count);
            Tools.Print("UDP Lobby Server started on port " + listenPort + " using interface " + UdpProtocol.defaultNetworkInterface);
#endif
            mThread = Tools.CreateThread(ThreadFunction);
            mThread.Start();
            return(true);
        }
示例#12
0
        /// <summary>
        /// Start the lobby server link.
        /// </summary>
        public override void Start()
        {
            base.Start();

            if (mUdp == null)
            {
            mUdp = new UdpProtocol();
            mUdp.Start();
            }
        }