玩家操作日志用于对游戏运营过程中出现的问题进行快速查询,推荐采用数据库记录,便于客服系统操作日志接口的对接。
如果数据库保存建议分表5到10个,如t_oplog_1,toplog_2,t_oplog_3………..t_oplog_10,并且每天清除7天前的数据。
名称 |
类型 |
默认值 |
属性 |
备注 |
id |
int(11) |
auto_increment |
||
sid |
varchar |
|
|
服域名唯一标识符 |
playerId |
varchar |
Index |
||
accName |
varchar |
|
Index |
玩家帐号 |
playerName |
varchar |
|
|
玩家角色 |
rootId |
int |
'0' |
Index |
通信协议大类Id |
typeid |
int |
'0' |
Index |
子通信协议Id |
level |
smallint(6) |
'0' |
玩家当前等级 |
|
exp |
int(11) |
'0' |
玩家当前经验 |
|
gold |
int(11) |
'0' |
玩家当前金币数 |
|
goldTicke |
int(11) |
'0' |
玩家当前礼券数 |
|
asset |
bigint(20) |
'0' |
玩家当前游戏币 |
|
ip |
varchar(30) |
NULL |
玩家操作ip |
|
params |
varchar(250) |
NULL |
参数,见① |
|
auto |
int |
0 |
|
0表示手动操作,1表示系统自动操作 |
ts |
int(11) |
'0' |
Index |
执行时间 |
① :params字段记录了描述行为相关的多个变量(X1,X2,X3,X4…),采用英文逗号分隔符分割,建议不超过10个变量。params字段结合下面配置表的desription字段使用。
②:对于同一操作可能影响到多个道具的,建议分多行纪录。
1)、操作类型配置表的description字段对行为进行描述;
2)、把description字段中的X1~Xn用日志记录表params字段中的相关的变量进行替换,即获得操作行为的完整描述;
id |
rootid |
rootname |
typeid |
typename |
description |
1 |
1 |
装备系统 |
10001 |
购买装备 |
购买【装备名称=X1】(【装备ID=X2】)【装备数量=X3】件,花费铜币【X4】,元宝【X5】 |
2 |
1 |
装备系统 |
10002 |
升级装备 |
升级【X1】级【装备名称=X2】(【装备ID=X3】),当前成功率为【X4】%,花费元宝【X5】,花费铜币【X6】,升级结果【X7】,等级为【X8】 |
3 |
4 |
面板操作 |
40001 |
充值面板 |
打开充值面板,当前元宝【X1】,当前铜钱【X2】 |
4 |
4 |
面板操作 |
40002 |
任务界面 |
弹出【x1】任务界面 |
5 |
4 |
面板操作 |
40003 |
任务界面 |
玩家接受【x1】任务 |
5 |
2 |
任务系统 |
20001 |
接受任务 |
接受主线任务【X1】(【任务ID=X2】) |
6 |
2 |
任务系统 |
20002 |
主线任务领取奖励 |
完成主线任务【X1】(【任务ID=X2】),获得奖励【X3】 |
7 |
3 |
战斗系统 |
30001 |
攻击玩家结果 |
攻击【势力=X1】的玩家【玩家昵称=X4】(【玩家ID=X5】),结果【X6】,获得声望【X7】 |
|
|
|
|
|
|
对于不方便使用params替换方法纪录的游戏,可以采用简化版纪录方式:
params字段直接纪录玩家一次操作的全部描述,对于关键数据,需要用{}符号进行包裹,示例如下:
升级{5}级{碧血枪},装备ID{255},当前成功率为{22}%,花费元宝{80},花费铜币{2000},升级结果{成功},等级为{6}。
1、引起充值操作的数据(如点购买哪个道具弹出充值面板)和充值数据。
2、引起玩家各种重要属性改变的操作,建议记录。
3、玩家点开和关闭一些重要的面板,如充值面板,任务面板,副本面板,进行记录,并且应该能区分是玩家手动点开还是系统自动弹出, 关闭面板时,也应该记录是玩家手动关闭还是自动关闭。