在MMO中​​保存数据

时间:2011-01-28 20:47:37

标签: save mmo

您对在MMO游戏中保存数据(例如角色统计,成就,项目)有何看法?显然,如果服务器由于某种原因出现故障,您希望尽可能少的数据资源。

  • 每当重要事件发生时保存角色?看似跳跃,表现呢?
  • 一次非常X小时保存一切?导致几秒钟冻结,但可能伴随着一个很好的“世界在拯救” - 消息。
  • 也许为每个字符都有一个保存计时器,在那里你每隔一段时间对字符进行排队,并且服务器在不忙的时候就在这个队列上工作?

在这三个中,我认为最后一个是一个非常好的解决方案,但我可能忽略了一些东西。 但你有什么想法,“大男孩”是怎么做到的?

4 个答案:

答案 0 :(得分:1)

我会为我的数据库使用直写缓存。角色的大多数方面都不会经常改变。那些像位置一样的人已经需要一些非常繁重的工程来保持服务器和客户端的一致性。

答案 1 :(得分:1)

可能会制作一种缓存服务器。游戏服务器会向缓存服务器发送读/写请求,缓存服务器会从数据库写入/读取内容并发送回游戏服务器。这样一来,如果某些查询变得迟滞,它就不会在游戏服务器中停止线程,如果服务器发生故障 - 如果服务器没有保存,服务器仍然会有缓存数据并保存。

答案 2 :(得分:1)

  

随时保存角色   重要事情发生了什么?似乎   跳跃,表现?

至少没有。与此类游戏必须完成的所有其他操作相比,这完全是微不足道的。任何像样的数据库引擎都会处理它。这就是他们要做的事情。

答案 3 :(得分:0)

我写了这个http://onemanmmo.com/?doubleentry,同时解决了如何记录微交易并保证他们在我的游戏服务器崩溃中幸存下来。本文是关于在MySQL之上使用复式记帐数据库模式的,其中包含有关存储过程和安全性的一些信息。