创建私有 "rooms"?

Creating private "rooms"?

我正在尝试了解如何为 MasterServer 上的各个房间设置密码。 hostData 上有一个方法 passwordProtectedMasterServer 返回,但我不知道如何设置。

我可以在注册服务器时使用 commentgamename 游戏,因为无论如何我都不会使用它们,但感觉不对。

如果无法为单个房间设置密码,那么我该如何为想要独处的人创建私人房间?

设置密码

密码不会发送到主服务器,密码是使用 Network.incomingPassword 属性.

在游戏服务器本地设置的

Network.InitializeServer

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void LaunchServer() {
        Network.incomingPassword = "HolyMoly";
        bool useNat = !Network.HavePublicAddress();
        Network.InitializeServer(32, 25000, useNat);
    }
}

然后客户端连接时,在Network.connect方法中传入密码。有关更多与网络相关的内容,请参阅 Network class。它有很好的记录。

在私人房间...

请注意,在一台服务器上拥有多个 "room" 将不会很好地工作。您的客户端和服务器在连接时必须在同一场景中,否则会发生不好的事情。这里的想法是您有一个或多个 "hosts" 创建他们的私人房间。每个房间都在主服务器上单独注册。它们都是相同的游戏代码,但它们是人们可以连接的独立服务器。此结构还允许您使用内置的 Network.incomingPassword 字段对您的房间进行密码保护。