![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
游戏后端
文章平均质量分 90
nmsoccer
没有后台的后台
https://github.com/nmsoccer
展开
-
SGAME:一个简单的go游戏服务端框架
SGame是一个由GO实现的游戏服务端框架。主要的考虑是看中GO的有趣且高效的开发速度和丰富的库资源。同时尽量用官方提供的标准库,尽量减少杂七杂八的依赖。博文后面再慢慢更,这里先放一下git地址:https://github.com/nmsoccer/sgame...原创 2020-08-04 21:29:23 · 2533 阅读 · 1 评论 -
SGame 连接选项
连接选项conn_serv.tmpl模板包含一些连接配置,这里将主要的进行说明:{ "logic_serv":$logic_serv, "log_file":"conn_serv.log", "max_conn":10000, "listen_addr":"$listen_addr", "manage_addr":["$m_addr"], "zlib_on":1, "valid_conn":1, "enc_type":3, "rsa_pub_key_file":原创 2020-09-16 17:23:43 · 432 阅读 · 0 评论 -
SGame 页面管理
SGame框架提供了一个页面管理工具,用来实时的监控和对运行时进程提供一些通用指令管理进程manager_serv是框架的管理进程代码位于sgame/servers/manager_serv目录下tree sgame/servers/manage_serv/sgame/servers/manage_serv/|-- html_tmpl| |-- detail.html| |-- index.html| `-- login.html|-- lib| |-- bas.原创 2020-08-14 22:01:04 · 646 阅读 · 0 评论 -
SGame 简单客户端
在sgame\client目录下提供了一个game_cli.go,提供了简单的功能,包括注册、登陆和登出说明首先进入client目录,然后编译之:go build game_cli.go; ./game_cli ./game_cli -h -a string server ip (default "127.0.0.1") -c string cmd -h show help -k int keepalive seconds原创 2020-08-14 21:02:18 · 2105 阅读 · 0 评论 -
SGame 多种语言接入
多语言接入 sgame/lib/net/ 目录里提供了与SGAME连接服务器的协议封装库文件,目前包括GO,C,JAVA三种,主要是对符合SGAME传输协议的数据进行打解包操作 net_pkg.go 以GO进行封装的API接口 net_pkg.c.api 以C封装的API接口,使用时需重命名为net_pkg.c net_pkg.java.api 以JAVA封装的API接口,使用时需重命名为net_pkg.java sgame/client/ 目录提供了上述几种语言编写的简单客户端原创 2020-08-14 21:01:20 · 1059 阅读 · 0 评论 -
SGame 新加进程(2)
构建代码在建立了底层通信之后,只需要写disp_serv上层业务逻辑即可,我们在sgame/servers/目录下新建一个disp_serv和disp_serv/lib目录如下:|-- disp_serv| `-- lib拷贝connect_serv目录下的connect_serv.go到disp_serv/并改名为disp_serv.go。 拷贝connect_serv/lib/目录下的base.go,hearbeat.go,recv_msg.go,report.go,send_m原创 2020-08-14 20:00:27 · 258 阅读 · 0 评论 -
SGame 新加进程(1)
这里以disp_serv为例来说明新建一个进程所需的代码结构和相关配置通信配置首先我们需要将新的进程加入proc_bridge的通信链路中.打开sgame/proc_bridge/sgame/bridge.cfg,新加一组disp_serv进程 我们为disp_serv组的两个进程分别分配了proc_id:40001和40002,并让其委托进程分别监听于11000,11001端口[PROC]conn_serv-1 = 10001:127.0.0.1:10060logic_ser.原创 2020-08-14 19:54:34 · 740 阅读 · 0 评论 -
SGAME的日志系统
综述SGAME框架所使用的日志系统基于一个小的日志库slog,具体细节可以参考https://github.com/nmsoccer/slog其安装也很简单,会在/usr/local/lib下生成一个slog.a静态库(主要免去到目标机器时各种部署动态库的麻烦,而且便于调试). slog有一个slog.go作为GO的API,在框架里已经包含源码SGAME的日志目录位于sgame/lib/log,内容如下sgame/lib/log/|-- api.go`-- slog.go..原创 2020-08-14 19:34:54 · 628 阅读 · 0 评论 -
SGAME 框架说明
这是对SGAME当前的演示框架与配置做一个详细说明SGAME的安装请参考github地址的README:https://github.com/nmsoccer/sgame框架目前整个框架包含了两个功能组,四类进程。用于模拟一个最小的可用游戏框架组:GROUPX:游戏的主要逻辑组。负责客户端的接入;游戏的逻辑处理,玩家数据缓存以及DB的读写。为了方便说明,GROUPX被横向扩展为GROUP1和GROUP2,它们都行使相同的功能 DISPX: 游戏不同逻辑组的互相通信节点。负责维护不同原创 2020-08-11 17:28:56 · 5742 阅读 · 0 评论