Networking 多个Godot服务器lobby

Networking 多个Godot服务器lobby,networking,server,multiplayer,godot,Networking,Server,Multiplayer,Godot,目前我正在开发一款godot驱动的多人游戏,配有专用服务器。 一个大厅包含一定数量的玩家(比如说4名)。目标是创建一个新的服务器实例 每次新玩家尝试寻找游戏时。我曾考虑在不同的端口创建一个新的服务器实例,但这似乎是一个肮脏的解决方案。我还考虑过只使用一个实例来计算每个玩家,并根据id将他们分配到游戏中。这看起来也很肮脏。 我对网络或常见的托管技巧都不太了解,所以我愿意听取任何建议。 非常感谢 为我糟糕的英语而写的sry:p 我曾考虑在不同的端口创建一个新的服务器实例,但这似乎是一个肮脏的解决方案

目前我正在开发一款godot驱动的多人游戏,配有专用服务器。 一个大厅包含一定数量的玩家(比如说4名)。目标是创建一个新的服务器实例 每次新玩家尝试寻找游戏时。我曾考虑在不同的端口创建一个新的服务器实例,但这似乎是一个肮脏的解决方案。我还考虑过只使用一个实例来计算每个玩家,并根据id将他们分配到游戏中。这看起来也很肮脏。 我对网络或常见的托管技巧都不太了解,所以我愿意听取任何建议。 非常感谢

为我糟糕的英语而写的sry:p

我曾考虑在不同的端口创建一个新的服务器实例,但这似乎是一个肮脏的解决方案

一开始,这似乎是一个糟糕的解决方案,但实际上它在实践中非常常见,并且可以很好地工作。为了在固定数量的服务器上实现这一点,您可以编写一个shell脚本来启动和控制N个服务器实例。Godot专用服务器需要相对较少的RAM,因此只要您有4GB或更多的RAM,这应该是一个可行的解决方案。当然,CPU速度越快,RAM越多,在给定机器上运行的实例就越多

但是,如果您需要随着流量的增加而扩展服务器的数量,那么它可能会涉及更多的内容。您可以设置一个RESTAPI,在查询新的服务器实例时启动它,但是您需要保护它,这样单个客户机就不会请求太多的服务器,从而使一切都变慢或崩溃。一旦所有客户端离开服务器,服务器程序将需要修改以关闭。您还需要以某种方式限制在给定时间可以运行的最大实例数

或者,您可以研究解决方案,例如,但对于尚未使用容器和DevOp的人来说,学习曲线可能很陡峭