文章图片
出品|开源中国
文|Travis
传统上 , 实时多人游戏的专用游戏服务器会使用定制的 UDP 协议 , 用于游戏内玩家之间的通信和游戏同步 。 这种通信通常被捆绑在单体式游戏服务器和客户端中 , 并将通信协议的技术功能(如自定义的网络物理同步、安全、访问控制、遥测和指标)与物理模拟、AI 计算等计算要求极高的功能相结合 。
在快节奏的多人游戏中 , 一段游戏的完整模拟通常发生在一个单体的专用游戏服务器的内存中 , 其职责涵盖了从网络物理学、AI 模拟 , 以及客户端与服务器通信等方方面面 。 由于整个游戏的状态是内存常驻的 , 每个客户端都直接连接到玩家正在玩的专用游戏服务器 , 这就带来了一些挑战 。
- 每个专用游戏服务器都是单点故障 。 如果它发生故障 , 那么整个游戏会话都会产生错误 , 这使得它容易成为攻击者的目标;
- 连接到游戏服务器的 IP 和端口是公开的 , 并暴露给游戏客户端 , 使其很容易被攻击者发现并锁定目标;
- 游戏服务器模拟和网络通信的多个方面被紧密地耦合在同一个过程中 , 使得重用和模块化更加困难 , 并扩大了性能问题的风险 。
通过在低延迟网络中的专用游戏服务器前使用多人 UDP 流量代理 , 我们可以解决以下这些关键挑战:
- 更高的可靠性:代理提供了冗余的通信入口点 , UDP 数据包可以被发送到任何数量的代理 , 并被路由到专用游戏服务器 。 虽然专用游戏服务器通常仍然存在单点故障 , 但代理提高了通信层的冗余度和潜在的故障转移;
- 【国企|Google 开源非透明 UDP 代理 —— Quilkin】更高的安全性:专用游戏服务器的 IP 和端口不再是公开的 , 游戏客户端只能看到代理池的一个子集;
- 更好的可扩展性:可以将通信协议、指标、通信安全和访问控制的各个方面移到代理中 , 这就把非游戏的具体计算从你的游戏服务器的处理中剥离出来;
Quilkin 是一个 UDP 代理 , 由 Google 与 Embark Studio 合作开发 , 为高性能的实时多人游戏量身定做 , 以提供一个标准的、开源的解决方案 。 其目的有两个方面:
- 将安全、访问控制、遥测和指标等通用功能从单一的专用游戏服务器和客户端中剥离出来;
- 以一种可组合和可配置的方式提供上述这些通用功能 , 这样它就可以在广泛的多人游戏中重复使用 。
Quilkin 旨在用于游戏客户端后以及专用游戏服务器前 , 并提供以下主要优势:
- 混淆:对 UDP 数据进行非透明的代理 , 使你的游戏架构的内部状态不易被攻击者看到;
- 开箱即用:用于 UDP 数据包流量和通信;
- 可见性:一套可组合的处理过滤器 , 可应用于路由、访问控制、速率限制等方面;
- 灵活性:能够作为独立的二进制文件使用 , 不需要改变客户/服务器 , 也可以作为 Rust 库使用 , 这取决于你希望为你的系统和你希望建立的自定义处理过滤器进行多深层次的整合;
- 兼容性:如果需要 , 可以通过 Rust FFI 与现有的 C/C++ 代码库集成;
- 多种集成模式 , 允许你选择对你的架构和现有平台有意义的集成程度;
- Google|苹果和谷歌被意大利罚款1, 000万,因收集用户数据不透明
- 5G|Google Pixel 6用户曝5G上网讯号不稳定,外媒实测找出原因!
- Google|Web前端培训:为什么React在前端开发中如此流行?
- google glass|AR产业爆发前夜,这家公司想要打破AR显示技术天花板 | REAL 100
- Google|三星降价1700元,12+256GB+1亿像素,比华为Mate40pro值
- 国企|联想还是国企吗?背后实控人是谁?表决权占比说明了一切
- Google|任正非的教育观:从平凡到非凡,铁骨铮铮的孟晚舟是如何成长的?
- 小米科技|两家中国企业被针对,看完一组数据,美学者:终究还是失败了
- 阿里巴巴|Toit 编程语言现已开源
- 网络诈骗|业财、开源、SCRM ——最热TO B赛道上,85后掀起创业狂潮