基于玩家社交图谱的游戏外挂检测

课题背景

游戏中的外挂作为一种自动化的脚本,极大的破坏了游戏的公平性,降低了玩家的游戏体验,同时也对游戏中的货币金融系统带来了冲击。

因此外挂检测系统成为了游戏中不可或缺的防御手段。除了游戏进程、内存保护等传统手段,逆水寒等大型MMORPG游戏中包含的丰富数据,给予了技术人员从数据角度切入的可能性。

由于外挂盈利模式和游戏玩法的限制,外挂玩家必然会在游戏中与其他角色发生例如交易,组队,好友,共享硬件等交互行为,以达到价值转移的目的。因此技术人员可以根据这些行为构建大规模社交图谱,挖掘其中不符合人类的行为模式,并利用Network Embedding, Graph Neural Network等技术帮助游戏完成自动化的外挂检测,净化游戏环境。

问题定义

根据游戏中的 KK 种社交数据,分别构造玩家见的关系图谱G=[G1,G2,,GK]\mathbf{G}=[G^1,G^2,\cdots,G^K] ,如图1所示。第 kk种社交数据对应的Gk=(V,Ek,Wk)G^k = (\mathbf{V},\mathbf{E}^k,\mathbf{W}^k),其中V\mathbf{V}表示节点(玩家)集合,Ek\mathbf{E}^k表示边集合,Wk\mathbf{W}^k表示权重邻接矩阵。同时eijkEke_{ij}^k \in \mathbf{E}^k表示viv_ivjv_j玩家之间存在第kk种社交关联,且权重为wijkWkw_{ij}^k \in \mathbf{W}^k

游戏中还包含玩家属性矩阵ARN×d\mathbf{A}\in \mathbb{R}^{N\times d}和少量已知的外挂集合Y\mathbf{Y}

基于社交图的游戏外挂检测检测任务为:给定上述图谱数据 G\mathbf{G} ,玩家画像数据A\mathbf{A},和外挂集合Y\mathbf{Y},构建一个外挂检测模型 h()h(\cdot)识别潜在的外挂玩家。

问题挑战

该问题主要存在以下挑战:

  • 如何有效的使用图模型对玩家进行特征提取和建模;

  • 如何解决标签稀缺的问题,即大量潜在外挂未在集合Y\mathbf{Y}中;

  • 如何对检测出的可疑玩家给出可解释的说明和外挂的证据。

评价指标

分类准确率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