传世服务器的基本构造,高手可看看
文档修订纪录
序 号修改时间修 改 人审 核 人备 注
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
[1] [2] 下一页