Вот эти два скрипта (не считая стандартных CharacterController'ов)
var remoteIP = "127.0.0.1";
var remotePort = 25000;
var listenPort = 25000;
var useNAT = false;
var yourIP = "";
var yourPort = "";
function OnGUI () {
if (Network.peerType == NetworkPeerType.Disconnected){
if (GUI.Button (new Rect(10,10,100,30),"Connect")){
Network.useNat = useNAT;
Network.Connect(remoteIP, remotePort);
}
if (GUI.Button (new Rect(10,50,100,30),"Start Server")){
Network.useNat = useNAT;
// Создание Сервера
Network.InitializeServer(32, listenPort);
// Сказать нашим объектам, что уровень и сеть готова к работе
for (var go : GameObject in FindObjectsOfType(GameObject))
{
go.SendMessage("OnNetworkLoadedLevel",SendMessageOptions.DontRequireReceiver);
}
}
// Создаем поля ip адрес и port
remoteIP = GUI.TextField(new Rect(120,10,100,20),remoteIP);
remotePort = parseInt(GUI.TextField(new
Rect(230,10,40,20),remotePort.ToString()));
}
else
{
// Получаем твой ip адрес и port
ipaddress = Network.player.ipAddress;
port = Network.player.port.ToString();
GUI.Label(new Rect(140,20,250,40),"IP Adress: "+ipaddress+":"+port);
if (GUI.Button (new Rect(10,10,100,50),"Disconnect"))
{
// Отключение от Сервера
Network.Disconnect(200);
}
}
}
function OnConnectedToServer () {
// Сказать всем объектам что сцена и сеть готовы
for (var go : GameObject in FindObjectsOfType(GameObject))
go.SendMessage("OnNetworkLoadedLevel",SendMessageOptions.DontRequireReceiver);
}var PlayerPrefab : GameObject;
var MinePlayer : GameObject;
function OnNetworkLoadedLevel () {
MinePlayer = Network.Instantiate(PlayerPrefab, transform.position, transform.rotation, 0);
}
function OnPlayerDisconnected (player : NetworkPlayer) {
Network.RemoveRPCs(player, 0);
Network.DestroyPlayerObjects(player);
}