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"); } } }
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); }
public virtual void Initialize(NetWorker networker, string masterServerHost = "", ushort masterServerPort = 15940, JSONNode masterServerRegisterData = null) { Networker = networker; networker.objectCreated += CreatePendingObjects; Networker.binaryMessageReceived += ReadBinary; SetupObjectCreatedEvent(); UnityObjectMapper.Instance.UseAsDefault(); NetworkObject.Factory = new NetworkObjectFactory(); if (Networker is IServer) { if (Settings.enableSQP) { sqpServer = new SQPServer(Settings.SQPPort); } if (!string.IsNullOrEmpty(masterServerHost)) { _masterServerHost = masterServerHost; _masterServerPort = masterServerPort; RegisterOnMasterServer(masterServerRegisterData); } Networker.playerAccepted += PlayerAcceptedSceneSetup; #if FN_WEBSERVER string pathToFiles = "fnwww/html"; Dictionary <string, string> pages = new Dictionary <string, string>(); TextAsset[] assets = Resources.LoadAll <TextAsset>(pathToFiles); foreach (TextAsset a in assets) { pages.Add(a.name, a.text); } webserver = new MVCWebServer.ForgeWebServer(networker, pages); webserver.Start(); #endif } initialized = true; }