传奇世界 服务端 功能及运行
日志服务器通过UDP协议接收GameServer 发送来的加密日志信息包,解密并解析相关内容后,发送给已连接的MySQL数据库,在MySQL数据库中记录下相关日志信息。
MySQL
日志服务器
GameServer
GameServer
GameServer
在启动日志服务器之前,首先必须启动MySQL数据库,且建好数据库表(见建表脚本文件table_script.txt)。然后正确配置日志服务器的配置文件Config.ini
四、配置文件说明
配置文件:Config.ini
[LogServer]
logip = 10.10.10.36 ( LogServer 接收信息端的IP地址 ,必须与GameServer的配置一致)
logport = 6801 ( LogServer 接收信息端的端口,必须与GameServer的配置一致)
[MySqlServer]
mysqlip = 10.10.10.160 ( MySQL数据库的IP地址 )
mysqlport = 3306 ( MySQL数据库的端口 )
dbname = logs ( 数据库的名称 )
user = root ( 数据库用户名 )
password = ( 数据库密码 )
五、表结构说明
1. GD行为日志表
create table Gd_Action_Logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Player_Id varchar(14) not null,
Player_Chr varchar(18) not null,
Player_IP varchar(18) not null,
GD_Command varchar(255) not null,
Use_date datetime not null default 'NOW()',
ActionType varchar(50) not null,
primary key (rowid)
);
字段说明:
Player_Id 玩家帐号
Player_Chr 玩家角色名
Player_IP 玩家IP地址
Use_date 时间
ActionType GD_Command
上下线 上线/下线
GD指令 对象/使用参数/包括群发消息的消息内容。
交易 对方/物品/
组队 队长角色/组员
行会 行会名/在其中担任的职务/
发言内容 发言方式(组队/普通/行会内/喊话等)/私聊对象/发言内容
拣物品/扔物品 动作类型(扔/拣)物品/金钱数量
装备/取下物品 动作类型/装备/取下物品
PK 地图/对方/胜负对方死/自己死/对方受伤害但没有死/无伤害/自己的
伤害情况)
打怪 地图/怪物/
死亡 地图/对方(人或怪物)
非隐身状态 时间始终点/
GD参与游戏的举动
2. 交易日志表
create table Items_Transform_Logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Player_Chr1 varchar(18) not null,
Item_List1 text not null,
Player_Chr2 varchar(18) not null,
Item_List2 text not null,
Trans_date datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
Player_Chr1 参与交易的玩家1角色名
Item_List1 玩家1的交易物品
Player_Chr2 参与交易的玩家2角色名
Item_List2 玩家2的交易物品
Trans_date 交易时间
3. 跳GS日志表
create table Jump_Gs_Logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Player_Chr varchar(18) not null,
JumpDetail varchar(80) not null,
Jump_date datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
Player_Chr 玩家角色名
JumpDetail 跳GS的详细描述
Jump_date 跳GS时间
4. 组队日志表
create table Group_Logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Player_Chr varchar(18) not null,
GroupDetail varchar(100) not null,
Group_date datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
Player_Chr 玩家角色名
GroupDetail 组队的详细描述
Group_date 组队时间
5. 仓库存取物品记录日志表
create table StoreItem_Logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Item_Id bigint unsigned not null,
Item_Name varchar(30) not null,
Item_Host varchar(18) not null,
Action_Type varchar(10) not null,
Item_Property varchar(255) not null,
StoreDate datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
Item_Id 物品ID
Item_Name 物品名称
Item_Host 物品的所有者
Action_Type 存物品/取物品
Item_Property 物品属性
StoreDate 存取物品时间
武器升级记录日志
create table WeaponUpdate_Logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Weapon_Id bigint unsigned not null,
Weapon_Name varchar(30) not null,
Weapon_Host varchar(18) not null,
Update_Type varchar(20) not null,
Weapon_Property varchar(255) not null,
UpdateDate datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
Weapon_Id 武器ID
Weapon_Name 武器名称
Weapon_Host 武器所有者
Update_Type 使用祝福油被祝福/使用祝福油被诅咒/修练/PK被诅咒
Weapon_Property 武器升级前属性和升级后属性
UpdateDate 时间
7. PK记录日志表
create table pk_logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Player1_Chr varchar(18) not null,
Player2_Chr varchar(18) not null,
Pk_Result varchar(50) not null,
Pkdate datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
Player1_Chr 玩家角色名
Player2_Chr 对方玩家角色名
Pk_Result Pk结果
Pkdate PK时间
8. 行会记录日志表
create table guild_logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Player_Chr varchar(18) not null,
Guild_Name varchar(30) not null,
IsGuildChair smallint unsigned not null,
Action_Type varchar(20) not null,
Detail varchar(20) ,
Pkdate datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
Player_Chr 玩家角色名
Guild_Name 玩家所属行会名
IsGuildChair 0
Pkdate 时间
Action_Type Detail
加入行会
退出行会
建立行会
删除行会
编辑封号
编辑公告
申请行会战
对方行会名
同盟 对方行会名
解除同盟 对方行会名
添加行会成员 成员角色名
删除行会成员 成员角色名
申请攻城 城主行会
9. 升级记录日志表
create table upgrade_logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Player_Id varchar(14) not null,
Player_Chr varchar(18) not null,
Upgrade varchar(10) not null,
date datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
Player_Id 玩家帐号
Player_Chr 玩家角色名
Upgrade 升级描述 (例如从一级升到二级为:1->2 )
Date 升级时间
10. 声望值记录日志表
create table repute
(
rowid bigint unsigned not null AUTO_INCREMENT,
player_Chr varchar(18) not null,
repute varchar(20) not null,
detail varchar(50) not null,
date datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
player_Chr 玩家角色名
repute 声望值变化
detail 声望值变化原因
date 时间
11. 婚姻关系记录日志表
create table marry
(
rowid bigint unsigned not null AUTO_INCREMENT,
husband varchar(18) not null,
wife varchar(18) not null,
type varchar(20) not null,
detail varchar(50) not null,
date datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
husband 丈夫角色名
wife 妻子角色名
type 结婚、离婚
detail 结婚或离婚的原因
date 时间
12. 师徒关系记录日志表
create table teacher
(
rowid bigint unsigned not null AUTO_INCREMENT,
teacher varchar(18) not null,
student varchar(18) not null,
type varchar(20) not null,
detail varchar(50) not null,
date datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
teacher 师父角色名
student 徒弟角色名
type 建立师徒关系、解除师徒关系
detail 建立或解除师徒关系的原因
date 时间