Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Network programming Unity在断开连接时更改服务器_Network Programming_Unity3d - Fatal编程技术网

Network programming Unity在断开连接时更改服务器

Network programming Unity在断开连接时更改服务器,network-programming,unity3d,Network Programming,Unity3d,我要在Unity做一个合作游戏。它被设计成可直接进入/退出。目前有一个玩家是服务器。虽然我想知道,在当前服务器断开连接的情况下,是否可以更改被认为是服务器的播放器 我不知道该怎么称呼它,所以我的谷歌搜索结果一无所获 谢谢 这就是所谓的“主机迁移”,它有点高级。您需要做的是在旧服务器退出时初始化新服务器,当您需要与其他玩家建立连接并使对象保留时,问题就会出现 我要做的是为每个玩家制作一个完全相同的列表,这意味着当一个玩家断开连接时,他们应该加入队列中的下一个服务器,但只有在等待一段时间后,5-10

我要在Unity做一个合作游戏。它被设计成可直接进入/退出。目前有一个玩家是服务器。虽然我想知道,在当前服务器断开连接的情况下,是否可以更改被认为是服务器的播放器

我不知道该怎么称呼它,所以我的谷歌搜索结果一无所获

谢谢

这就是所谓的“主机迁移”,它有点高级。您需要做的是在旧服务器退出时初始化新服务器,当您需要与其他玩家建立连接并使对象保留时,问题就会出现

我要做的是为每个玩家制作一个完全相同的列表,这意味着当一个玩家断开连接时,他们应该加入队列中的下一个服务器,但只有在等待一段时间后,5-10秒应该足够长,可能更短。然后,您需要重新创建网络实例化对象,因为当主机断开连接时,客户端明显断开连接,导致所有网络实例化对象被破坏,因此需要重新创建它们。通常不需要重新制作很多对象,可能是AI和玩家,AI是可选的。我的建议是将球员信息、健康状况、位置、轮换等存储在你的级别/网络管理器中(如果你有)


如果你想要一个更简单的方法,光子云网络总是可以为你做到这一点,只是它是有代价的。

你可以尝试用谷歌搜索对等2-peer多人游戏,如果你仍然想让一个玩家成为服务器,也许你可以找到一些中间的方法