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); }
//[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"); } } }
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(); }
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); }