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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM