
1. 关于游戏服务器的操作系统和数据库,最初的猜测是Unix/BSD搭配Oracle数据库,这样的组合适合像WOW这样的大型网络游戏,因为其存储和数据量需求巨大。2. 通过网上查到的关键资料,可以证实这个猜测。例如,在一次服务器故障的说明中,提到了Oracle专家加入故障应急流程,以及暴雪数据库工程师开始与Oracle专家分析故障情况。3. 暴雪对数据库管理员的要求也揭示了他们使用Oracle数据库。招聘要求中提到,负责处理WOW数据库的Oracle数据库管理员需要有3年以上的专业经验,包括Oracle 9i,并且需要熟悉Linux/Unix环境。4. 因此,可以推断WOW的服务器采用的是HP Unix搭配Oracle数据库。5. 对于WOW数据库的具体结构,有以下几个猜想: - 游戏服务器:指的是游戏中的服务器,如七区的恶魔之魂、黑铁、加基森。 - 游戏区:由多个游戏服务器构成的大区,每个区都由物理服务器群集组成,运行多个数据库实例,每个实例对应一个游戏服务器。 - 验证系统:负责游戏中的登录、排队、身份验证等功能。 - 聊天频道:独立的聊天服务器,与游戏服务器分开,确保聊天功能即使在游戏卡顿时也能正常运行。 - 副本和战场:独立的副本服务器,保存副本地图数据,实现跨服战场通过数据拷贝和锁定。 - 地图:客户端资源中的定义,通过混淆命名和校验防止篡改。 - 角色:角色数据分散存储在多个表中,重要数据如包裹、邮箱、银行有较快的写入频率。 - 怪物:采用原型模式生成,只需保存变化值。 - 其他:如节日活动等伸缩性内容,应有管理工具或脚本。 - 行为与技能:通过客户端处理用户输入和动画,服务端处理后返回结果,减轻服务端负担。6. 关于WOW的客户端脚本,虽然无法确定具体使用哪种脚本语言,但可以推测不会是LUA,因为LUA主要用于客户端。7. 最后,值得一提的是,大芒果单机版WOW采用的是MySQL数据库。
