Erlang千万级用户游戏框架(Openpoker)源码文件分析清单

简介:

openpoker源码 erlang写的网游服务器源码,OpenPoker是一个大型多人扑克网游,内建支持了容错能力,负载平衡和无限制的规模大小。本文是openpoker源码文件功能的一个清单式说明:

模块名称 模块功能说明 备注
ante.erl 仅仅是开始下注的处理,具体的逻辑在betting中  
barrier.erl barrier本意屏障  
bb.erl Bot launcher  
betting.erl Poker betting logic 下注逻辑处理  
bits.erl 位处理相关操作  
blinds.erl 处理小盲注,大盲注  
bot.erl AI,gen_server,用来测试,将来应该能够陪真人玩家来玩  
bot.hrl    
common.hrl    
counter.erl 用于把各种计数器(自增、唯一ID)存入mnesia. 目前有3种: 玩家,游客,Game  
db.erl 数据库操作  
deal_cards.erl 发牌,其中的private与shared,代表公共牌还是私有牌。这已经是与具体玩法有关的了,而与框架无关。  
deck.erl 台面,在其上洗牌  
delay.erl 每一局游戏开始前的倒计时  
delayed_exit.erl 游戏倒计时到正式开始前偷溜走的相关情况处理  
dmb.erl 其中mb=multi bots,机器人。dmb指的是distributed multi bots 分布式  
dumbo.erl 哑巴机器人  
exch.erl 自定义behavior,也是一个gen_server,A stack of game modules:玩家&游客  
fixed_limit.erl 自定义behavior,也是一个gen_server,A stack of game modules:玩家&游客  
g.erl    
game.erl 每一局游戏,本质上是exch.erl。实现了开始,停止,自动计数,Watch the game without joining  
game.hrl 游戏  
game_start.erl 游戏直接开始  
game_wait_players.erl 游戏等待其他玩家到齐后开始  
gateway.erl 网关-负载均衡  
hand.erl 用来计算牌型,例如:full housr 就是3带2.  
id.erl 固定哈希函数的封装,用来产生进程ID与Key的唯一映射关系。目前没有被引用到。  
ircdb.dat.gz 模拟玩家数据  
ircdb.erl 模拟玩家数据  
ircdb.hrl    
lang.erl 多语言处理入口,需要完善,目前只有英语  
limit.erl 各种限制接口,各种limit限制判断主要在game.erl中调用  
login.erl 登录  
mb.erl 机器人,用于测试  
mbu.erl 机器人,用于测试  
no_limit.erl 一局游戏人数上下限  
observer.erl 可以给机器人附加一个观察者职责,用来监视游戏活动状况的  
pickle.erl 序列化  
player.erl 玩家  
pot.erl 貌似是奖池,也就是所有已下的赌注的集合。  
pot_limit.erl 奖池中的加注、盲注限制  
pp.erl 报文编码/解码  
pp.hrl    
restart.erl NO USE  
schema.erl 初始化调度  
server.erl 主服务进程  
showdown.erl 摊牌   
stats.erl 数据统计  
t.erl debug  
tcp_server.erl 通用的tcp服务器程序,主要被gateway和server使用,另外也作为客户端连接用  
test.erl 测试入口函数  
test.hrl    
texas.hrl 游客相关处理机制,下同,可以暂时忽略  
tourney.erl    
tourney.hrl    
tourney_game_start.erl    
tourney_wait_players.erl    
tourney_wait_timer.erl    
util.erl 提供3个公用函数: 1.判断进程死活;2.初始化“从”数据库;3. 返回一个随机的进程组成员进程。  
visitor.erl 游客  

以上文件时对基于Erlang开发的分布式可扩展游戏框架openpoker源码文件清单的说明。主要是对文件和文件功能进行了说明,正在整理模块调度关系,持续更新中...

负载均衡网关节点工作原理示意图

