標籤: 遊戲
資料庫伺服器
儲存database加密
2012-09-16 12:35
5612人閱讀收藏
舉報
棋牌遊戲架構(4)
目錄(?)
[+]
主要有3類database: serverinfodb,userinfodb和gamedb。 serverinfodb主要儲存的是遊戲列表的資訊,userinfodb儲存玩家的全域性資訊,而gamedb就是積分以及積分變化情況。下面分別加以描述。
serverinfodb主要儲存遊戲列表資訊。主要有以下幾個表:
1. gametypeinfo,其主要欄位為:
typeid:型別標識 id
typename:型別名字,例如棋牌類,休閒類
enable:控制遊戲大廳是否顯示該型別,預設為 1,即為預設顯示
2. gamekindinfo,其主要欄位為:
kindid: 遊戲的唯一標識
typeid: 外來鍵(gametypeinfo的主鍵),該遊戲所屬型別
kindname: 遊戲名稱, 比如德州撲克,鬥地主等。
processname: 客戶端程序名稱
maxversion: 客戶端程序的最低版本,若是登入時發現客戶端版本低於這個值,要求其更新。
enable: 控制遊戲大廳是否顯示該遊戲,預設為1。
3. gamestationinfo 站點資訊表:
stationid: 站點標識
stationname: 站點名稱
enable: 這個站點是玩家可以選擇的,這個標識控制是否顯示給玩家,預設為1
這個資料庫主要儲存玩家的全域性資訊,有兩個表: useraccounts和clublist:
1. useraccounts的主要字段:
userid:玩家的唯一標識,註冊的時候自動生成,不能修改
accounts:帳戶名字,具有唯一性,不能重複,能修改
logonpass:玩家帳戶的密碼,採用通用加密演算法 md5 加密記錄
gender:性別
logonnullity:帳戶禁止標誌,影響玩家登入廣場和登入遊戲房間
servicenullity:服務禁止標誌,保留供**系統使用或者將來系統擴充套件使用
userright:玩家許可權標誌,每一位代表一種許可權, 比如旁觀許可權,大廳公聊許可權,私聊許可權等。
manageright:管理許可權標誌,第一位代表一種管理許可權,比如踢出玩家,發布訊息等。
faceid:玩家頭像索引號碼
clubid:外來鍵(clublist的主鍵),玩家社團 id 號碼
memberorder:會員等級標識
experience:玩家經驗數值,表示玩家遊戲的總局數,可以通過修改每個遊戲的經驗數值增加方案得到策略的改變
alllogontimes:玩家成功登陸的總次數
registerdate:玩家的註冊日期
lastlogondate:玩家最後登陸的日期
registerip:玩家帳戶的註冊所在的 ip 位址
lastlogonip:玩家最後使用此帳戶登陸的 ip 位址
question:密碼找回提示問題
answer:密碼找回回答問題
connectperson:聯絡人姓名
phoneno:**號碼
address:家庭住址
email:電子郵箱
2. clublist是用來儲存社團列表的,主要字段包括:
clubid:社團的唯一標識號碼,註冊的時候自動生成,不能修改
clubname:社團名字
clubadmin:社團管理員(外來鍵)
clubnotice:社團公告,預留字段
這個db主要儲存玩家的遊戲相關資訊,例如遊戲積分,勝局,和局,逃局,登陸時間等資訊。
1. gamescore
userid:玩家標識號碼
score:玩家的積分數值
wincount:遊戲勝利局數
lostcount:遊戲輸局局數
drawcount: 遊戲和局局數
fleecount: 遊戲逃跑局數
userright:玩家在此遊戲中的普通許可權數值,在登陸房間的時候與玩家房間許可權進行或操作
manageright:玩家在此遊戲中的管理許可權數值,在登陸房間的時候與玩家房間許可權進行或操作
playtimecount:玩家在此類遊戲中的遊戲時間
alllogontimes:玩家進入此類遊戲的總次數
registerdate:玩家首次進入此類遊戲的時間
lastlogondate:玩家最後一次進入此類遊戲的時間
registerip:玩家首次進入此類遊戲的 ip 位址
lastlogonip:玩家最後一次進入此類遊戲的ip 位址
2. gamelogonlog:
id:log的索引id,自增長。
userid:外來鍵,玩家 id 號碼
score:玩家進入房間時刻的積分數值
wincount:玩家進入房間時刻的遊戲勝利局數
lostcount:玩家進入房間時刻的遊戲輸局局數
drawcount:玩家進入房間時刻的遊戲和局局數
fleecount:玩家進入房間時刻的遊戲逃跑局數
kindid:玩家進入的房間的型別標識號碼
serverid:玩家進入房間的房間標識號碼
clientip:玩家進入房間的連線ip位址
logontime:玩家進入房間的時間
3. gamescorelog:
id:logid,自增長
userid:外來鍵,玩家 id 號碼
lefttime:玩家離開房間的時間
score:玩家在遊戲房間遊戲所產生的積分改變的數值
wincount:玩家在遊戲房間遊戲所產生的勝利局數改變的數值
lostcount:玩家在遊戲房間遊戲所產生的輸局局數改變的數值
drawcount:玩家在遊戲房間遊戲所產生的和局局數改變的數值
fleecount:玩家在遊戲房間遊戲所產生的逃跑局數改變的數值
experience:玩家在遊戲房間遊戲所產生的經驗數值改變的數值
playtimecount:玩家在遊戲房間遊戲所產生的遊戲時間的數值
kindid:玩家進入的房間的型別標識號碼
serverid:玩家進入房間的房間標識號碼
clientip:玩家進入房間的連線ip位址
頂 5
棋牌遊戲伺服器架構 詳細設計 一 核心設計
核心的幾個元件被設計成service,也就是說這幾個模組都要實現如下介面 圖1 iservice介面 start方法用來啟動服務。stop 方法用來關閉服務。isservice 方法用於查詢當前服務是否正在工作。圖2 iservicemgr介面 iservicemgr提供兩類介面 1 獲取servi...
棋牌遊戲伺服器架構 詳細設計 一 核心設計
核心的幾個元件被設計成service,也就是說這幾個模組都要實現如下介面 圖1 iservice介面 start方法用來啟動服務。stop 方法用來關閉服務。isservice 方法用於查詢當前服務是否正在工作。圖2 iservicemgr介面 iservicemgr提供兩類介面 1 獲取servi...
棋牌遊戲伺服器架構設計
一,棋牌類伺服器的特點 1,棋牌類不分割槽不分服 一般來說,棋牌遊戲都是不分割槽不分服的。所以棋牌類伺服器要滿足隨著使用者量的增加而擴充套件的需要。2,房間模式 即在同一局遊戲中就是在同乙個房間中,同乙個房間中的人可以接收到其他人的訊息。3,每個房間的操作必須是順序性 這個特性類似與一般遊戲的回合制...