- Home /
Question by
VeritasGandalf · Mar 03, 2013 at 07:20 PM ·
serverconnecttomaster
Failed to connect to the master server
Hello, I keep getting "Failed to connect to master server at 67.225.180.24:23466". Is there a problem with the server, or my scripting? My Menu manager:
using UnityEngine;
using System.Collections;
public class MenuManager : MonoBehaviour {
public string CurrentMenu;
public string MatchName = "";
public string MatchPassword = "";
public int MatchMaxPlayers = 32;
private Vector2 ScrollLobby = Vector2.zero;
void Start()
{
CurrentMenu = "Main";
MatchName = "Server" + Random.Range(0, 5000);
}
void OnGUI()
{
if(CurrentMenu == "Main")
Menu_Main();
if(CurrentMenu == "Lobby")
Menu_Lobby();
if(CurrentMenu == "Host")
Menu_HostGame();
}
public void NavigateTo(string nextmenu)
{
CurrentMenu = nextmenu;
}
private void Menu_Main()
{
if(GUI.Button(new Rect(10,10,200,50), "Host Game"))
{
NavigateTo("Host");
}
if(GUI.Button(new Rect(10,70,200,50), "Refresh"))
{
MasterServer.RequestHostList("DeathMatch");
}
GUI.Label (new Rect(220, 10, 130, 30),"Player Name");
MultiplayerManager.instance.PlayerName = GUI.TextField(new Rect(350,10,150,30), MultiplayerManager.instance.PlayerName);
if(GUI.Button(new Rect(520,10,100,30), "Save Name"))
{
PlayerPrefs.SetString("PlayerName", MultiplayerManager.instance.PlayerName);
}
GUILayout.BeginArea(new Rect(Screen.width - 400, 0, 400, Screen.height), "Server List", "Box");
GUILayout.Space(20);
foreach (HostData match in MasterServer.PollHostList())
{
GUILayout.BeginHorizontal("Box");
GUILayout.Label(match.gameName);
if (GUILayout.Button("Connect"));
{
Network.Connect(match);
}
GUILayout.EndHorizontal();
}
GUILayout.EndArea();
}
private void Menu_HostGame()
{
if(GUI.Button(new Rect(10,10,200,50), "Back"))
{
NavigateTo("Main");
}
if(GUI.Button(new Rect(10,65,200,50), "Start Server"))
{
MultiplayerManager.instance.StartServer(MatchName, MatchPassword, MatchMaxPlayers);
}
GUI.Label (new Rect(220, 10, 130, 30),"Match Name");
MatchName = GUI.TextField(new Rect(400,10,200,30), MatchName);
GUI.Label (new Rect(220, 50, 130, 30),"Match Password");
MatchPassword = GUI.PasswordField(new Rect(400,50,200,30), MatchPassword, '*');
GUI.Label (new Rect(220, 90, 130, 30),"Match Max Players");
GUI.Label (new Rect(400,90,200,30),MatchMaxPlayers.ToString());
MatchMaxPlayers = Mathf.Clamp(MatchMaxPlayers, 8, 32);
if(GUI.Button(new Rect(425,90,25,30), "+"))
MatchMaxPlayers += 2;
if(GUI.Button(new Rect(450,90,25,30), "-"))
MatchMaxPlayers -= 2;
}
private void Menu_Lobby()
{
ScrollLobby = GUILayout.BeginScrollView(ScrollLobby, GUILayout.MaxWidth(200));
foreach (MPPlayer pl in MultiplayerManager.instance.PlayerList)
{
GUILayout.Box(pl.PlayerName);
}
GUILayout.EndScrollView();
}
void OnServerInitialized()
{
NavigateTo("Lobby");
}
void OnConnectedToServer()
{
NavigateTo("Lobby");
}
}
And my Multiplayer Manager:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class MultiplayerManager : MonoBehaviour
{
public static MultiplayerManager instance;
public string PlayerName = "";
private string MatchName = "";
private string MatchPassword = "";
private int MatchMaxUsers = 32;
public List<MPPlayer> PlayerList = new List<MPPlayer>();
void Start()
{
instance = this;
PlayerName = PlayerPrefs.GetString("PlayerName");
}
public void StartServer(string servername, string serverpassword, int maxusers)
{
MatchName = servername;
MatchPassword = serverpassword;
MatchMaxUsers = maxusers;
Network.InitializeServer(MatchMaxUsers, 2550, false);
MasterServer.RegisterHost("DeathMatch", MatchName, "");
//Network.InitializeSecurity();
}
void OnServerInitialized()
{
Server_PlayerJoinRequest(PlayerName, Network.player);
}
void OnConnectedToServer()
{
networkView.RPC("Server_PlayerJoinRequest()", RPCMode.Server, PlayerName, Network.player );
}
void OnPlayerDisconnected(NetworkPlayer id)
{
networkView.RPC("Client_RemovePlayer()", RPCMode.All, id);
}
[RPC]
void Server_PlayerJoinRequest(string PlayerName, NetworkPlayer view)
{
networkView.RPC("Client_AddPlayerToList", RPCMode.All, PlayerName, view);
}
[RPC]
void Client_AddPlayerToList(string Playername, NetworkPlayer view)
{
MPPlayer tempplayer = new MPPlayer();
tempplayer.PlayerName = Playername;
tempplayer.PlayerNetwork = view;
PlayerList.Add(tempplayer);
}
[RPC]
void Client_RemovePlayer(NetworkPlayer view)
{
MPPlayer temppl = null;
foreach(MPPlayer pl in PlayerList)
{
if(pl.PlayerNetwork == view)
{
temppl = pl;
}
}
if(temppl != null)
{
PlayerList.Remove(temppl);
}
}
}
public class MPPlayer
{
public string PlayerName = "PlayerName";
public NetworkPlayer PlayerNetwork;
}
Thanks!
Comment
Best Answer
Answer by Edenspuzzle · Mar 04, 2013 at 01:37 AM
It's not just you, I haven't been able to connect my games since Wednesday. It appears that the Master Server used for testing is down or not available for some other reason.
Your answer
Follow this Question
Related Questions
Unity master server down? 0 Answers
Network.Connect() won't connect? 0 Answers
Upload Scene to Server? 1 Answer
Unity Master Server Connect to own Server won't work 0 Answers
Why I can't connect to server on my vps 2 Answers