Relay 服务器
Relay 服务允许玩家彼此通过 Relay 服务器通信,因而无需专用游戏服务器即可实现多玩家支持。Relay 服务器通过游戏客户端之间的低延迟数据报交换来实现在互联玩家之间的消息传递,因此,两个玩家之间并不直接连接。Relay 服务器非常适用于采用侦听服务器模式的游戏,该模式下由一个玩家(主机玩家)充当“服务器”,其他玩家(加入玩家)充当“客户端”。
Relay 服务器相当于所有玩家均可访问的公共终端。此设计可解决网络和 IP 地址、网络地址转换 (NAT) 以及玩家之间的防火墙更改等常见问题。每个玩家均可连接到相同的 IP 地址和端口(所选 Relay 服务器的 IP 地址和端口),游戏客户端会在整个游戏会话中信任该连接信息保持不变。通过这种间接连接,游戏会话中的玩家无需获知彼此的 IP 地址,因此提高了安全性和隐私度。
容量
主机玩家的游戏客户端在创建分配时定义了游戏会话支持的最大玩家数量。
Relay 服务器生命周期
Relay 服务器设计为长期运行的多租户连接点。因此,Relay 服务器生命周期不依赖于游戏会话生命周期。
Relay 服务器会在玩家连接超时的情况下断开与该玩家的连接。Relay 断开与客户端连接前的默认生存时间 (TTL) 为 10 秒。主机处于独立状态时(BIND
消息后,但在对端使用 CONNECT
进行连接之前),断开连接前的 TTL 为 60 秒。为防止发生意外超时,游戏客户端可以定期向 Relay 服务器发送 PING
消息,以便保持连接活动状态。