分享一个网络游戏服务器架构—HouHai
程序员文章站
2022-05-17 17:19:31
...
HouHai是一个开源的网络游戏的服务器端架构,它使用了开源的RPC中间件Tatala。(介绍)
HouHai下载地址
https://github.com/zijan/HouHai
现在,源代码只是一个草案,不能编译,为网游后台开发者提供一个参考。它是社交游戏《僵尸星球》客户端与服务器端网络通信的一部分代码。
《僵尸星球》是发布在腾讯QQ空间上的一款社交游戏。
(http://rc.qzone.qq.com/1101064313)
玩家可以在游戏里事实聊天和PK。客户端是基于Unity3D用C#编写。服务器端是Java。
HouHai采用最先进的非分区设计,理论上可承载的用户数是无限的,只要加足够多的机器。
等以后有时间会逐步完善这个架构,建立一个简单完整的例子。
设计思想:
在没有修改服务器系统设置的情况下,一台机器所能承载的最大连接数是有限制的,比如8000个。通常一个服务器就代表了一个“区”,即保持了所以的用户连接又包含了游戏逻辑,一般情况下各个区之间的玩家是不通信的。非分区设计就是,把保持用户连接的功能从包含游戏逻辑的服务器中分离,单独做成多个连接服务器的并联(看HouHai里的Gateway就是连接服务器),它只保持玩家的网络连接,不包含游戏逻辑,负责传递客户端与游戏逻辑服务器(HouHai里的Longin和Lobby)的通信。这样不需要玩家选择游戏分区,所有玩家可以互相通信,只要加足够多的连接服务器,就能承载足够多的用户。
HouHai下载地址
https://github.com/zijan/HouHai
现在,源代码只是一个草案,不能编译,为网游后台开发者提供一个参考。它是社交游戏《僵尸星球》客户端与服务器端网络通信的一部分代码。
《僵尸星球》是发布在腾讯QQ空间上的一款社交游戏。
(http://rc.qzone.qq.com/1101064313)
玩家可以在游戏里事实聊天和PK。客户端是基于Unity3D用C#编写。服务器端是Java。
HouHai采用最先进的非分区设计,理论上可承载的用户数是无限的,只要加足够多的机器。
等以后有时间会逐步完善这个架构,建立一个简单完整的例子。
设计思想:
在没有修改服务器系统设置的情况下,一台机器所能承载的最大连接数是有限制的,比如8000个。通常一个服务器就代表了一个“区”,即保持了所以的用户连接又包含了游戏逻辑,一般情况下各个区之间的玩家是不通信的。非分区设计就是,把保持用户连接的功能从包含游戏逻辑的服务器中分离,单独做成多个连接服务器的并联(看HouHai里的Gateway就是连接服务器),它只保持玩家的网络连接,不包含游戏逻辑,负责传递客户端与游戏逻辑服务器(HouHai里的Longin和Lobby)的通信。这样不需要玩家选择游戏分区,所有玩家可以互相通信,只要加足够多的连接服务器,就能承载足够多的用户。
推荐阅读
-
Shell脚本实现的一个简易Web服务器例子分享
-
一个简洁的全自动安装LNMP服务器环境的Shell脚本分享
-
Linux下一个智能重启Apache服务器的脚本分享
-
搭建一个大型网站架构的实验环境(Squid缓存服务器篇)第1/2页
-
准备总结一下Linux服务器运维使用经验,写一个系列文章分享下
-
准备总结一下Linux服务器运维使用经验,写一个系列文章分享下
-
一个高可扩展的基于非阻塞IO的服务器架构 框架javasocket工作编程
-
tomcat组件图解 一个web服务器的架构演化史
-
阿里P8级架构师老毕呕心沥血熬夜一个星期又又又又又出新分享SpringBoot文档
-
一个阿里架构师十年的从业总结:比起掉发,我更怕掉队(文末福利分享)