Home

Awesome

wind

Wind是一款面向云的高性能、高效率以及高扩展性的分布式游戏服务器引擎框架。Wind利用Python语言的简洁语法以及丰富的生态库来提高游戏业务的开发效率,针对一些对性能有要求的游戏业务功能(如实时战斗功能),Wind利用Golang的高并发特性来保证服务的高性能,同时Wind使用kubernetes部署并接入云组件来保证服务在云上自动伸缩,有效的分配云上公共资源,提高服务资源的利用率,降低各区域游戏延时。

wind run

为什么存在

近年来,由于云游戏的发展以及游戏全球化(版号问题)的发展,各游戏开始出现了在全球各区域部署的需求,但是早前游戏服务器更多关注的是服务器内部的性能,对于服务器的分布式以及服务的云部署支持很弱,导致游戏服务上云很麻烦而且动态扩展性不强。因此Wind使用kubernetes部署并在服务层接入云组件来保证服务在云上的自动伸缩,有效的分配公有云在各地的资源,并根据各区域玩家情况动态伸缩服务,提高服务资源的利用率。

Wind特性

Wind安装获取

Wind默认在Windows平台下开发。Wind业务逻辑使用Python编写,Golang编译成动态库供Python调用,运行前需要安装Python版本,支持Python3.7+。

Wind使用etcd做服务发现功能,使用nats做分布式消息队列,所以需要安装对应Python客户端库。在script目录下运行 install_python_requirements.bat 安装对应Python库。

git clone <https://github.com/ferris1/wind.git>

script目录下双击运行start_gateway.bat 文件,启动gateway服务

启动分布式服务时需要保证运行etcd服和nats服,具体运行参考官网,要不然各个服务不能合作运行。

script目录下运行 start_all.bat 启动所有服务,目前只有两类服务,一个是Gateway服务,用于消息路由,一个是Game服务,用于处理游戏逻辑。最终分布式服务框架可以根据游戏业务自己定制,具体可以参考这篇文章从服务器发展史看现代游戏服务器架构

文档

使用文档

使用案例

Unity3D案例视频 Unity3D案例文档 Unity3D案例代码