魔兽世界私服trinitycore2的数据库TDB(3)
以前介绍了TDB0.0.5的渊源,现在继续介绍TDB内部的一些细节。从[TC2 wiki ]可以查到TDB_0.0.5结构比较详细的介绍。
在一个完整的TDB_0.0.5的MYSQL安装库中,你可以看到已经安装的库包括:1、realmd;2、characters;3、world。
realmd库的表比较少,主要是realmlist和account比较重要,realmcharacters主要记录每个服每个帐号有多少个角 色。realmlist主要记录每个服的IP地址和端口,而account记录帐号的信息。当一个帐号登录时,首先会在account中校验用户和密码, 然后返回realmlist中服列表给客户端。客户端选择服之后,根据服的ip/port就转给了trinity-core来处理了。
characters库主要是帐号的角色信息。这里主要有characters表,是描述角色的各种属性,比如名称,种族、职业,金钱,所在地图。还有个data字段比较特殊,由空格划分成子字段,每个字段的含义根据序号来描述。需要注意的是,在【character data 】中描述的索引和trinity core2实际使用的索引是不一样的,trinity core2使用的索引在UpdateFields.h中EObjectFields和EUnitFields定的,最大的索引PLAYER_END = UNIT_END + 0x047A = OBJECT_END + 0x008E + 0x047A = 0x0006 + 0x008E + 0x047A = 0x050E= 1294 。
除此之外,还有角色所在的行会(GUILD)、竞技场(ARENA)、副本(INSTANCE)、宠物(PET)、战场(BATTLEGROUP)、成就(ACHIEVEMENT)、天赋(TALENT)、声望(REPUTATION)等。更详细的介绍,参看【characters db 】。
world库是比较复杂的。他存储的是和玩家无关的一些东西,即使没有任何玩家登录到trinity-core,这些数据也是被需要的。比如说,没 有玩家,但副本的BOSS的相关数据也会被存储在world库中,当玩家进入副本后,这些数据就从world库中提取出来,创建一个新的副本。【world db 】是他比较详细的介绍,一般说来,每次升级,或者增加新的副本,都是修改world库中的数据,基本上不会涉及到realmd和characters库。
world库有几个部分:
1、生物(creatures)相关,包括生物的基本信息,装备、相关声望、相关任务、人工智能。
2、玩家(player)相关,包括种族、职业相关的基本属性、每级经验、创建期信息
3、宠物(pet)相关,包括级别相关的信息。
4、NPC相关,训练师,对白,任务、魔法等
5、物品(item),属性以及和职业种族相关的东西
6、任务(quest)相关.
7、魔法(spell)相关,范围、属性、过程、要求、脚本等。
8、技能(skill)相关。
9、游戏事件(game event)相关,这个比较复杂,相关的表也很多。
10、游戏物品(game object)相关,item是静态,game object可以是动态的,还包含有脚本。
11、寻径(waypoint)相关。
DBC是从客户端提取出来一些比较特殊的数据库文件,他的具体描述[dbc db ]介绍比较详细。
客户端的所有基础数据都是在DBC中放着,在服务端使用DBC也是从客户端解压出来,所以DBC的数据和表十分庞大。我粗略估算了下解压出来的DBC文件,有464个之多。包含的内容也可以归纳入world那样的各个种类。
魔兽世界私服trinitycore2的数据库TDB(3)相关推荐
- 魔兽世界私服trinitycore2的数据库TDB(1)
TDB_0.0.5 ,又叫[Phoenix]是配合trinitycore2的数据库,他的官方网站在[http://www.trinitydatabase.org/ ],下载地址在[http://svn ...
- 魔兽世界私服trinitycore2的架构——世界对象
魔兽世界私服trinitycore2的架构--世界对象 假设世界突然静止,你能够从中单独去掉的物体就是构成这个世界的对象,包括玩家.怪物.武器.矿石等.魔兽世界是个大型的网游,里面的种类十分丰富,更不 ...
- 魔兽世界私服trinitycore2的架构(6)国际化
在T端中,是由数据库保存终端的显示信息,比如物品的名称.默认情况下,他们是enUS英文的.不过,我们需要将他们修改为中文模式.在芒果以及国内比较著名的私服中,都是直接在原地修改的,我原来也是.不过后来 ...
- 魔兽世界私服trinitycore2的架构(5)世界对象
假设世界突然静止,你能够从中单独去掉的物体就是构成这个世界的对象,包括玩家.怪物.武器.矿石等.魔兽世界是个大型的网游,里面的种类十分丰富,更不用说对象了.当我看着trinity-core2的源码中, ...
- 开源魔兽世界私服搭建
本文档是原创的,具有可操作性,不是网络上互相抄袭的博客. 觉得有用就赞一个,项目源码: https://github.com/geektcp/Namjagbarwa-wow 同名原创文章(界面样式更简 ...
- Linux运行魔兽世界单机,在linux下架设魔兽世界私服
制作:高进波 日期:2009-3-19 主题:How to compile MaNGOS on Linux. 两小时在linux下建立魔兽世界私服,以下内容亲测通过,是自己建立魔兽世界私服难得的资料. ...
- 魔兽世界 Mangos Trinity TrinityCore 数据库 结构 大纲
魔兽世界 Mangos Trinity TrinityCore 数据库 结构 大纲 角色数据库:characters-tbc ===================================== ...
- 魔兽世界私服单机版中maps,vmaps,mmaps地图的作用
很多朋友可能每次使用魔兽世界单机版的时候,或则自己搭建魔兽世界私服服务器的时候,总会发现,需要从客户端中提取很多类型的地图 例如常见的有 Maps ,Maps是必须的,而且提取后,必须放到魔兽私服单机 ...
- TrinityCore 魔兽世界私服11159 完整配置
为什么要研究TrinityCore ? (1)它是一个完整成熟的可运行调试的网游服务器框架. (2)它是一个跨平台的标准C++编写的项目,在Windows.Linux.MacOSX上都可编译运行. ( ...
最新文章
- (转自scrum中文网)给Scrum Master的十个建议,你值得拥有
- 机器学习模型太大难部署?这里有 3 个解决方案
- Xcode制作动态及静态Framework
- mysql 触发器_进阶msql触发器-指南
- SVM针对中文文本分类
- 深度学习(三十九)——深度强化学习(2)概述, Deep Q-learning Network(1)
- 临颖一高2021高考成绩查询,临颍一高举办2021年决战高考百日冲刺誓师大会
- PHP中Cookie的使用
- 【java】System.arraycopy为什么快
- 软件项目开发文档 模板
- MATLAB —— 散点图绘制
- python27是什么文件夹可以删除吗_python如何跳过错误继续运行,同时删除产生错误的文档...
- 2069: [POI2004]ZAW
- ​LeetCode刷题实战488:祖玛游戏
- 利盟Lexmark Intuition S508 一体机驱动
- 埃森哲java开发怎么样_技术丨埃森哲Data Privacy 、商汤科技、平安科技人工智能(AI)类日常实习...
- K8s ❉ 报错 cannot be handled as a**
- 使用模拟退火算法解决旅行家问题——C
- Ubuntu 下统计文件数量的命令
- 团队高效执行力从何而来?