手遊服務端框架之關於玩家資料的解決方案

2021-07-24 08:46:07 字數 672 閱讀 8236

遊戲系統的資料可以分為兩大類。一類是由策劃童鞋配置的玩法規則,稱為策劃資料或配置資料;一類是儲存玩家或公共資訊的資料,稱為使用者資料。一般說來,策劃資料只能由程式讀取而不能修改,而使用者資料則增刪查改都會涉及。

對待玩家資料的嚴謹態度,無論怎麼重視都不為過。玩家資料,正如遊戲系統的血液。只***玩家的資料安全,才能留得住玩家的玻璃心。如果玩家今天歷盡艱難險阻,耗盡所有rp刷到一件極品裝備,明天上線發現裝備不見了,肯定會跑到客服大吵大鬧。

遊戲服務端一般採用的資料庫是關係型資料庫,用mysql就足夠了。當然,也有少數遊戲公司採用mongodb。

以前做web的時候,持久層一般都採用諸如mybatics或hibernate等orm框架。遊戲後端需要儲存玩家及公共資料,持久層框架也可以採用mybatics等。

總體來看,遊戲專案對資料庫操作的要求比較低。一般都是對單錶進行增刪查改,很少有聯表的操作。因此,很多公司都會有自己沉澱的一套持久層框架。例如有公司利用jdbc的resultsetmetadata元資料獲取列資訊,然後與實體bean的field進行對映,將資料表的每一列跟對應的bean屬性對應起來。當資料需要入庫的時候,就呼叫bean對應的所有getter方法拼裝成insert或update語句;讀取資料則呼叫bean對應的所有setter方法,將資料表記錄注入到實體裡。這種方法是我見到的最有意思的持久化方案。也有一些小專案甚至直接使用jdbc進行資料庫操作。

關於服務端資料加密

目前的情況下api被很多地方應用,隨之而來的是api的安全性問題。安全性問題有以下幾個方面 ddos 拒絕服務攻擊 介面被惡意呼叫,使真實的使用者無法享受到正常暢通的服務。這個比較單純,也比較容易處理,通過ip限制來做,並且輔以一些硬體裝置應該就沒問題了,同時伺服器 商也可以提供相應的服務。使用對稱...

關於服務端開發的整理

1.當recv返回值為0是表示對方已經正常 msdn說是完美的 的斷開連線.2.當recv返回socket error時,說明對方已經斷開連線,但是可能是非正常斷開 斷網或者客戶端程序結束 服務端socket如何釋放客戶端連線的資源 0 懸賞園豆 20 待解決問題 瀏覽 682次 乙個請求 應答模式...

基於 xorm 的服務端框架 XGoServer

掘金 部落格 github 你可以使用它 具備的如果你想直接輸出一條 json 給客戶端,這樣子 結果 與資料庫互動 affect,core.engine.insert item 執行插入,傳入 struct 引用 m map string inte ce if affect 0 else retu...