NullReferenceException

Hey everyone, recently I have been getting these two Errors and I don’t know how to solve them,

ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
System.Collections.Generic.List`1[UnityEngine.Mesh].get_Item (Int32 index) (at /Applications/buildAgent/work/3df08680c6f85295/mcs/class/corlib/System.Collections.Generic/List.cs:633)
Main.BuildData ()
Main.OnEnable ()
UnityEngine.Network:Instantiate(Object, Vector3, Quaternion, Int32)
MultiplayerManager:ClientAddPlayerToList(String, NetworkPlayer) (at Assets/Scripts/MultiplayerManager.cs:83)
UnityEngine.NetworkView:RPC(String, RPCMode, Object[])
MultiplayerManager:ServerPlayerJoinRequest(String, NetworkPlayer) (at Assets/Scripts/MultiplayerManager.cs:68)
MultiplayerManager:OnServerInitialized() (at Assets/Scripts/MultiplayerManager.cs:44)
UnityEngine.Network:InitializeServer(Int32, Int32, Boolean)
MultiplayerManager:StartServer(String, String, Int32) (at Assets/Scripts/MultiplayerManager.cs:38)
MenuManager:Main_Host() (at Assets/Scripts/MenuManager.cs:94)
MenuManager:OnGUI() (at Assets/Scripts/MenuManager.cs:33) 

and

NullReferenceException
UnityEngine.Mesh.get_bounds () (at C:/BuildAgent/work/a0f11f3559d72c6d/Runtime/ExportGenerated/Editor/Graphics.cs:971)
Main.BuildData ()
Main.OnEnable ()
UnityEngine.Network:Instantiate(Object, Vector3, Quaternion, Int32)
MultiplayerManager:ClientAddPlayerToList(String, NetworkPlayer) (at Assets/Scripts/MultiplayerManager.cs:83)
UnityEngine.NetworkView:RPC(String, RPCMode, Object[])
MultiplayerManager:ServerPlayerJoinRequest(String, NetworkPlayer) (at Assets/Scripts/MultiplayerManager.cs:68)
MultiplayerManager:OnServerInitialized() (at Assets/Scripts/MultiplayerManager.cs:44)
UnityEngine.Network:InitializeServer(Int32, Int32, Boolean)
MultiplayerManager:StartServer(String, String, Int32) (at Assets/Scripts/MultiplayerManager.cs:38)
MenuManager:Main_Host() (at Assets/Scripts/MenuManager.cs:94)
MenuManager:OnGUI() (at Assets/Scripts/MenuManager.cs:33)

Here is the code that contains the instantiate command mentioned in the error.

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class MultiplayerManager : MonoBehaviour
{
	public static MultiplayerManager instance;
	public string PlayerName;
	private string MatchName = "";
	private int MaxUsers = 32;
	private string MatchPassword = "";
	public int altprefix;
	public bool MatchStarted = false;
	public bool MatchedLoaded = false;
	
	public List<MpPlayer> PlayerList = new List<MpPlayer>();
	public List<RoomSettings> RoomSettings = new List<RoomSettings>();
	
	public RoomSettings Settings = null;
	
	public MpPlayer MyPlayer;
	public GameObject[] SpawnPoints;
	
	public GameObject PlayerManagerPrefab;
			
	void Start(){
		Application.targetFrameRate = 60;
		instance = this;
		PlayerName = PlayerPrefs.GetString("PlayerName");
		Settings = RoomSettings[0];
		DontDestroyOnLoad(gameObject);
	}
	
	public void StartServer(string Name, string Password, int MaxPlayers){
		MatchName = Name;
		MatchPassword = Password;
		MaxUsers = MaxPlayers;
		Network.InitializeServer(MaxPlayers,2550,true);
		MasterServer.RegisterHost("TDM",MatchName,"Comment");
		//Network.InitializeSecurity();
	}
	
	void OnServerInitialized(){
		ServerPlayerJoinRequest(PlayerName,Network.player);	
	}
	
	void OnConnectedToServer(){
		networkView.RPC("ServerPlayerJoinRequest",RPCMode.Server,PlayerName,Network.player);
	}
	
	void OnPlayerConnected(NetworkPlayer player) {
		foreach(MpPlayer pl in PlayerList){
			networkView.RPC("ClientAddPlayerToList",player,pl.PlayerName,pl.PlayerNetwork);	
		}
		networkView.RPC("Client_GetMatchSettings",player,Settings.MapLoadName,"","");	
	}
	
	void OnPlayerDisconnected(NetworkPlayer id){
		networkView.RPC("RemovePlayerToList",RPCMode.All,id);	
	}
	
	void OnDisconnectedFromServer(NetworkDisconnection info) {
		PlayerList.Clear();	
	}
	
	[RPC]
	void ServerPlayerJoinRequest(string PlayerName, NetworkPlayer View){
		networkView.RPC("ClientAddPlayerToList",RPCMode.All,PlayerName,View);
	}
	
	[RPC]
	void ClientAddPlayerToList(string PlayerName, NetworkPlayer View){
		
		
		if(Network.player == View){
			MpPlayer tempPlayer = new MpPlayer();
			MyPlayer = tempPlayer;
			
			tempPlayer.PlayerName = PlayerName;
			tempPlayer.PlayerNetwork = View;
			
			//GameObject Player = 
			GameObject Player = Network.Instantiate(PlayerManagerPrefab,Vector3.zero,Quaternion.identity,0) as GameObject;
			
			Player.GetComponent<PlayerManager>().thisPlayer = MyPlayer;
			
			PlayerList.Add(tempPlayer);
		}
	}
	
	[RPC]
	void RemovePlayerToList(NetworkPlayer View){
		MpPlayer temp = new MpPlayer();
		foreach(MpPlayer pl in PlayerList){
			if(pl.PlayerNetwork == View){
				temp = pl;	
			}
				
		}
		if(temp != null){
			PlayerList.Remove(temp);
			Network.Destroy(temp.PlayerManager.gameObject);
		}
			
	}
	
	[RPC]
	void Client_GetMatchSettings(string map, string mode,string others){
		Settings = GetMap(map);
	}
	
	public RoomSettings GetMap(string name){
		RoomSettings get = null;
		
		foreach(RoomSettings rs in RoomSettings){
			if(rs.MapLoadName == name){
				get = rs;
				break;
			}
		}
		
		return get;
	}
	
	[RPC]
	void Client_LoadMap(string map, int prefix){
		//Network.SetLevelPrefix(prefix);
		Application.LoadLevel(map);
	}
	
	void OnGUI(){
		if(!MyPlayer.PlayerIsAlive && MatchedLoaded)
			SpawnMenu();
		if(MyPlayer.PlayerIsAlive){
			if(GUILayout.Button("Suicide"))
				MyPlayer.PlayerManager.HandleBulletDamage(100);
		}
		
	}
	
	[RPC]
	void Server_SpawnPlayer(NetworkPlayer Player){
		int numberSpawn = Random.Range(0,SpawnPoints.Length);
		networkView.RPC("Client_SpawnPlayer",RPCMode.All,Player,SpawnPoints[numberSpawn].transform.position,SpawnPoints[numberSpawn].transform.rotation);	
	}
	[RPC]
	void Client_SpawnPlayer(NetworkPlayer Player, Vector3 Pos, Quaternion Rot){
		MultiplayerManager.GetMPPlayer(Player).PlayerIsAlive = true;
		if(Player == MyPlayer.PlayerNetwork){
			MyPlayer.PlayerManager.ControllerTranform.position = Pos;
			MyPlayer.PlayerManager.ControllerTranform.rotation = Rot;
			MyPlayer.PlayerManager.networkView.RPC("Client_ImAlive",RPCMode.All);
	//	}else{
				
		}
	}
	
	void OnLevelWasLoaded(){
		MatchedLoaded = true;
		if(Application.loadedLevelName == Settings.MapName && Network.isServer){
			SpawnPoints = GameObject.FindGameObjectsWithTag("SpawnPoint");	
			networkView.RPC("Client_ServerLoaded",RPCMode.AllBuffered);
		}
	}	
	
	[RPC]
	void Client_ServerLoaded(){
		MatchStarted = true;	
	}
	
	public static MpPlayer GetMPPlayer(NetworkPlayer Player){
		foreach(MpPlayer pl in MultiplayerManager.instance.PlayerList){
			if(pl.PlayerNetwork == Player)
				return pl;
		}
		return null;
	}
	
	void SpawnMenu(){
		
			if(GUI.Button(new Rect(5,Screen.height-40,250,35),"Spawn"))
			{
				if(Network.isServer)
					Server_SpawnPlayer(Network.player);
				else
					networkView.RPC("Server_SpawnPlayer",RPCMode.Server,Network.player);	
			}
		}
	
}
[System.Serializable]
public class MpPlayer {
	public string PlayerName = "";
	public NetworkPlayer PlayerNetwork;
	public PlayerManager PlayerManager;
	public int PlayerHealth = 100;
	public bool PlayerIsAlive;
	public int PlayerKills;
	public int PlayerDeaths;
}
[System.Serializable]
public class RoomSettings{
	public string MapName;
	public string MapLoadName;
	
}

Never Mind People!