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

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

时间: 2024-09-13 02:07:00

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

大咖直播第五期问答整理:小咖秀张华伟讲解千万级用户App服务端架构设计

3月18日在线实时分享顺利结束,本次由小咖秀技术总监张华伟讲解千万级用户App服务端架构设计.本次直播中现场观众提出了很多技术问题,我们把这些问题和答案整理好分享给大家. 问答列表: 负载均衡是怎么做的? 如果使用阿里云负载均衡,是如何做数据同步? 有用到反向代理吗?技术架构能说下吗? 程序怎么扩展 能说下服务器数量? 怎么上线? 上线版本怎么控制的? 初期搭建系统的时候,阿里云选择的基本配置是什么呢 请问功能模块之间的通信是怎么实现的?http接口?RPC?WS?还是其他? 缓存选择的方向是怎

基于Redis 千万级用户排行榜最佳实践

基于Redis 千万级用户排行榜最佳实践 前言 Redis 是一个开源的,内存中的数据结构存储系统,可以用作数据库.缓存和消息队列中间件.它支持多种类型的数据结构,如 字符串(string), Hash, 列表(List), 集合(Set), 有序集合(Sorted Set) . 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(Transactions) 和不同级别的 磁盘持久化(Persistence), 并

千万级用户直播APP——服务端结构设计和思考

一直播产品是一下科技今年五月份刚上线的产品.得益于与微博的深度合作,以及与小咖秀.秒拍共同运营,一直播开始时就有一个很高的起点,短短半年内,达到同时在线用户百万级规模.在2016杭州云栖大会的"开发者技术峰会"上,来自一下科技的技术副总裁张华伟给大家解密了一直播千万级用户服务端架构设计和成长历程. 以下内容根据演讲PPT及现场分享整理. 直播行业是今年最为火爆的行业,作为新兴的产品形态,直播产品最大的特点是:快.推流速度足够快,主播通过移动端快速推流,用户能快速看到直播场景,延迟需要足

如何在AWS云平台上构建千万级用户应用

如何在AWS云平台上构建千万级用户应用 方国伟 首席云技术顾问 --弹性的确是云计算的一个重要特性 --AWS云平台也供Auto Scaling功能来帮助用户实现弹性伸缩 --应用服务的弹性伸缩需要良好的设计 如何在AWS云平台上构建千万级用户应用

[C/C++] 各种C/C++编译器对UTF-8源码文件的兼容性测试(VC、GCC、BCB)

在不同平台上开发C/C++程序时,为了避免源码文件乱码,得采用UTF-8编码来存储源码文件.但是很多编译器对UTF-8源码文件兼容性不佳,于是我做了一些测试,分析了最佳保存方案. 一.测试程序 为了测试编译器对UTF-8源码文件兼容性,我编写了这样的一个测试程序-- //#if _MSC_VER >= 1600 // VC2010 //#pragma execution_character_set("utf-8") //#endif #include <stdio.h>

千万级用户App小咖秀:服务端架构设计分享

直播视频: (点击图片观看) 幻灯片下载地址:https://oss.aliyuncs.com/yqfiles/9a8fc5f636a0151d678e125f0e63678f.pdf 3月18日在线实时分享顺利结束,本次由小咖秀技术总监张华伟的分享是在移动互联网时代,创业团队在技术储备.经验积累以及资金等有限的情况下,该如何选择合适的服务端技术解决突发式流量增长所带来的压力以及最大化节省运营成本等方面的经验和建议.本次视频直播的整理文章.视频.幻灯片整理完毕,如下内容. 爆款产品特点 图一 爆

VG.EXE的VG源码文件概述

问题描述 由于DAT目录下的TBL文件的功能构成:VG.EXE界面.VG.EXE基本库.VG.EXE设置参数.而TBL文件全是VG源码与文本文件,于是我们就可以查看VG.EXE的运行方式和控制VG.EXE的运行方式.为了更好的理解VG.EXE运行方式,我们将对TBL文件进行概述一下,它们的作用:关于菜单about.tbl图元调整框adjust.tbl透明度滑条控制alpha.tbl矩形阵列功能 array.tbl箭头选择对话框 arrowdlg.tbl箭头图元库,arrows.tbl所有图元的箭

探究千万级应用的推广与赢利之道

[CSDN综合整理]在本次2011中国移动开发者大会的"推广与盈利"的主题论坛上,一场由国内一线移动开发商代表参加的圆桌论坛吸引到了众多眼球,嘉宾们围绕着移动应用的营销手段.运营方式.效果的持续跟踪和分析反馈等话题展开了充分探讨. 主持人:友盟副总裁蒋桦 嘉宾:3G门户副总裁曹明(Go桌面),北京掌中浩阅科技有限公司创始人兼总裁张凌云(iReader),北京京鼎诚科技发展有限责任公司创始人兼CEO苏光升(OPDA社区/Android优化大师),网易移动互联网中心总经理徐诗,上海水渡石信

千万级-高并发WEB设计问题,来自一个面试题

问题描述 高并发WEB设计问题,来自一个面试题 这是一个面试题,困扰我好长时间了. 有个网站首页,需要满足千万级小数据量用户访问,首页上包含如下几部分: 1 统计部分,全站统计,与具体用户无关,与已存储的数据有关 2 静态页面部分 3 个人统计部分,与当前登录用户用惯,与已存储的数据有关,个人统计数据很少 4 数据部分,与具体内容无关,与已存储的数据有关.数据很少 要求: 1 满足千万级用户访问 2 前端可以负载,可以集群,可以异步 3 后端存储可以是DB,可以是内存,也可以是其他 4 技术 架