监控配置变量更改

注意:本页上的内容适用于 Unity Cloud 后台中的 Multiplay Hosting。如果您使用 Clanforge,请参阅 Clanforge 文档

每个游戏服务器版本都必须监控 server.json 文件以便掌握配置变量的更改情况。例如,当您分配服务器实例时,IP 地址、端口编号和游戏模式可能包含与上次分配不同的值。

监控分配 ID 更改

每个游戏服务器实例都必须通过监控 server.json 文件中的 allocatedID 配置变量值,来检测自身的分配 ID。每次分配或取消分配服务器实例时,allocatedID 变量值都会更改。此外,游戏服务器版本还会监控 server.json 文件来检测自身的分配状态和分配 ID。

注意:服务器的启动和停止操作不会影响服务器实例的分配状态,也不会影响分配 ID。

容器版本

如果使用容器版本,则 server.json 文件已经位于容器中。可以通过查看容器的 home 环境变量找到该 server.json 文件的位置。

  • 对于 Linux 容器,该文件位于 $HOME 环境变量中。
  • 对于 Windows 容器,该文件位于 $HOMEPATH 环境变量中。

最佳实践

推荐采用哪种方法来监控对 server.json 文件的更改,取决于制作游戏时使用的游戏引擎。

游戏引擎最佳实践
Unity 引擎适用于 Unity 的 Game Server SDK
Unreal 引擎适用于 Unreal 的 Game Server SDK
自定义引擎inotify

Unity 引擎

如果您的游戏是使用 Unity 制作的,则推荐使用 Game Server SDK 来监控配置变量更改。

Unreal 引擎

如果您的游戏是使用 Unreal 引擎构建的,则推荐使用游戏服务器 SDK 来监控配置变量更改。

自定义引擎

如果您使用的是自定义游戏引擎,则推荐使用 inotify 来检测 CLOSE_WRITE 事件。要直观地了解 CLOSE_WRITE 事件,请清月以下 inotify 日志示例。

MODIFY server.json
OPEN server.json
OPEN server.json
CLOSE_NOWRITE,CLOSE server.json
MODIFY server.json
CLOSE_WRITE,CLOSE server.json
OPEN server.json
ACCESS server.json
CLOSE_NOWRITE,CLOSE server.json