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

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

  • 相关阅读:
    解决 Cordova 打包 vue项目为 APP 后,在安卓平台下 touchMove 事件不生效的问题
    解决微信内置浏览器里,下拉无法捕获 touchEnd 事件
    记录 React-native 项目中的各种坑坑
    内存型游戏外挂讲解
    浅谈数据抓取的几种方法
    php链表笔记:合并两个有序链表
    php链表笔记:链表的检测
    php链表笔记:单链表反转
    使用UUID和int自增主键的区别
    lumen框架使用Elasticsearch详解
  • 原文地址:https://www.cnblogs.com/hadoopdev/p/3328477.html
Copyright © 2011-2022 走看看