- Home /
 
 
               Question by 
               Morga121 · Jun 24, 2014 at 06:12 PM · 
                networking  
              
 
              Network problem
The network status isn't changed when 'Running as client. No player ID set yet.' and 'Connected to 192.168.1.100:27017' texts are typed in the console and OnConnectedToServer isn't called .(Status is Network.isServer and Network.isClient) Here's the code :
 using UnityEngine;
 using System.Collections;
 
 public class Networking : MonoBehaviour {
 
     public string gameName;//Server Name
     public string typeName;//Game Name
     public string comment;
     public int maxConnections;
     public int port;
     public int refreshRequestLength;
     public Transform[] spawnSpots; 
     public GameObject _Player;
     public GameObject[] publicCameras;
     public HostData connectedHostdata;
     public enum statuses{Offline ,Client ,Server};
     public statuses status;
     HostData[] hostData;
 
     void Update()
     {
         if (Network.isClient && !Network.isServer)
         {
             status = statuses.Client;
         }
         else if (Network.isServer && !Network.isClient)
         {
             status = statuses.Server;
         }
         else if (!Network.isClient && !Network.isServer)
         {
             status = statuses.Offline;
         }
     }
 
     void StartServer()
     {
         Network.InitializeServer (maxConnections, port, false);
     }
 
     void OnServerInitialized()
     {
         Debug.Log ("Server initialized");
         MasterServer.RegisterHost (typeName, gameName);
     }
 
     void OnFailedToConnectToMasterServer()
     {
         Debug.LogError ("Failed to connect to Master Server");
     }
 
     void OnMasterServerEvent(MasterServerEvent msEvent)
     {
         if (msEvent == MasterServerEvent.RegistrationSucceeded)
         {
             Debug.Log("Registration to Master Server succesfull");
             Debug.Log ("The server is started succesfully");
             Spawn();
         }
     }
 
     //Refresh
     IEnumerator RefreshServers()
     {
         Debug.Log ("Refreshing...");
         MasterServer.RequestHostList (typeName);
         float timeEnd = Time.time + refreshRequestLength;
 
         while (Time.time < timeEnd)
         {
             hostData = MasterServer.PollHostList();
             yield return new WaitForEndOfFrame();
         }
         if (hostData != null || hostData.Length != 0)
         {
             Debug.Log (hostData.Length + " server(s) have been found");
         }
     }
 
     void OnPlayerDisconnected(NetworkPlayer player)
     {
         Network.DestroyPlayerObjects (player);
         Network.RemoveRPCs (player);
     }
 
     void OnConnectedToServer()
     {
         Debug.Log ("Connected to server (" + connectedHostdata.ip + " )");
         Spawn ();
     }
 
     void OnGUI()
     {
         if (Network.isClient || Network.isServer)
                         return;
 
         if (GUI.Button (new Rect(25 ,25 ,150 ,30) ,"Host New Server"))
         {
             StartServer ();
         }
         if (GUI.Button(new Rect(25 ,65 ,150 ,30) ,"Refresh Server List"))
         {
             StartCoroutine("RefreshServers");
         }
         if (hostData != null)
         {
             for (int i = 0;i < hostData.Length;i++)
             {
                 if (GUI.Button(new Rect(Screen.width / 2 ,65 + (30 * i) ,200 ,30) ,hostData[i].gameName))
                 {
                     NetworkConnectionError error = Network.Connect(hostData[i]);
                     connectedHostdata = hostData[i];
                 }
             }
         }
     }
 
 
     void Spawn()
     {
         GameObject myGO =(GameObject) Network.Instantiate (_Player, spawnSpots [Random.Range (0, spawnSpots.Length)].position, Quaternion.identity, 0);
         for (int i = 0;i < publicCameras.Length;i++)
         {
             if (publicCameras[i] != null)
             {
                 publicCameras[i].GetComponent<Camera>().enabled = false;
                 publicCameras[i].GetComponent<AudioListener>().enabled = false;
             }
         }
         myGO.GetComponent<CharacterMotor> ().enabled = true;
         myGO.GetComponent<MouseLook> ().enabled = true;
         myGO.transform.FindChild ("Camera").GetComponent<Camera> ().enabled = true;
         myGO.transform.FindChild ("Camera").GetComponent<MouseLook> ().enabled = true;
         myGO.transform.FindChild ("Camera").GetComponent<AudioListener> ().enabled = true;
     }
 }
 
 
              
               Comment
              
 
               
              Your answer
 
             Follow this Question
Related Questions
Unity networking tutorial? 6 Answers
Networking Gun Fire Sound 1 Answer
how can I present a choice under function OnNetworkLoadedLevel 2 Answers
Multiplayer lan 1 Answer