private void Awake() { // Init the MainThreadManager MainThreadManager.Create(); mpMenu = this.GetComponentInParent <MultiplayerMenu>(); Settings = mpMenu.Settings; serverListEntryTemplateHeight = ((RectTransform)serverListEntryTemplate.transform).rect.height; masterServerEnabled = !string.IsNullOrEmpty(Settings.masterServerHost); localDiscoveryEnabled = Settings.getLocalNetworkConnections; // No need to do anything else if local discovery or master server is not enabled if (!localDiscoveryEnabled && !masterServerEnabled) { return; } sqpClient = new SQPClient(); if (localDiscoveryEnabled) { NetWorker.localServerLocated += LocalServerLocated; NetWorker.RefreshLocalUdpListings(); } if (masterServerEnabled) { RefreshMasterServerListings(); } }
private void Start() { ipAddress.text = "127.0.0.1"; portNumber.text = "15937"; for (int i = 0; i < ToggledButtons.Length; ++i) { Button btn = ToggledButtons[i].GetComponent <Button>(); if (btn != null) { _uiButtons.Add(btn); } } if (!useTCP) { // Do any firewall opening requests on the operating system NetWorker.PingForFirewall(ushort.Parse(portNumber.text)); } if (useMainThreadManagerForRPCs) { Rpc.MainThreadRunner = MainThreadManager.Instance; } if (getLocalNetworkConnections) { NetWorker.localServerLocated += LocalServerLocated; NetWorker.RefreshLocalUdpListings(ushort.Parse(portNumber.text)); } }
public void RefreshServers() { NetWorker.localServerLocated -= LocalServerLocated; NetWorker.localServerLocated += LocalServerLocated; _AvailableServers.Clear(); NetWorker.RefreshLocalUdpListings(ushort.Parse(portNumber.text)); }
private void Start() { ipAddress.text = "127.0.0.1"; portNumber.text = "15937"; // Do any firewall opening requests on the operating system NetWorker.PingForFirewall(ushort.Parse(portNumber.text)); NetWorker.RefreshLocalUdpListings(ushort.Parse(portNumber.text)); Rpc.MainThreadRunner = MainThreadManager.Instance; }
IEnumerator CheckForLocalHost() { for (int ii = 0; ii < 3; ii++) { NetWorker.RefreshLocalUdpListings(portNumber); yield return(new WaitForSeconds(1)); } if (!alreadyClient) { Host(); } }
public void Client_RefreshServerList() { if (IsRefreshingList) { return; } IsRefreshingList = true; NetWorker.RefreshLocalUdpListings(SERVER_PORT_NUMBER); Client_ServerListRefreshStarted?.Invoke(); StartCoroutine(InvokeEventWhenListRefreshed(Time.time)); }
private void Update() { /* * if (Input.GetKeyDown(KeyCode.H)) * Host(); * else if (Input.GetKeyDown(KeyCode.C)) * Connect(); */ if (Input.GetKeyDown(KeyCode.L)) { NetWorker.localServerLocated -= TestLocalServerFind; NetWorker.localServerLocated += TestLocalServerFind; NetWorker.RefreshLocalUdpListings(); } }
private void Start() { m_IPAddress.text = "127.0.0.1"; m_PortNumber.text = "15937"; if (!m_UseTCP) { // Do any firewall opening requests on the operating system NetWorker.PingForFirewall(ushort.Parse(m_PortNumber.text)); } if (m_UseMainThreadManagerForRPCs) { Rpc.MainThreadRunner = MainThreadManager.Instance; } if (m_GetLocalNetworkConnections) { NetWorker.localServerLocated += LocalServerLocated; NetWorker.RefreshLocalUdpListings(ushort.Parse(m_PortNumber.text)); } }
// Use this for initialization void Start() { //versionText.text = PlayerSettings.bundleVersion; playerList = new List <Player>(); // Ограничиваем фпс в случае, если это будет запущено под линуксом без графики Application.targetFrameRate = 60; // Если ник пустой, то делаем рандомный if (nickname == "") { nickname = "Player " + Random.Range(0, 65536).ToString(); } ifNickname.text = nickname; // Обновление строчек, где указан порт ifPortNumber.text = portNumber.ToString(); lblPortNumber.text = portNumber.ToString(); // Обновление строчек, где указан айпи ifIpAddress.text = ipAddress; NetWorker.PingForFirewall((ushort)portNumber); if (useMainThreadManagerForRPCs) { Rpc.MainThreadRunner = MainThreadManager.Instance; } if (getLocalNetworkConnections) { NetWorker.localServerLocated += LocalServerLocated; NetWorker.RefreshLocalUdpListings((ushort)portNumber); } LoadPrefs(); }
private void Update() { // No need to do anything if local discovery or master server is not enabled if (!masterServerEnabled && !localDiscoveryEnabled) { return; } if (Time.time > nextListUpdateTime) { if (localDiscoveryEnabled) { NetWorker.RefreshLocalUdpListings(); } if (masterServerEnabled) { RefreshMasterServerListings(); } nextListUpdateTime = Time.time + 5.0f + UnityEngine.Random.Range(0.0f, 1.0f); } if (sqpClient != null) { sqpClient.Update(); foreach (var server in serverList) { UpdateItem(server); if (Time.time > server.NextUpdate && server.SqpQuery.State == ClientState.Idle) { sqpClient.SendChallengeRequest(server.SqpQuery); server.NextUpdate = Time.time + 5.0f + UnityEngine.Random.Range(0.0f, 1.0f); } } } }
private void Start() { ipAddress = "127.0.0.1"; portNumber = "15937"; if (!useTCP) { // Do any firewall opening requests on the operating system NetWorker.PingForFirewall(ushort.Parse(portNumber)); } if (useMainThreadManagerForRPCs) { Rpc.MainThreadRunner = MainThreadManager.Instance; } if (getLocalNetworkConnections) { NetWorker.localServerLocated += LocalServerLocated; NetWorker.RefreshLocalUdpListings(ushort.Parse(portNumber)); } //if (clientMode == ClientMode.Client) // Connect(); //else if (clientMode == ClientMode.Server) // Host(); if (Application.isEditor) { Host(); } else { Connect(); } }
public void RefreshLocal() { NetWorker.RefreshLocalUdpListings(ServerInfo.SERVER_PORT); }
// Update is called once per frame public void Refresh() { NetWorker.RefreshLocalUdpListings(ushort.Parse(portNumber.text)); }
public void Refresh() { ClearServers(); if (lan) { NetWorker.RefreshLocalUdpListings(ushort.Parse(portNumber.text)); return; } // The Master Server communicates over TCP TCPMasterClient client = new TCPMasterClient(); // Once this client has been accepted by the master server it should sent it's get request client.serverAccepted += x => { try { // The overall game id to select from string gameId = "myGame"; // The game type to choose from, if "any" then all types will be returned string gameType = "any"; // The game mode to choose from, if "all" then all game modes will be returned string gameMode = "all"; // Create the get request with the desired filters JSONNode sendData = JSONNode.Parse("{}"); JSONClass getData = new JSONClass(); // The id of the game to get getData.Add("id", gameId); getData.Add("type", gameType); getData.Add("mode", gameMode); sendData.Add("get", getData); // Send the request to the server client.Send(BeardedManStudios.Forge.Networking.Frame.Text.CreateFromString(client.Time.Timestep, sendData.ToString(), true, Receivers.Server, MessageGroupIds.MASTER_SERVER_GET, true)); } catch { // If anything fails, then this client needs to be disconnected client.Disconnect(true); client = null; } }; // An event that is raised when the server responds with hosts client.textMessageReceived += (player, frame, sender) => { try { // Get the list of hosts to iterate through from the frame payload JSONNode data = JSONNode.Parse(frame.ToString()); if (data["hosts"] != null) { // Create a C# object for the response from the master server MasterServerResponse response = new MasterServerResponse(data["hosts"].AsArray); if (response != null && response.serverResponse.Count > 0) { // Go through all of the available hosts and add them to the server browser foreach (MasterServerResponse.Server server in response.serverResponse) { Debug.Log("Found server " + server.Name); // Update UI MainThreadManager.Run(() => { AddServer(server.Name, server.Address, server.PlayerCount, server.Mode); }); } } } } finally { if (client != null) { // If we succeed or fail the client needs to disconnect from the Master Server client.Disconnect(true); client = null; } } }; client.Connect(masterServerHost, (ushort)masterServerPort); }
public void RefreshMatches() { ClearMatches(); NetWorker.RefreshLocalUdpListings(Server.Port); }