多个戈多服务器大厅



目前我正在开发带有专用服务器的 Godot 驱动的多人游戏。 一个大厅包含一定数量的玩家(假设 4 个(。目标是创建新的服务器实例 每次新玩家试图找到游戏时。我想过在不同的端口创建一个新的服务器实例,但这似乎是一个肮脏的解决方案。我还考虑过只用一个实例来计算每个玩家,并通过 id 将他们分配给游戏。似乎也很脏。 我对网络或常见的托管技巧没有太多了解,所以我愿意接受任何建议。 多谢!

Psry 为我糟糕的英语:p

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

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

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

或者,你可以研究像 Kubernetes 这样的解决方案,但对于那些还没有玩过容器和 DevOps 的人来说,学习曲线可能会很陡峭。

最新更新