我有多个游戏服务器,每个服务器运行单独的游戏实例,每个实例可容纳 20 名玩家。我想知道游戏服务器如何将玩家数量、服务器状态等信息发送到主服务器(主服务器将所有游戏服务器信息(如 IP、玩家数量)发送到客户端)。
答案1
这确实取决于游戏。没有通用的标准来做到这一点。
话虽如此,通常你会看到某种形式的心跳正在发送。通常是基本的 http 请求。有些游戏可能只是报告它们存在,其他游戏可能会发送所有相关状态数据,例如玩家数量、地图……
就拿《Mount & Blade: Warband》这个游戏来说吧,如果我没记错的话,服务器会定期通过http向主服务器上报基本信息。
此外,游戏服务器还包括一个 http 服务器。当玩家刷新服务器列表时,主服务器将告诉客户端存在哪些服务器,然后客户端向每个游戏服务器发送 http 请求。游戏服务器上的 http 服务器将返回有关它的信息(名称、地图、玩家数量……)