游戏服务器框架 gonet

码农软件 · 软件分类 · 游戏开发包 · 2019-10-05 10:28:47

软件介绍

A game server skeleton implemented with golang.

部署:

  • Game Server(GS):
    玩家直接连接GS, 处理玩家逻辑,并与 HUB/SS 通信,GS存在若干个。

  • Hub Server(HUB):
    若干个GS 连接到一个HUB, 只存在一个HUB,维护基础的全局信息,以及 GS<--->GS 的消息转发.

  • Stats Server(SS):
    统计服务器,根据玩家的行为,记录策划需要的数据,以便于后期统计。
    统计属于事后分析,数据量较大,性能需求不同, 故单独列为一个服务器。

通信原则:

  1. GS到HUB/SS的通信,都是Call同步调用,即GS必须等待ACK。

  2. HUB到GS的通信,只有forward数据包。

  3. 单播消息在玩家离线时会存入db, 登录后的启动过程 GS 直接读取db,并forward给玩家goroutine。(持久化)

  4. 多播消息会发送给所有的在线玩家(非持久化)

  5. 广播消息会发送给所有的在线玩家(非持久化)

服务器状态一致性

  1. GS节点可以单独重启

  2. HUB 重启后,GS必须全部重启

  3. SS 可随意重启,不影响业务

安装先决条件:

  1. 确保安装好bzr, graphviz, gawk

  2. 确保安装好mongodb

  3. 确保config.ini中的mongo_xxxx配置正确

  4. export GOPATH='当前目录'

安装:

  • xtaci@ubuntu:~$ git clone https://github.com/xtaci/gonet

  • xtaci@ubuntu:~$ cd gonet

  • xtaci@ubuntu:~/gonet$ export GOPATH=~/gonet

  • xtaci@ubuntu:~/gonet$ go get labix.org/v2/mgo

  • xtaci@ubuntu:~/gonet$ make

  • xtaci@ubuntu:~/gonet$ ./start-test.sh

本文地址:https://codercto.com/soft/d/16078.html

成功由我

成功由我

刘世英、彭征 / 湖南人民出版社 / 2010-2 / 28.00元

《成功由我:李彦宏快乐成功之道》讲述:他,18岁高分考入北京大学,毕业后到美国名校学习最热门的计算机专业,然后闯荡于华尔街和硅谷这两大金融和技术圣地,31岁回国创立百度……到如今身价数十亿美元,领导的百度发展成为全球第二大搜索引擎,在国内搜索市场占据近八成的市场份额,将有“上帝”之称的Google抛在身后,最近他又掀起了“框计算”风暴,并雄心万丈宣称“未来十年,要让百度在全球一半以上国家成为家喻户......一起来看看 《成功由我》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试