void StartServer() { if (!NetworkServer.active) { NetworkServer.RegisterHandler((short)PTEvent.Connect, Handler_OnConnected); NetworkServer.RegisterHandler(MsgType.Disconnect, Handler_OnDisconnect); NetworkServer.RegisterHandler((short)PTEvent.Data, Handler_OnData); NetworkServer.RegisterHandler((short)PTEvent.Ready, Handler_OnReadyReceived); NetworkServer.RegisterHandler((short)PTEvent.ConfirmReadyReceived, Handler_OnConfirmReady); NetworkServer.Listen(PTNetwork.DEFAULT_SERVER_PORT); } PTSession newSession = new PTSession(); newSession.senderName = playerName; newSession.gameName = gameName; newSession.port = NetworkServer.listenPort; newSession.data = Encoding.Unicode.GetBytes(PTNetwork.DEFAULT_BROADCAST_DATA); if (nd.running) { nd.StopBroadcast(); } nd.broadcastData = newSession.ToString(); nd.Initialize(); nd.StartAsServer(); }
// When all the players ready up public override void OnLobbyServerPlayersReady() { if (networkDiscovery.running) { networkDiscovery.StopBroadcast(); } base.OnLobbyServerPlayersReady(); // Comment this out when using custom UI as it will change the level print("all players ready"); }
/** Callback functions **/ public void OnConnected(NetworkMessage netMsg) { Debug.Log("Connected :" + netMsg.conn.address); // if started as client if (!NetworkServer.active) { sendUid(); discovery.StopBroadcast( ); } }
public IEnumerator joinOrCreate() { //waits for response from list matches yield return(new WaitForSeconds(refreshingRequestLength)); if (GameSceneManager.JoinSuccess == false) { //StopClient (); discovery.StopBroadcast(); StartHost(); GameSceneManager.whichplayer = "Player1"; } }
IEnumerator Broadcast() { yield return(new WaitUntil(() => networkFinder)); if (networkFinder.running) { networkFinder.StopBroadcast(); } yield return(new WaitUntil(() => networkFinder.Initialize())); networkFinder.broadcastData = SystemInfo.deviceName; networkFinder.StartAsServer(); }
/// <summary> /// Called on the server whenever a new player has successfully connected. /// </summary> /// <param name="player">The NetworkPlayer which just connected.</param> void OnPlayerConnected(NetworkPlayer player) { Dev.log(Tag.Network, "Player is connected : " + player.externalIP); if (networkDisc.isClient || networkDisc.isClient) { networkDisc.StopBroadcast(); } //TODO Change the Scene. NetworkView netView = GetComponent <NetworkView>(); netView.RPC("openScene", RPCMode.All, null); }
IEnumerator EstablishConnection() { Debug.Log("Establishing connection: Searching for host"); discovery.StartAsClient(); yield return(new WaitForSeconds(2)); if (State.DISCONNECTED != state) { yield break; } Debug.Log("Establishing connection: No host found, will become host"); discovery.StopBroadcast(); StartHost(); discovery.StartAsServer(); }
private void StopMatch() { switch (_matchingMode) { case MatchingMode.Host: _networkDiscovery.StopBroadcast(); NetworkManager.singleton.StopHost(); break; case MatchingMode.Client: _networkDiscovery.StopBroadcast(); NetworkManager.singleton.StopClient(); break; } }
public void StartAsServer(int port) { PortNumber = port; if (!networkDiscovery.isServer) { if (networkDiscovery.running) { networkDiscovery.StopBroadcast(); } networkDiscovery.Initialize(); networkDiscovery.StartAsServer(); MPLobbyManager.Instance.CreateServer(); GameManager.playerType = GameManager.PlayerType.Master; } }
public void OnStartGame(NetworkMessage netMsg) { NetworkServer.SendToAll(MsgType.Highest + 3, new EmptyMessage()); SceneManager.LoadScene("Game"); discovery.StopBroadcast(); NetworkServer.dontListen = true; }
public void RestartDiscovery() { if (discovery.running) { discovery.StopBroadcast(); } discoveryInit = discovery.Initialize(); }
void Update() { if (netDiscovery.isClient) { if (netDiscovery.broadcastsReceived.Count == 0) { elapsedTime += Time.deltaTime; if (elapsedTime > waitSecondsForServer) { netDiscovery.StopBroadcast(); netDiscovery.StartAsServer(); netManager.StartHost(); Debug.Log("No hosts were found, setting up as a host."); if (connectingWindow != null) { connectingWindow.SetActive(false); } } } else if (!isConnected) { var brdReceived = netDiscovery.broadcastsReceived; var brdKeys = brdReceived.Keys.ToArray(); NetworkBroadcastResult invitation = brdReceived[brdKeys[0]]; string msg = NetworkDiscovery.BytesToString(invitation.broadcastData); Debug.Log("Broadcast from host at " + invitation.serverAddress + " was received: " + msg); Debug.Log("Port: " + msg.Split(':')[2]); netManager.networkPort = int.Parse(msg.Split(':').Last()); //NetworkManager:address:port netManager.networkAddress = invitation.serverAddress; netManager.StartClient(); isConnected = true; netDiscovery.StopBroadcast(); if (connectingWindow != null) { connectingWindow.SetActive(false); } NetworkManager.singleton.client.RegisterHandler(MsgType.Disconnect, OnNetworkDisconnect); } } if (isConnected && !NetworkManager.singleton.client.handlers.ContainsValue(OnNetworkDisconnect)) { NetworkManager.singleton.client.RegisterHandler(MsgType.Disconnect, OnNetworkDisconnect); } }
public override void OnStartServer() { discovery.StopBroadcast(); Debug.Log("Start Server Broadcast...."); discovery.broadcastData = networkPort.ToString(); discovery.StartAsServer(); base.OnStartServer(); connected = true; }
public void StopBroadcasting() { if (discovery.isClient || discovery.isServer) { return; } discovery.StopBroadcast(); }
IEnumerator CheckConnection() { Discovery.Initialize(); DisableButtons(); DebugText.text = "Searching... Please Wait."; yield return(new WaitForSeconds(.5f)); Discovery.StartAsClient(); yield return(new WaitForSeconds(4.5f)); if (IsClientConnected()) { isClient = true; DebugText.text = "Connected!"; yield return(new WaitForSeconds(1f)); } else { DebugText.text = "Nothing found. Trying manual input..."; if (IPInput.text != null) { StopClient(); Discovery.StopBroadcast(); yield return(new WaitForSeconds(.1f)); networkAddress = IPInput.text; StartClient(); yield return(new WaitForSeconds(3f)); if (IsClientConnected()) { isClient = true; DebugText.text = "Connected!"; } else { DebugText.text = "Nothing found. Try again."; StopClient(); EnableButtons(); } } } }
/// <summary> /// Es llamado cuando se pulsa el botón de salir del Server. /// Para el servidor, el broadcast y destruye la partida /// </summary> public void StopServer() { //Acaba el juego ServerGameManager.Instance.OnStopServer(); //Para broadcast NetworkDiscovery.StopBroadcast(); //Para el servidor NetworkManager.singleton.StopServer(); }
public void GoMenu() { manager.StopHost(); //manager.StopClient(); if (netdis.running) { netdis.StopBroadcast(); } SceneManager.LoadScene("MainMenu"); }
private void SetGameVisibility(bool visible) { if (visible) { networkDiscovery.Initialize(); networkDiscovery.StartAsServer(); } else { networkDiscovery.StopBroadcast(); } }
IEnumerator CheckConnection() { MyNetDiscovery.Initialize(); waiting = true; StartCoroutine("animateLookingForGame"); yield return(new WaitForSeconds(.5f)); MyNetDiscovery.StartAsClient(); yield return(new WaitForSeconds(4.5f)); waiting = false; yield return(new WaitForSeconds(1f)); if (IsClientConnected()) { if (MyNetDiscovery.running) { MyNetDiscovery.StopBroadcast(); } isClient = true; Connection.Instance.txtInfo.text = "Verbunden!"; yield return(new WaitForSeconds(1.2f)); } else { Connection.Instance.txtInfo.text = "Nichts gefunden. Versuche es manuell."; StopClient(); if (MyNetDiscovery.running) { MyNetDiscovery.StopBroadcast(); } yield return(new WaitForSeconds(.1f)); Connection.Instance.ManualConnectLayout(); } }
void Disconnect() { if (NetworkServer.active) { manager.StopHost(); NetworkClient.ShutdownAll(); } if (NetworkClient.active) { manager.StopClient(); discovery.StopBroadcast(); NetworkClient.ShutdownAll(); BackToMenu(); } NetworkServer.Shutdown(); Debug.Log("Disconnected"); }
public void OnStopClient() { nd.StopBroadcast(); nd.showGUI = true; }
void OnGUI() { if (!showGUI) { return; } int xpos = 10 + offsetX; int ypos = 40 + offsetY; int spacing = 72; if (!NetworkClient.active && !NetworkServer.active && manager.matchMaker == null) { if (GUI.Button(new Rect(xpos, ypos, 200, 60), "LAN Host(H)")) { manager.StartHost(); netdis.Initialize(); netdis.StartAsServer(); } ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 210, 60), "LAN Client(C)")) { netdis.Initialize(); netdis.StartAsClient(); //manager.StartClient(); } manager.networkAddress = GUI.TextField(new Rect(xpos + 200, ypos, 190, 60), manager.networkAddress); ypos += spacing; /*if (GUI.Button(new Rect(xpos, ypos, 200, 60), "LAN Server Only(S)")) * { * //Instantiate(manager.playerPrefab); * //manager.StartClient(); * manager.StartServer(); * //manager.StartClient(); * }*/ ypos += spacing; } else { if (NetworkServer.active) { GUI.Label(new Rect(xpos, ypos, 200, 20), "Server: port=" + manager.networkPort); ypos += spacing; } if (NetworkClient.active) { GUI.Label(new Rect(xpos, ypos, 100, 20), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort); ypos += spacing; } } if (NetworkClient.active && !ClientScene.ready) { if (GUI.Button(new Rect(xpos, ypos, 400, 60), "Client Ready")) { ClientScene.Ready(manager.client.connection); if (ClientScene.localPlayers.Count == 0) { ClientScene.AddPlayer(0); } } ypos += spacing; } if (NetworkServer.active || NetworkClient.active) { if (GUI.Button(new Rect(xpos, ypos, 400, 40), "Stop (X)")) { manager.StopHost(); if (netdis.running) { netdis.StopBroadcast(); } } ypos += spacing; } if (!NetworkServer.active && !NetworkClient.active) { ypos += 10; if (manager.matchMaker == null) { /*if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Enable Match Maker (M)")) * { * manager.StartMatchMaker(); * }*/ ypos += spacing; } else { if (manager.matchInfo == null) { if (manager.matches == null) { if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Create Internet Match")) { manager.matchMaker.CreateMatch(manager.matchName, manager.matchSize, true, "", "", "", 0, 0, manager.OnMatchCreate); } ypos += spacing; GUI.Label(new Rect(xpos, ypos, 100, 20), "Room Name:"); manager.matchName = GUI.TextField(new Rect(xpos + 100, ypos, 100, 20), manager.matchName); ypos += spacing; ypos += 10; if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Find Internet Match")) { manager.matchMaker.ListMatches(0, 20, "", true, 0, 0, manager.OnMatchList); } ypos += spacing; } else { foreach (var match in manager.matches) { if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Join Match:" + match.name)) { manager.matchName = match.name; manager.matchSize = (uint)match.currentSize; manager.matchMaker.JoinMatch(match.networkId, "", "", "", 0, 0, manager.OnMatchJoined); } ypos += spacing; } } } if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Change MM server")) { showServer = !showServer; } if (showServer) { ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Local")) { manager.SetMatchHost("localhost", 1337, false); showServer = false; } ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Internet")) { manager.SetMatchHost("mm.unet.unity3d.com", 443, true); showServer = false; } ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Staging")) { manager.SetMatchHost("staging-mm.unet.unity3d.com", 443, true); showServer = false; } } ypos += spacing; GUI.Label(new Rect(xpos, ypos, 300, 20), "MM Uri: " + manager.matchMaker.baseUri); ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Disable Match Maker")) { manager.StopMatchMaker(); } ypos += spacing; } } }
public override void OnStopClient() { discovery.StopBroadcast(); discovery.showGUI = true; }
public void stopLanBroadcast() { netDisc.StopBroadcast(); }
public void Stop() { _networkDiscovery.StopBroadcast(); }
public override void OnStartHost() { HostFinder.StopBroadcast(); HostFinder.Initialize(); HostFinder.StartAsServer(); }
/// <summary> /// Es llamado cuando se pulsa el botón de salir del Server. /// Para el servidor y el Broadcast /// TODO: Destruir la escena /// </summary> public void StopServer() { NetworkDiscovery.StopBroadcast(); NetworkManager.singleton.StopServer(); }
public void StopServerBrowser() { StopCoroutine("PingServers"); networkDiscovery.StopBroadcast(); }