目录
相关文章
|
5月前
|
移动开发 前端开发 开发工具
HTML5开发工具怎么选?5款闭眼入不踩雷的工具推荐,2025最新对比评测
在数字化时代,HTML5开发工具层出不穷。李晴阳团队基于用户反馈,从学习曲线、功能完整性、协作能力等维度,对2025年主流工具如Lynx AI、CodeCanvas等进行深度评测,涵盖适用场景与优劣分析,助力开发者结合自身需求高效选型,提升开发效率。
|
人工智能 前端开发 API
OpenAI 12天发布会内容全纪录!一文快速回顾获知亮点信息,原文附发布会中文字幕视频
OpenAI 于12月5日宣布将举行为期12天的系列发布活动,期间每天发布一个产品或样品,包括备受期待的AI视频生成工具Sora和新的推理模型。本文将介绍这12天的发布会每日的发布内容和相关亮点信息。
1118 82
|
存储 运维 监控
从 ClickHouse 到 Apache Doris:在网易云音乐日增万亿日志数据场景下的落地
日志数据已成为企业洞察系统状态、监控网络安全及分析业务动态的宝贵资源。网易云音乐引入 Apache Doris 作为日志库新方案,替换了 ClickHouse。解决了 ClickHouse 运维复杂、不支持倒排索引的问题。目前已经稳定运行 3 个季度,规模达到 50 台服务器, 倒排索引将全文检索性能提升7倍,2PB 数据,每天新增日志量超过万亿条,峰值写入吞吐 6GB/s 。
1023 5
从 ClickHouse 到 Apache Doris:在网易云音乐日增万亿日志数据场景下的落地
|
机器学习/深度学习 算法 数据挖掘
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合
|
安全 Java API
Spring Security 6.x 图解身份认证的架构设计
【6月更文挑战第1天】本文主要介绍了Spring Security在身份认证方面的架构设计,以及主要业务流程,及核心代码的实现
580 1
Spring Security 6.x 图解身份认证的架构设计
|
Kubernetes Ubuntu Docker
从0开始搞K8S:使用Ubuntu进行安装(环境安装)
通过上述步骤,你已经在Ubuntu上成功搭建了一个基本的Kubernetes单节点集群。这只是开始,Kubernetes的世界广阔且深邃,接下来你可以尝试部署应用、了解Kubernetes的高级概念如Services、Deployments、Ingress等,以及探索如何利用Helm等工具进行应用管理,逐步提升你的Kubernetes技能树。记住,实践是最好的老师,不断实验与学习,你将逐渐掌握这一强大的容器编排技术。
2582 1
|
SQL 监控 Oracle
Oracle数据误删不用怕,跟我来学日志挖掘
Oracle数据误删不用怕,跟我来学日志挖掘
584 0
|
网络协议 安全 物联网
探索未来网络:从IPv4到IPv6的演变
本文深入探讨了互联网协议从IPv4向IPv6演进的背景、原因及带来的深远影响。随着物联网、5G等技术的发展,IPv4地址枯竭问题愈发严峻,IPv6应运而生,不仅解决了地址短缺,还提升了网络性能和安全性。通过详细阐述两者在地址空间、报文结构、头部格式等方面的差异,文章强调了IPv6在简化数据包处理流程、增强组播支持等方面的优势。同时,指出IPv6过渡面临的挑战,并展望其在未来互联网中的广阔应用前景。
|
SQL 监控 数据库
SQL Server如何判断哪些会话/连接是长连接?
【8月更文挑战第14天】在SQL Server中,判断长连接可通过活动监视器查看持续时间和状态;查询`sys.dm_exec_sessions`获取持续时间超阈值的会话;利用性能监视器跟踪“User Connections”计数器变化;审查应用代码中连接池配置;或分析网络流量寻找持久连接。这些方法有助于管理和优化连接。
380 2
|
安全 Linux Nacos
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面

热门文章

最新文章

下一篇
开通oss服务