# 基于玩家角色轨迹的游戏外挂检测

## 课题背景

游戏工作室通过脚本自动化的完成任务，大量的获取游戏内产出的货币并低价转售给其他玩家来获取利益，但这一行为严重的损害了游戏的经济系统，并一定程度的会影响其他正常玩家的游戏体验。鼠标轨迹和角色移动轨迹是游戏中易于收集的数据，且正常玩家（如图1）和脚本（如图2）在这些数据上的表现会有一定的差异，是一个可行的用于辨别外挂的监测点。

![图1：正常玩家的鼠标轨迹](https://noterminus.gitee.io/image_bed/images/tu-pian%20\(3\).png)

![图2：异常“玩家”的鼠标轨迹](https://noterminus.gitee.io/image_bed/images/tu-pian%20\(4\).png)

## 问题定义

根据角色的鼠标轨迹和角色移动轨迹，识别出异于常人的脚本账号。

## 问题挑战

* 数据采集间隔不均匀；
* 战斗引起的角色移动轨迹散乱；
* 标记中存在大量噪音，标记可靠性，标记准确性。

## 评价指标

准确度优先的F-score，即：

$$
F\_\beta = \frac{(\beta^2+1)PR}{\beta^2 P+R},\beta<1
$$

其中， $$P$$ 和 $$R$$ 分别表示精度和召回率。

## 数据集描述

数据包含鼠标轨迹数据（mouseMoveValue）和角色移动轨迹数据（playerLocation）两个文件夹，每个文件夹下包含4张地图的数据（map0, map1, map2, map3），数据范围为2019.10.16-2019.10.22，文件为带header的csv，文件名格式为：

> '%s.%s.%s' % (角色id, 进入地图时间戳, 离开地图时间戳)

文件格式如图7：

![图7：轨迹数据文件格式](https://noterminus.gitee.io/image_bed/images/tu-pian%20\(1\).png)

|                | tm    | x      | y      |
| -------------- | ----- | ------ | ------ |
| mouseMoveValue | 毫秒时间戳 | 屏幕坐标x  | 屏幕坐标y  |
| playerLocation | 毫秒时间戳 | 地图内坐标x | 地图内坐标y |

{% hint style="info" %}
标记数据（label.csv）包括3种不同来源的封禁渠道的封禁次数，其中label0是永封，label1和label2是临时封禁，封禁数据范围为开服-2019.10.29。
{% endhint %}

## 联系我们

有任何问题，请联系 <qijiaheng@corp.netease.com>
