2011-01-28 117 views
2

關於在MMO遊戲中保存數據(如角色狀態,成就,物品)的想​​法如何?很明顯,如果服務器出於某種原因停機,您希望儘可能少的數據丟失。在MMO遊戲中保存數據

  • 保存角色,每當重要的事情發生?看起來很蠢,表現如何?
  • 將所有事情都保存在X小時內?導致幾秒鐘凍結,但可能伴隨着一個不錯的「世界正在拯救」 - 消息。
  • 也許每個人物都有一個保存計時器,在這裏你每隔一段時間排列一次保存的角色,並且服務器在這個隊列不忙時工作?

在這三個我認爲最後一個是一個很好的解決方案,但我可能忽略了一些東西。 但你有什麼想法,「大男孩」是怎麼做到的?

+4

你可能想發佈你的問題:http://gamedev.stackexchange.com/ – 2011-01-28 20:50:04

+0

哦。我只是可能。謝謝。 – 2011-01-28 20:50:51

回答

1

保存字符只要 發生了一件重要的事情?似乎 跳躍,performancewise?

一點都沒有。相比於這樣的遊戲必須做的其他事情,這是非常微不足道的。任何體面的數據庫引擎都可以處理。這就是他們要做的。

1

我會爲我的數據庫使用直寫緩存。角色的大多數方面不會經常改變。像位置這樣的人,已經需要一些非常繁重的工程來保持服務器和客戶端的連貫性。

1

也許做一種緩存服務器。遊戲服務器會向緩存服務器發送讀/寫請求,緩存服務器會從數據庫寫/讀東西併發迴游戲服務器。這種方式如果某些查詢得到laggy它不會停止線程在gameserver,如果服務器宕機 - cahe服務器將仍然有緩存的數據並保存它,如果不保存已經。

0

我寫這個http://onemanmmo.com/?doubleentry,同時解決如何記錄微交易並保證他們在我的遊戲服務器崩潰時倖存下來。本文將介紹如何在MySQL上使用複式記賬數據庫模式,並提供有關存儲過程和安全性的信息。