💡❌💙 💔💜 💚💬⭐️
基于 ergo-services/ergo 以erlang otp 模型方式组织创建的游戏服务器解决方案
- gatewayNode 用户连接后创建网关连接
- serverNode 创建游戏公共服务 [cmdGenserver]
- dbNode 用做数据落地
serverNode 节点启动会创建一个 cmdGenserver 用于接收外部发送过来的命令,以 便于从内部 获取信息、更新配置、关闭服务
server运行时 执行 cmd [state|stop|debug|reloadcfg] 命令
会在创建一个 debugNode 节点去接连服务器内部 serverNode 节点下的 cmdGenserver 发送命令消息
Available Commands:
- clean 清理数据
- completion 生成补全脚本
- debug 控制台
- pb [int] [obj] 生成protobuf
- reloadcfg 重新加载配置
- start 启动服务
- state 获取服务器运行状态
- stop 关闭服务器
使用 spf13/cobra 创建的服务器命令
ctrl + |
2Byte (包长) | 2Byte | 2Byte | message |
---|---|---|---|
4Byte+ len(消息体) | 模块ID | 方法ID | 消息体 |
sudo docker build -t gamedocker .
sudo docker run -t -i -d -v /mnt/e/dockerconfig:/home/server/config -p 3344:3344 -p 8080:8080 -p 8081:8081 --name gameserver gamedocker:latest
sudo docker exec -it gameserver /bin/sh
sudo docker save gamedocker:latest -o /home/wq/gamedocker:latest.tar
sudo docker load -i gamedocker:latest.tar