C# All of my GUI's won't display

Title

My script is:

public class ConnectionScript1 : MonoBehaviour {

private string serverName = "" , maxPlayers = "0" , port = "";
private Rect windowRect = new Rect(0, 0, 400, 400);

void OnGui (){
windowRect = GUI.Window(0, windowRect, windowServers, "Servers");
if (Network.peerType == NetworkPeerType.Disconnected)
	{
		GUILayout.Label("Server Name");
		serverName = GUILayout.TextField(serverName);
		
		GUILayout.Label("Port");
		port = GUILayout.TextField(port);
			
		GUILayout.Label("Max Players");
		maxPlayers = GUILayout.TextField(maxPlayers);
			
		if (GUILayout.Button("Create Server"))
		{
		try
			{
			Network.InitializeSecurity();
			Network.InitializeServer(int.Parse(maxPlayers), int.Parse (port), !Network.HavePublicAddress());
			MasterServer.RegisterHost("Testing Game FPS Unmeshed 1231", serverName);
			}
		catch(Exception)
			{
			print ("Please type in numbers for port and players");
			}
		}
	}
else
	{
	if (GUILayout.Button("Disconnect"))
		{
		Network.Disconnect();
		}
	}
}

void windowServers (int id){

	if (GUILayout.Button ("Refresh"))
		{
		MasterServer.RequestHostList("Testing Game FPS Unmeshed 1231");
		}
	GUILayout.BeginHorizontal();
	
	GUILayout.Box ("Server Name");
	
	GUILayout.EndHorizontal();
	
	if(MasterServer.PollHostList().Length != 0)
	{
		HostData[] data = MasterServer.PollHostList();
		foreach(HostData c in data)
		{	
			GUILayout.BeginHorizontal();
			GUILayout.Box(c.gameName);
			if (GUILayout.Button("Connect"))
			{
				Network.Connect(c);
			}
			GUILayout.EndHorizontal();
		}
	}
	
}

}

You must write your function name like this function OnGUI() not function OnGui()