前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Erlang千万级用户游戏框架(Openpoker)源码文件分析清单

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

作者头像
数据饕餮
发布2019-01-14 10:38:28
1.3K0
发布2019-01-14 10:38:28
举报
文章被收录于专栏:数据饕餮数据饕餮

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源码文件清单的说明。主要是对文件和文件功能进行了说明,正在整理模块调度关系,持续更新中...

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013年09月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
存储网关
存储网关(Cloud Storage Gateway,CSG)是一种混合云存储服务。您可以通过 CSG 使用标准文件共享协议访问位于对象存储 COS 中的数据,无缝接入公有云,实现数据的实时共享和冷热分层。腾讯云 CSG 可以根据您的业务需求灵活地部署在云上或者本地,让您更轻松地进行数据的云上处理、备份归档以及灾难恢复。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档