确定玩家是主机还是客户端

kmf*_*kmf 3 networking multiplayer unity-game-engine

我想为服务器的字符以及客户端的字符分配特定的信息。现在,我怎么知道玩家是主机还是客户端?我尝试使用isServerisClient,但它们都返回 true。这些是我应该使用的正确关键字吗?

void Update () {
        if(isServer){
            Debug.Log("I'm the server");
        }

        if(isClient){
            Debug.Log("I'm the client");
        }
}
Run Code Online (Sandbox Code Playgroud)

Sve*_*sen 5

如果您作为“主机”进行连接,则实际上您同时是“客户端”和“服务器”。这与运行“专用服务器”形成对比,“专用服务器”充当服务器权限,但不代表“客户端”连接。就像您在自己的答案中建议的那样,您可以使用isServerand !isServer,或者可能:

void Update() {
    if (isServer) {
        Debug.Log("I'm the server (or host)");
    } else {
        Debug.Log("I'm the client");
    }
}
Run Code Online (Sandbox Code Playgroud)