单机版资料速查 (Private Server Reference)

魔兽世界服务器和客户端架构简介

魔兽世界是典型的客户端和服务端类游戏. 为了提高运算速度, 游戏本地有一份 静态数据. 所谓静态数据是指不会随着服务器上的玩家的行为, 以及时间变化而变化的数据. 比如物品 id, 和任务 id, 以及玩家, 物品, 地图, 物品, 人物, 装备 的 2D 或 3D 建模.

服务器 上主要保存的是玩家的 状态信息, 比如每隔一段时间, 或触发相应的事件的话, 就将这些数据写入数据库 (这里只是举例, 更多的数据就不列举了):

  1. 玩家角色所在的坐标, 等级, 背包中的物品. 例如, 在获得新物品或是删除物品之后会将改变写入数据库.
  2. 玩家学会的技能, 商业技能, 天赋, 成就. 例如, 玩家修改天赋后, 服务器会将改变写入数据库.

而对于 静态数据 来说, 服务器上也同样有一份, 为了防止玩家通过修改本地客户端的文件来作弊, 有时候服务器会对其使用 MD5 信息摘要进行验证. 比如物品的实际有效的属性就是由服务器上的物品数据来决定的, 但是物品的显示图标则是由本地客户端上的数据来决定的.