APP下载

Google开源用于游戏服务器沟通的UDP代理Quilkin

消息来源:baojiabao.com 作者: 发布时间:2024-10-11

报价宝综合消息Google开源用于游戏服务器沟通的UDP代理Quilkin

Google开源新专案Quilkin,这是与游戏公司Embark Studios合作开发的UDP代理,以支援高效能即时多人游戏。Quilkin将原本单体式游戏服务器与客户端中的安全、存取控制、遥测和指标分离出来,让开发者以组合和配置的方式,提供这些通用功能,并在各种多人游戏中重复使用。

Google解释,传统的作法,即时多人游戏的专用游戏服务器,使用特别的UDP协定,提供游戏内玩家间的通讯,并且与服务器同步资讯,这种通讯通常捆绑在单体游戏服务器和客户端中,并且结合安全性、控制存取、物理模拟、人工智能计算等功能。在快节奏的多人游戏中,游戏对话的完整模拟,通常发生在单体专用游戏服务器的内存,由于游戏状态都在内存中,因此每个客户端都直接连接到游戏服务器,但这带来几个问题。

由于专用游戏服务器都是单点故障,因此故障出现,则整个游戏对话都会失败,而这成了恶意攻击者的攻击目标,而且连接到游戏服务器的IP和埠口都是公开的,直接暴露给游戏客户端,因此容易让外部发现而遭到锁定。另外,游戏服务器模拟和网络通讯等部分都在同一程序中,难以重用和模组化,同时增加效能问题风险。

不过这些问题,可以在多人UDP流量中部署代理服务器来解决,包括透过提供冗余通讯入口点,来提升可靠度,让UDP资料封包同时发送到任意数量的代理,再路由到游戏服务器,当游戏服务器出现单点故障的时候,代理能够改善通讯层的冗余和故障转移来解决。

增加代理也提升了安全性,游戏专用服务器的IP和埠口不需要公开,游戏客户端只能看到代理池子集,因此限制了潜在的攻击面,而且使用代理也能获得足够的扩展性,透过分解单体程序,将通讯协定、指标、通讯安全和存取控制等各功能,转移到代理中,让游戏服务器能够在运算循环中,删除非游戏的运算。

Google提到,目前这些功能,都只有大型游戏工作室可以采用,因为这些工作室才有资源,建构专属于自己的技术。而Google与Embark Studios共同建立的Quilkin,提供了标准开源解决方案,让开发者可用于部署大型多人专用游戏服务器,获得安全性、存取控制、遥测资料和指标等功能。

Quilkin非透明代理设计,让恶意攻击者不容易探查游戏架构的内部状态,但其提供用户极高的可见度,有一组搭配使用的处理过滤器,能够用于监控路由、存取控制和速率限制等。开发者可以将Quilkin用作独立的二进制档案,不需要变更客户端和服务器即可使用,或是也可以当作Rust函式库,Google提到,使用方式取决于用户要进行多深的系统整合。

2021-07-19 19:47:00

相关文章