Skip to content

主要功能

sundream edited this page Jun 20, 2019 · 2 revisions

面向对象

gg/base/class.lua,给lua oop提供原语class,支持热更新,支持父类热更新直接反应到子类

定时器

gg/base/timer.lua,目前二次封装了skynet的定时器实现,支持取消定时器,crontab方式启动定时器

热更新

gg/base/reload.lua,只支持简单热更,主要策略是:只更新模块函数,不更新模块数据

数据管理

gg/base中time,databaseable.lua,container.lua等模块。这些类提供了容器功能,方便的键值对数据操作,带生命期数据管理等

存盘管理

gg/base/savemgr.lua,该模块可以管理所有存盘对象,存盘对象只需提供loadfromdatabase/savetodatabase,并且纳入存盘管理,数据即可自动存盘

性能统计

gg/base/profile.lua,该模块二次封装skynet的profile,ggApp使用它对C2GS,GS2GS,Timer等做了性能统计。使用telnet 127.0.0.1 18888并且输入info :00000008即可查看

日志

gg/logger,该模块支持在本地文件系统做日志,支持按天切分日志

控制台

gg/console,提供控制台功能,服务器以前台方式启动时,可以在控制台输入任何lua脚本,这极大的方便了开发阶段调试

自动部署

ggApp-ansible

db类型

目前支持redis集群、mongodb集群、redis单例、mongodb单例,默认使用mongodb单例

编码协议

gg/codec,目前支持json,protobuf,sproto三种,默认使用json编码协议

网关类型

gg/service/gate,目前支持tcp,kcp,websocket三种网关,默认全开,可配置选择开启

登录

app/net/login.lua

跨服

gameserver/src/app/player/playermgr/kuafu.lua,只是简单示例,玩家ID->服务器的路由模块还需上层支持

gm

gameserver/src/app/gm,提供了gm模板和常用gm指令,比如:关服、热更、查找gm指令文档,构建gm指令文档,踢人下线,提所有人下线,执行任何lua指令等。另外也提供了shell操作gm,如:

cd ~/ggApp/gameserver/shell
sh gm.sh 0 help 'help'
sh gm.sh 0 help 'kick'