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源码文件清单的说明。主要是对文件和文件功能进行了说明,正在整理模块调度关系,持续更新中...
负载均衡网关节点工作原理示意图