Esempio n. 1
0
        public void SQPClientServer_ServerInfoQuery_ServerInfoReceived()
        {
            var port     = 13337;
            var server   = new SQPServer(port);
            var endpoint = new IPEndPoint(IPAddress.Loopback, port);
            var client   = new SQPClient(endpoint);

            server.ServerInfoData.ServerName     = "Banana Boy Adventures";
            server.ServerInfoData.BuildId        = "2018-1";
            server.ServerInfoData.CurrentPlayers = 1;
            server.ServerInfoData.MaxPlayers     = 20;
            server.ServerInfoData.Port           = 1337;
            server.ServerInfoData.GameType       = "Capture the egg.";
            server.ServerInfoData.Map            = "Great escape to the see";

            client.StartInfoQuery();

            var iterations = 0;

            while (!(client.ClientState == SQPClient.SQPClientState.Success ||
                     client.ClientState == SQPClient.SQPClientState.Failure) &&
                   iterations++ < 1000)
            {
                server.Update();
                client.Update();
            }
            Assert.Less(iterations, 1000);
            Assert.AreEqual(client.ClientState, SQPClient.SQPClientState.Success);
        }
Esempio n. 2
0
        //[Test]
        public void SQPServer_ServerInfoQueryTest_ShouldWork()
        {
            var port   = 10001;
            var server = new SQPServer(port);

            server.ServerInfoData.ServerName     = "Banana Boy Adventures";
            server.ServerInfoData.BuildId        = "2018-1";
            server.ServerInfoData.CurrentPlayers = 1;
            server.ServerInfoData.MaxPlayers     = 20;
            server.ServerInfoData.Port           = 1337;
            server.ServerInfoData.GameType       = "Capture the egg.";
            server.ServerInfoData.Map            = "Great escape to the see";

            var start = NetworkUtils.stopwatch.ElapsedMilliseconds;

            while (true)
            {
                server.Update();

                /*
                 * if (server.IsDone)
                 * {
                 *  Debug.Log("ServerDone");
                 *  return;
                 * }
                 */

                if (NetworkUtils.stopwatch.ElapsedMilliseconds - start > 1000)
                {
                    Debug.Log("Listening");
                }
            }
        }
Esempio n. 3
0
        protected virtual void UpdateSQPServer()
        {
            // Update SQP data with current values
            var sid = sqpServer.ServerInfoData;

            sid.Port = Networker.Port;
            // This count will include the host, for dedicated server setups it needs to be count-1
            sid.CurrentPlayers = Convert.ToUInt16(Networker.Players.Count);
            sid.MaxPlayers     = Convert.ToUInt16(Networker.MaxConnections);
            sid.ServerName     = Settings.serverName;
            sid.ServerType     = Settings.type;

            sqpServer.Update();
        }
Esempio n. 4
0
        public void SQPClientServer_ServerInfoQuery_ServerInfoReceived()
        {
            var port     = 13337;
            var server   = new SQPServer(port);
            var endpoint = new IPEndPoint(IPAddress.Loopback, port);
            var client   = new SQPClient();

            var sid = server.ServerInfoData;

            sid.ServerName     = "Banana Boy Adventures";
            sid.BuildId        = "2018-1";
            sid.CurrentPlayers = 1;
            sid.MaxPlayers     = 20;
            sid.Port           = 1337;
            sid.GameType       = "Capture the egg.";
            sid.Map            = "Great escape to the see";

            server.ServerInfoData = sid;

            var handle = client.GetSQPQuery(endpoint);

            client.StartInfoQuery(handle);

            var iterations = 0;

            while (handle.m_State != SQPClient.SQPClientState.Idle && iterations++ < 1000)
            {
                server.Update();
                client.Update();
            }
            Assert.Less(iterations, 1000);

            Assert.AreEqual(handle.m_State, SQPClient.SQPClientState.Idle);
            Assert.AreEqual(handle.validResult, true);
            var sidRecieved = handle.m_ServerInfo.ServerInfoData;

            Assert.AreEqual(sidRecieved.BuildId, sid.BuildId);
            Assert.AreEqual(sidRecieved.CurrentPlayers, sid.CurrentPlayers);
            Assert.AreEqual(sidRecieved.GameType, sid.GameType);
            Assert.AreEqual(sidRecieved.Map, sid.Map);
            Assert.AreEqual(sidRecieved.MaxPlayers, sid.MaxPlayers);
            Assert.AreEqual(sidRecieved.Port, sid.Port);
            Assert.AreEqual(sidRecieved.ServerName, sid.ServerName);
        }