Servers and ip address

So here is my code
using UnityEngine;
using System.Collections;

public class NetworkManager2 : MonoBehaviour {
	public static NetworkManager2 Instance;

	// Use this for initialization
	void Start () {
		Instance = this;
		DontDestroyOnLoad (gameObject);
	public void StartServer(int MaxPlayers, int Port, string ServerName, string IpAdress){
		Network.InitializeSecurity ();
		Network.InitializeServer (MaxPlayers, Port, true);
		MasterServer.RegisterHost ("Ap", ServerName,"");
		MasterServer.port = Port;
		MasterServer.ipAddress = IpAdress;
		Debug.Log (MasterServer.ipAddress + ":" + MasterServer.port);
	void OnConnectedToServer() {
		Debug.Log("Connected to server");


Now when I run this code I get the error: Failed to connect to master server at XXX:25565
xxx is where my ipaddress is! so I was wondering is there something wrong with the code or have I port forwarded wrong? I have it so the player can write in his ip and port but do they get the port from or from their ipv4 and then port forward their port! Or do I have to use a unity server (i want them to be running the server on their pcs not unity) I also don’t have pro and am not using the -batch thingy!

First thing off, you actually call StartServer, don’t you?

I personally haven’t used MasterServer, but from what I see you try to MasterServer.RegisterHost before you actually specify, what the ip and port of the server are. I don’t think these credentials are anyhow hardcoded into Unity, so try:

MasterServer.port = <insert master servers port here>;
MasterServer.ipAddress = <insert master servers ip here>;
MasterServer.RegisterHost ("Ap", ServerName,"");

By the way, I guess you want to pass MasterServer class not your own credentials, but tell your machine how to connect to MasterServer, so you have to pass MasterServers ip and adress.

I hope it helps.