- 中查找“服务器的基本构造之高手篇”更多相关内容
- 中查找“服务器的基本构造之高手篇”更多相关内容
- ·上一篇文章:架设传世私服常见问题
- ·下一篇文章:AFT功能控制
服务器的基本构造之高手篇
序 号修改时间修 改 人审 核 人备 注
1
2
3
4
5
6
7
8
9
15
16
17
三、 功能及运行
日志通过UDP协议接收GameServer
发送来的加密日志信息包,解密并解析相关内容后,发送给已连接的MySQL数据库,在MySQL数据库中记录下相关日志信息。
在启动日志服务器之前,首先必须启动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
(
rowidbigint unsignednot null AUTO_INCREMENT,
Player_Idvarchar(14)not null,
Player_Chrvarchar(18)not null,
Player_IPvarchar(18)not null,
GD_Commandvarchar(255)not null,
Use_datedatetimenot null default 'NOW()',
ActionTypevarchar(50)not null,
primary key (rowid)
);
字段说明:
Player_Id 玩家帐号
Player_Chr 玩家角色名
Player_IP玩家IP地址
Use_date时间
ActionTypeGD_Command
上下线上线/下线
GD指令对象/使用参数/包括群发消息的消息内容。
交易对方/物品/
组队队长角色/组员
行会行会名/在其中担任的职务/
发言内容发言方式(组队/普通/行会内/喊话等)/私聊对象/发言内容
拣物品/扔物品动作类型(扔/拣)物品/金钱数量
装备/取下物品动作类型/装备/取下物品
PK地图/对方/胜负对方死/自己死/对方受伤害但没有死/无伤害/自己的
伤害情况)
打怪地图/怪物/
死亡地图/对方(人或怪物)
非隐身状态时间始终点/
GD参与的举动
2. 交易日志表
create table Items_Transform_Logs
(
rowidbigint unsignednot null AUTO_INCREMENT,
Player_Chr1varchar(18)not null,
Item_List1textnot null,
Player_Chr2varchar(18)not null,
Item_List2textnot null,
Trans_datedatetimenot 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
(
rowidbigint unsignednot null AUTO_INCREMENT,
Player_Chrvarchar(18)not null,
JumpDetailvarchar(80)not null,
Jump_datedatetimenot null default 'NOW()',
primary key (rowid)
);
字段说明:
Player_Chr玩家角色名
JumpDetail跳GS的详细描述
Jump_date跳GS时间
4. 组队日志表
create table Group_Logs
(
rowidbigint unsignednot null AUTO_INCREMENT,
Player_Chrvarchar(18)not null,
GroupDetailvarchar(100) not null,
Group_datedatetimenot null default 'NOW()',
primary key (rowid)
);
字段说明:
Player_Chr玩家角色名
GroupDetail组队的详细描述
Group_date组队时间
5. 仓库存取物品记录日志表
create table StoreItem_Logs
(
rowidbigint unsignednot null AUTO_INCREMENT,
Item_Idbigint unsignednot null,
Item_Namevarchar(30)not null,
Item_Hostvarchar(18)not null,
Action_Typevarchar(10)not null,
Item_Propertyvarchar(255)not null,
StoreDatedatetimenot null default 'NOW()',
primary key (rowid)
);
字段说明:
Item_Id物品ID
Item_Name物品名称
Item_Host物品的所有者
Action_Type存物品/取物品
Item_Property物品属性
StoreDate存取物品时间
6. 武器升级记录日志
create table WeaponUpdate_Logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Weapon_Idbigint 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_Chrvarchar(18) not null,
Pk_Resultvarchar(50) not null,
Pkdatedatetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
Player1_Chr玩家角色名
Player2_Chr对方玩家角色名
Pk_ResultPk结果
PkdatePK时间
8. 行会记录日志表
create table guild_logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Player_Chr varchar(18) not null,
Guild_Name varchar(30) not null,
IsGuildChairsmallint unsignednot null,
Action_Type varchar(20) not null,
Detailvarchar(20) ,
Pkdate datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
Player_Chr玩家角色名
Guild_Name玩家所属行会名
IsGuildChair0
Pkdate时间
Action_TypeDetail
加入行会
退出行会
建立行会
删除行会
编辑封号
编辑公告
申请行会战对方行会名
同盟对方行会名
解除同盟对方行会名
添加行会成员成员角色名
删除行会成员成员角色名
申请攻城 城主行会
9. 升级记录日志表
create table upgrade_logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Player_Id varchar(14) not null,
Player_Chr varchar(18) not null,
Upgradevarchar(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_Chrvarchar(18)not null,
reputevarchar(20)not null,
detailvarchar(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,
hu##andvarchar(18)not null,
wifevarchar(18)not null,
typevarchar(20)not null,
detailvarchar(50)not null,
date datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
hu##and丈夫角色名
wife妻子角色名
type结婚、离婚
detail结婚或离婚的原因
date时间
12. 师徒关系记录日志表
create table teacher
(
rowid bigint unsigned not null AUTO_INCREMENT,
teachervarchar(18)not null,
studentvarchar(18)not null,
typevarchar(20)not null,
detailvarchar(50)not null,
date datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
teacher师父角色名
student徒弟角色名
type建立师徒关系、解除师徒关系
detail建立或解除师徒关系的原因
date时间
1
2
3
4
5
6
7
8
9
15
16
17
三、 功能及运行
日志通过UDP协议接收GameServer
发送来的加密日志信息包,解密并解析相关内容后,发送给已连接的MySQL数据库,在MySQL数据库中记录下相关日志信息。
在启动日志服务器之前,首先必须启动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
(
rowidbigint unsignednot null AUTO_INCREMENT,
Player_Idvarchar(14)not null,
Player_Chrvarchar(18)not null,
Player_IPvarchar(18)not null,
GD_Commandvarchar(255)not null,
Use_datedatetimenot null default 'NOW()',
ActionTypevarchar(50)not null,
primary key (rowid)
);
字段说明:
Player_Id 玩家帐号
Player_Chr 玩家角色名
Player_IP玩家IP地址
Use_date时间
ActionTypeGD_Command
上下线上线/下线
GD指令对象/使用参数/包括群发消息的消息内容。
交易对方/物品/
组队队长角色/组员
行会行会名/在其中担任的职务/
发言内容发言方式(组队/普通/行会内/喊话等)/私聊对象/发言内容
拣物品/扔物品动作类型(扔/拣)物品/金钱数量
装备/取下物品动作类型/装备/取下物品
PK地图/对方/胜负对方死/自己死/对方受伤害但没有死/无伤害/自己的
伤害情况)
打怪地图/怪物/
死亡地图/对方(人或怪物)
非隐身状态时间始终点/
GD参与的举动
2. 交易日志表
create table Items_Transform_Logs
(
rowidbigint unsignednot null AUTO_INCREMENT,
Player_Chr1varchar(18)not null,
Item_List1textnot null,
Player_Chr2varchar(18)not null,
Item_List2textnot null,
Trans_datedatetimenot 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
(
rowidbigint unsignednot null AUTO_INCREMENT,
Player_Chrvarchar(18)not null,
JumpDetailvarchar(80)not null,
Jump_datedatetimenot null default 'NOW()',
primary key (rowid)
);
字段说明:
Player_Chr玩家角色名
JumpDetail跳GS的详细描述
Jump_date跳GS时间
4. 组队日志表
create table Group_Logs
(
rowidbigint unsignednot null AUTO_INCREMENT,
Player_Chrvarchar(18)not null,
GroupDetailvarchar(100) not null,
Group_datedatetimenot null default 'NOW()',
primary key (rowid)
);
字段说明:
Player_Chr玩家角色名
GroupDetail组队的详细描述
Group_date组队时间
5. 仓库存取物品记录日志表
create table StoreItem_Logs
(
rowidbigint unsignednot null AUTO_INCREMENT,
Item_Idbigint unsignednot null,
Item_Namevarchar(30)not null,
Item_Hostvarchar(18)not null,
Action_Typevarchar(10)not null,
Item_Propertyvarchar(255)not null,
StoreDatedatetimenot null default 'NOW()',
primary key (rowid)
);
字段说明:
Item_Id物品ID
Item_Name物品名称
Item_Host物品的所有者
Action_Type存物品/取物品
Item_Property物品属性
StoreDate存取物品时间
6. 武器升级记录日志
create table WeaponUpdate_Logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Weapon_Idbigint 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_Chrvarchar(18) not null,
Pk_Resultvarchar(50) not null,
Pkdatedatetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
Player1_Chr玩家角色名
Player2_Chr对方玩家角色名
Pk_ResultPk结果
PkdatePK时间
8. 行会记录日志表
create table guild_logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Player_Chr varchar(18) not null,
Guild_Name varchar(30) not null,
IsGuildChairsmallint unsignednot null,
Action_Type varchar(20) not null,
Detailvarchar(20) ,
Pkdate datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
Player_Chr玩家角色名
Guild_Name玩家所属行会名
IsGuildChair0
Pkdate时间
Action_TypeDetail
加入行会
退出行会
建立行会
删除行会
编辑封号
编辑公告
申请行会战对方行会名
同盟对方行会名
解除同盟对方行会名
添加行会成员成员角色名
删除行会成员成员角色名
申请攻城 城主行会
9. 升级记录日志表
create table upgrade_logs
(
rowid bigint unsigned not null AUTO_INCREMENT,
Player_Id varchar(14) not null,
Player_Chr varchar(18) not null,
Upgradevarchar(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_Chrvarchar(18)not null,
reputevarchar(20)not null,
detailvarchar(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,
hu##andvarchar(18)not null,
wifevarchar(18)not null,
typevarchar(20)not null,
detailvarchar(50)not null,
date datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
hu##and丈夫角色名
wife妻子角色名
type结婚、离婚
detail结婚或离婚的原因
date时间
12. 师徒关系记录日志表
create table teacher
(
rowid bigint unsigned not null AUTO_INCREMENT,
teachervarchar(18)not null,
studentvarchar(18)not null,
typevarchar(20)not null,
detailvarchar(50)not null,
date datetime not null default 'NOW()',
primary key (rowid)
);
字段说明:
teacher师父角色名
student徒弟角色名
type建立师徒关系、解除师徒关系
detail建立或解除师徒关系的原因
date时间
Tags:
作者:佚名评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论