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源碼文件清單的說明。主要是對文件和文件功能進行了說明,正在整理模塊調度關系,持續更新中...

負載均衡網關節點工作原理示意圖
