Skip to content

piaohua/gohappy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gohappy

Installation

cd $GOPATH/src
go clone github.com/piaohua/gohappy

Usage:

cd $GOPATH/bin/ctrl
./ctrl

cp conf.local.ini conf.ini

./ctrl proto
./ctrl protojson

./ctrl build login linux
./ctrl build dbms linux
./ctrl build gate linux
./ctrl build niu linux
./ctrl build web

cp gate-bin gate1-bin
cp gate-bin gate2-bin

./ctrl start dbms
./ctrl start login
./ctrl start niu1 -node=1
./ctrl start gate1 -node=1
./ctrl start gate2 -node=2

./ctrl stop niu1 -node=1
./ctrl stop gate1 -node=1
./ctrl stop gate2 -node=2
./ctrl stop login
./ctrl stop dbms

Document

包引用规范
import (
    标准库包

    自定义包

    第三方包
)

src/gohappy/
protocol   协议文件目录 Google Protobuf version 3.0
pb         生成协议文件目录, packet unpack 文件
data       数据结构定义, 数据库连接操作 mongodb
tool       生成协议工具
game       逻辑处理 (algo, config, handler, login...),多个子目录
glog       日志记录
test       测试文件

gate       协议转发, 多个, 处理客户端连接, scoket packet unpack
dbms       大厅服务,单个,处理服务注册
robot      机器人, 模拟客户端, 请求顺序login-gate
login      http请求登录,返回网关信息,单个,定时向中心分发器获取可用网关

web        后台 web 服务, based on beego

gate      缓存玩家进程,优化?

xxxxx     游戏逻辑

package & program

protocol (proto)
    协议文件目录
    Google Protobuf version 3.0
    前端架构需要区分游戏协议

pb  (package)
    生成协议文件目录
    packet unpack 文件
    rpacket runpack 机器人协议文件
    工具自动生成文件,无需手动修改

data (package)
    数据库操作
    数据结构
    参数定义

dbms (program)
    玩家数据缓存
    玩家数据中心
    logger日志中心
    唯一id管理
    房间列表管理
    房间基础信息
    后台配置数据加载
    邮箱管理
    投注活动
    桌子匹配路由
    处理服务注册
    处理请求转发
    处理网关信息
    玩家节点路由
    桌子节点路由

login (program)
    http请求节点信息
    登录节点分配
    支付回调请求

gate (program)
    websocket连接
    处理消息转发
    消息打包解包
    处理业务逻辑
    响应请求结果

game (package)
    处理业务逻辑
    创建房间逻辑

TODO

  • 配置文件动态加载,读取配置服务独立
  • crontab服务
  • dockerfile
  • data数据库mgo操作优化
  • dbms(logging,room,role)服务优化拆分,水平拓展能力
  • 版本控制
  • game逻辑处理包区分dbms,gate操作,方便管理
  • 消息按大小拆分,处理粘包
  • dbms分配登录节点,游戏服节点规则
  • ip注册限制
  • 最好部署在一个内网环境下,否则超时可能会比较严重
  • dbms服务中注册节点时检测节点是否已经注册,如果已经注册则启动失败
  • 服务节点后台管理
  • 房间后台管理.后台只添加不同房间的配置,游戏内查找配置生成房间
  • 前后端协议添加version控制
  • 玩家进入游戏时固定携带
  • login服务公众号功能优化

启动顺序

dbms
game (xxxxx ...)
gate
login
robot

停服顺序

robot
login
game (xxxxx ...)
gate
dbms

About

game server for Proto Actor

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages