基于玩家社交图谱的游戏外挂检测
课题背景
游戏中的外挂作为一种自动化的脚本,极大的破坏了游戏的公平性,降低了玩家的游戏体验,同时也对游戏中的货币金融系统带来了冲击。
因此外挂检测系统成为了游戏中不可或缺的防御手段。除了游戏进程、内存保护等传统手段,逆水寒等大型MMORPG游戏中包含的丰富数据,给予了技术人员从数据角度切入的可能性。
由于外挂盈利模式和游戏玩法的限制,外挂玩家必然会在游戏中与其他角色发生例如交易,组队,好友,共享硬件等交互行为,以达到价值转移的目的。因此技术人员可以根据这些行为构建大规模社交图谱,挖掘其中不符合人类的行为模式,并利用Network Embedding, Graph Neural Network等技术帮助游戏完成自动化的外挂检测,净化游戏环境。
问题定义
根据游戏中的 种社交数据,分别构造玩家见的关系图谱 ,如图1所示。第 种社交数据对应的,其中表示节点(玩家)集合,表示边集合,表示权重邻接矩阵。同时表示与玩家之间存在第种社交关联,且权重为。
游戏中还包含玩家属性矩阵和少量已知的外挂集合。
基于社交图的游戏外挂检测检测任务为:给定上述图谱数据 ,玩家画像数据,和外挂集合,构建一个外挂检测模型 识别潜在的外挂玩家。
问题挑战
该问题主要存在以下挑战:
如何有效的使用图模型对玩家进行特征提取和建模;
如何解决标签稀缺的问题,即大量潜在外挂未在集合中;
如何对检测出的可疑玩家给出可解释的说明和外挂的证据。
评价指标
分类准确率Precision,召回率Recall,F1-score,AUC
数据集描述
数据集按照天进行分割,其中每天数据包括下面五部分:用户该天属性数据、该天聊天数据、该天交易数据、该天组队数据、该天好友数据。
用户属性数据
字段 | 描述 |
---|---|
role_id | 玩家id |
login_cnt | 当天登录次数 |
online_time | 当天在线时间 |
total_yuan_bao | 最新的累计兑换元宝数(用来筛选玩家) |
server | 服务器 |
role_class | 职业 |
role_gender | 性别 |
role_level | 等级 |
create_time | 账号创建时间 |
role_base_score | 基础评分 |
role_talisman_score | 法宝评分 |
role_skill_score | 技能评分 |
role_practice_score | 修炼评分 |
role_equip_score | 装评 |
role_total_score | 战斗力 |
role_wuxue_score | 武学修为 |
not_binded_charged_yuanbao | 不绑定元宝 |
hstb | 元宝票 |
bdyb | 绑定元宝 |
yin_liang | 铜钱 |
yin_piao | 交子 |
ck_yin_liang | 仓库铜钱 |
bhgx | 帮会贡献 |
sjtxjf | 试剑天下积分 |
kjjf | 科举积分 |
liang_shi | 良师值 |
jj | 军阶 |
ttsw | 论文声望 |
role_cor | 根骨 |
role_agi | 身法 |
role_int | 气海 |
role_sta | 耐力 |
role_str | 力量 |
finished_task_acm_cnt | 累计完成任务次数 |
watch_movie_acm_pct_avg | 累计观看剧情平均百分比 |
npc_interact_acm_tms | 累计NPC交互次数 |
punish_cnt | 被惩罚次数 |
f_bl_task_acm_num | 累计完成的支线任务个数 |
acm_get_free_yuanbao_amt | 玩家累计获得的免费元宝数 |
acm_get_recharge_yuanbao_amt | 玩家累计获得的直充元宝数 |
acm_get_charge_yuanbao_amt | 玩家累计获得的收费元宝数 |
acm_get_yl_amt | 玩家累计获得的铜钱数 |
acm_get_yp_amt | 玩家累计获得的交子数 |
acm_use_free_yuanbao_amt | 玩家累计消耗的免费元宝数 |
acm_use_recharge_yuanbao_amt | 玩家累计消耗直充元宝数 |
acm_use_charge_yuanbao_amt | 玩家累计消耗的收费元宝数 |
acm_use_yl_amt | 玩家累计消耗的铜钱数 |
acm_use_yp_amt | 玩家累计消耗的交子数 |
learned_production_num | 玩家已学习的生活技能数 |
lear | 当前职业技能平均等级 |
该天聊天数据
字段 | 描述 |
---|---|
playera | 聊天发起者 |
playerb | 聊天接受者 |
server | 服务器id |
count | 聊天次数 |
该天交易数据
字段 | 描述 |
---|---|
playera | 交易发起者 |
playerb | 交易收取者 |
server | 服务器id |
money | 交易涉及金钱数 |
tradetype | 交易类型 |
其中交易类型:
1-3为面对面交易:1正常交易,2乞讨,3赠与
4:摆摊
5:玩家商店
6: 红包交易
该天组队数据
字段 | 描述 |
---|---|
playera | 组队玩家a |
playerb | 组队玩家b |
server | 服务器id |
count | 同在一个队伍次数 |
该天好友数据
字段 | 描述 |
---|---|
playera | 好友发起者 |
playerb | 好友接受者 |
server | 服务器id |
status | 状态,1=新增,0=删除 |
relationship | 关系类型 |
sub_relationship_type | 子关系类型 |
sub_relationship_value | 子关系值 |
关系类型:
1-好友 2-师徒 6-临时好友 7-临时仇敌 8-仇敌 9-黑名单 10-别人加我为好友。
子关系类型/值对应:
如果主关系是师徒,子关系类型是2,子关系值true表示师傅,false表示徒弟。
如果主关系是好友,子关系类型是3,子关系值true表示双向好友,false表示单向好友。
如果主关系是仇敌,子关系类型是4,子关系值true表示该仇敌置顶,false表示未置顶。
相关学术论文
Fuxi-UP团队针对这个问题,从多视图学习角度入手,通过Attention机制结合多来源数据,建立起基于游戏交易图中的刷钱外挂检测框架MVAN,相关工作已发表在KDD'2019。
Tao, Jianrong, Jianshi Lin, Shize Zhang, Sha Zhao, Runze Wu, Changjie Fan, and Peng Cui. "MVAN: Multi-view Attention Networks for Real Money Trading Detection in Online Games." In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, pp. 2536-2546. ACM, 2019.
联系我们
有任何问题,请联系 xuyuhong@corp.netease.com
Last updated