最近在看mangos代码,从登录服务器看起,即realmd工程.
一.数据库中realmd库是与登陆相关的数据库,其中有七张表,下面列出每个表的每个字段及其意义
1.account表,用户账户信息表
字段 | 类型 | 意义 |
id | int | 主键id,自动生成 |
username | varchar | 用户名 |
sha_pass_hash | varchar | 密码散列值 |
gmlevel | tinyint | GM等级0.普通用户1.GM2.超级GM3.开发人员 |
sessionkey | longtext | ?登陆过程时会用到这三个值,此处先不描述 |
v | longtext | 同上 |
s | longtext | 同上 |
text | 用户邮箱 | |
joindate | timestamp | 申请日期 |
last_ip | varchar | 最后登陆ip |
failed_logins | int | 失败的登录次数 |
locked | tinyint | 是否被锁定 |
last_login | timestamp | 最后登陆时间 |
active_realm_id | int | 是否在线 |
expansion | tinyint | 扩展,现用于表示版本 0-wow classic 1-远征 2-巫妖王 |
mutetime | bigint | 被解除锁定剩余时间 |
locale | tinyint | 玩家客户端locale |
2.realmlist,服务器列表
id | int | id,主键 |
name | varchar | 服务器名 |
address | varchar | ip |
port | int | 端口 |
icon | tinyint | 图标 |
realmflags | tinyint | 标志,表示负载,0-正常,1-满,2-不在线 |
timezone | tinyint | 时区 |
allowedSecurityLevel | tinyint | 允许GM登陆最低级别 |
population | float | 玩家数量 |
realmbuilds | varchar | 支持的客户端版本号 |
3.realmcharacters,每个号创建的角色表
realmid | int | 服务器id |
acctid | bigint | 帐号id,外键 |
numchars | tinyint | 角色数量 |
4.account_banned,被封帐号表
id | int | 主键id |
bandate | bigint | 封号日期 |
unbandate | bigint | 解封日期 |
bannedby | varchar | 封号人 |
banreason | varchar | 封号原因 |
active | tinyint | 是否继续有效0.解封状态 1.被封状态 |
5.ip_banned,被封ip
ip | varchar | 被封ip |
bandate | bigint | 同上表 |
unbandate | bigint | 同上表 |
bannedby | varchar | 同上表 |
banreason | varchar | 同上表 |
6.realmd_db_version,登录服务器数据库版本
7.uptime,服务器在线时间
realmid | int | 服务器id |
starttime | bigint | 启动时间 |
startstring | varchar | 启动时间的字符表示 |
uptime | bigint | 共启动了多长时间,单位为秒 |
maxplayers | smallint | 最大的在线用户数 |