查看: 770|回复: 0

棋牌游戏服务端的设计与开发交流心得

[复制链接]

4783

主题

5079

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
18913

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2020-2-11 00:39:06 | 显示全部楼层 |阅读模式
棋牌游戏服务端的设计与开发交流心得 https://www.gmbbs.net/

棋牌游戏服务端设计。本文简要概述了单个服务端的设计。丹尼尔可以忽略这篇对游戏开发初学者的文章,但是丹尼尔也可以看看。如果他有好的建议,他也可以留言或私人信件。谢谢你。
发展背景:
1,斗地主,麻将等游戏服务端
2.使用golang作为开发语言
存储方案:
1.玩家数据存储在mysql中。当登录时,播放器数据被拉至重发。后续操作都在redis中操作数据。根据需要,redis中的数据定期与mysql同步。
2.比赛板的热量数据存储在过程存储器中。目前,该结构用于存储。这可能会导致进程挂起,所有玩家断开连接,并且比赛板数据无法恢复。
3.一些日志数据存储在文件中,如以下笔记记录、玩家登录记录、比赛板记录等。主要用于数据分析
协议:
使用websocket,因为客户端使用js。为了方便起见,选择了websocket作为通信协议。
具体:
1.游戏逻辑使用单一协调模式,并使用通道作为游戏逻辑的序列来执行控制,因此不使用锁定,使得游戏控制清晰且不容易出错。
2.对于单个用户,启动一个接收信息的过程(如果使用websocket,则不需要打开一个新的)和一个发送信息的过程(需要打开一个新的),从而充分利用cup的多核能力。
3.该游戏提供了一个管理全球数据的中心服务。
4.游戏提供套接字管理来管理所有用户的连接数据。
5.游戏提供通知服务,用户发送各种通知并提供http服务。
6.该游戏提供各种特定的游戏逻辑处理模块,用于控制和处理游戏操作。
7.提供即时消息模块来管理和转发各种聊天
以上是一个简短的总结。具体的逻辑稍微复杂一些。最近,服务端被重新配置,网关被添加以防止对逻辑服务端的攻击。
将每个模块分开,以防止一个模块导致整个服务端挂起。

【GM论坛[www.gmbbs.net]免责声明】
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
4、论坛的所有内容都不保证其准确性,完整性,有效性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请告之,本站将立即删除。
   提问发帖求助请点此发帖 https://www.gmbbs.net/
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表