Skip to content
forked from yythlj/gogame

基于pitaya与goid绑定实现的actor模型多线程游戏服务器,actor线程可控,支持单actor下玩家请求的顺序执行,并可通过获取线程管理对象,安全的传递跨线程事务进行协作

License

Notifications You must be signed in to change notification settings

supermigo/gogame

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简介

基于开源大厅游戏框架pitaya,重写消息的Dispatch逻辑,使其成为可控go线程 go线程之间通过事务管道,发送函数到对应携程执行,实现多线程下的无锁协作

ref:https://github.com/topfreegames/pitaya

docs:https://blog.csdn.net/weixin_44627989/article/details/130072534

Required

  • golang
  • websocket

Run

docker-compose -f docker-compose.yml up -d etcd nats mongo
go run main.go

基于pitaya2.3.0,对pitaya框架进行了fix源码以暴露hook 下载pitaya-2.3.0源码,放到external,并改名文件夹为pitaya-2.3.0-fix 然后将里面的fixservice.go放到 pitaya-2.3.0-fix/service 将 fixapp.go放到 pitaya-2.3.0-fix/

open browser => http://localhost:3851/web/

如果要使用可靠rpc还需要redis(reliablerpc) docker-compose -f docker-compose.yml up -d etcd nats mongo redis

About

基于pitaya与goid绑定实现的actor模型多线程游戏服务器,actor线程可控,支持单actor下玩家请求的顺序执行,并可通过获取线程管理对象,安全的传递跨线程事务进行协作

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 50.7%
  • JavaScript 43.5%
  • HTML 5.8%