Ok so I am a C# Newb and I JUST started working with unity (Yesturday) I have already Made my self a Semi-Working FPS Game. I am attempting to make it so when some one starts the game They Chose to join a random Room on my Cloud server Or Create a Room on the cloud server. I have a Really Sloppy C# Script that worked for the first like 3 try’s but after i attempted to Fix some bugs i get a massive Error when attempting to Join / Create a Room. The Error’s Are listed Below
My Code:
using System.Collections;
public class NetworkManager : MonoBehaviour
{
private const string typeName = "UniqueGameName";
private const string gameName = "RoomName";
private bool isRefreshingHostList = false;
private HostData[] hostList;
public GameObject playerPrefab;
void OnGUI()
{
if (!Network.isClient !Network.isServer)
{
if (GUI.Button(new Rect(100, 100, 250, 100), "Join Public Server"))
JoinRandom();
if (GUI.Button(new Rect(100, 250, 250, 100), "Create A Server(DONT USE UNLESS YOUR NAME IS WINTERGRASPED)"))
CreateRoomm();
if (hostList != null)
{
for (int i = 0; i < hostList.Length; i++)
{
if (GUI.Button(new Rect(400, 100 + (110 * i), 300, 100), hostList[i].gameName))
JoinServer(hostList[i]);
}
}
}
}
private void StartServer()
{
Network.InitializeServer(5, 25000, !Network.HavePublicAddress());
MasterServer.RegisterHost(typeName, gameName);
}
void OnServerInitialized()
{
SpawnPlayer();
}
void Update()
{
if (isRefreshingHostList MasterServer.PollHostList().Length > 0)
{
isRefreshingHostList = false;
hostList = MasterServer.PollHostList();
}
}
private void RefreshHostList()
{
if (!isRefreshingHostList)
{
isRefreshingHostList = true;
MasterServer.RequestHostList(typeName);
}
}
private void JoinServer(HostData hostData)
{
Network.Connect(hostData);
}
void OnConnectedToServer()
{
SpawnPlayer();
}
private void SpawnPlayer()
{
Network.Instantiate(playerPrefab, Vector3.up * 5, Quaternion.identity, 0);
}
//Function Called When Player Clicks "Join Public Server"\\
private void JoinRandom()
{
PhotonNetwork.JoinRandomRoom();
}
//Function Called Whne Player Click "Create A Server"\\
private void CreateRoomm()
{
PhotonNetwork.CreateRoom(null);
}
}]
Error When Attempting to JOIN a Room:
Cannot send op: 225 Not connected. PeerState: Disconnected
UnityEngine.Debug:LogError(Object)
PhotonHandler:smile:ebugReturn(DebugLevel, String) (at Assets/SCRIPT_NETWORK/PhotonHandler.cs:170)
NetworkingPeer:smile:ebugReturn(DebugLevel, String) (at Assets/SCRIPT_NETWORK/NetworkingPeer.cs:802)
ExitGames.Client.Photon.EnetPeer:EnqueueOperation(Dictionary`2, Byte, Boolean, Byte, Boolean, EgMessageType)
ExitGames.Client.Photon.PeerBase:EnqueueOperation(Dictionary`2, Byte, Boolean, Byte, Boolean)
ExitGames.Client.Photon.PhotonPeer:OpCustom(Byte, Dictionary`2, Boolean, Byte)
ExitGames.Client.Photon.PhotonPeer:OpCustom(Byte, Dictionary`2, Boolean)
LoadbalancingPeer:OpJoinRandomRoom(Hashtable, Byte, Hashtable, MatchmakingMode) (at Assets/SCRIPT_NETWORK/LoadbalancingPeer.cs:183)
NetworkingPeer:OpJoinRandomRoom(Hashtable, Byte, Hashtable, MatchmakingMode) (at Assets/SCRIPT_NETWORK/NetworkingPeer.cs:723)
PhotonNetwork:JoinRandomRoom(Hashtable, Byte, MatchmakingMode) (at Assets/SCRIPT_NETWORK/PhotonNetwork.cs:1306)
PhotonNetwork:JoinRandomRoom(Hashtable, Byte) (at Assets/SCRIPT_NETWORK/PhotonNetwork.cs:1265)
PhotonNetwork:JoinRandomRoom() (at Assets/SCRIPT_NETWORK/PhotonNetwork.cs:1251)
NetworkManager:JoinRandom() (at Assets/NetworkManager.cs:85)
NetworkManager:OnGUI() (at Assets/NetworkManager.cs:19)
Error When CREATING a Room:
Cannot send op: 227 Not connected. PeerState: Disconnected
UnityEngine.Debug:LogError(Object)
PhotonHandler:smile:ebugReturn(DebugLevel, String) (at Assets/SCRIPT_NETWORK/PhotonHandler.cs:170)
NetworkingPeer:smile:ebugReturn(DebugLevel, String) (at Assets/SCRIPT_NETWORK/NetworkingPeer.cs:802)
ExitGames.Client.Photon.EnetPeer:EnqueueOperation(Dictionary`2, Byte, Boolean, Byte, Boolean, EgMessageType)
ExitGames.Client.Photon.PeerBase:EnqueueOperation(Dictionary`2, Byte, Boolean, Byte, Boolean)
ExitGames.Client.Photon.PhotonPeer:OpCustom(Byte, Dictionary`2, Boolean, Byte)
ExitGames.Client.Photon.PhotonPeer:OpCustom(Byte, Dictionary`2, Boolean)
LoadbalancingPeer:OpCreateRoom(String, Boolean, Boolean, Byte, Boolean, Hashtable, Hashtable, String[]) (at Assets/SCRIPT_NETWORK/LoadbalancingPeer.cs:103)
NetworkingPeer:OpCreateGame(String, Boolean, Boolean, Byte, Boolean, Hashtable, String[]) (at Assets/SCRIPT_NETWORK/NetworkingPeer.cs:707)
PhotonNetwork:CreateRoom(String, Boolean, Boolean, Int32, Hashtable, String[]) (at Assets/SCRIPT_NETWORK/PhotonNetwork.cs:1172)
PhotonNetwork:CreateRoom(String) (at Assets/SCRIPT_NETWORK/PhotonNetwork.cs:1108)
NetworkManager:CreateRoomm() (at Assets/NetworkManager.cs:91)
NetworkManager:OnGUI() (at Assets/NetworkManager.cs:22)
My Current Semi-Working Game:
MY BETA IS HERE