> For the complete documentation index, see [llms.txt](https://fuxi-up-research.gitbook.io/open-project/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fuxi-up-research.gitbook.io/open-project/research_topics/game_server_merge_simulation.md).

# MMORPG游戏服务器的合并模拟预测

## 课题背景

游戏服务器的生命周期一般包括开服、人气上升、人气顶峰、人气下降、玩家流失加剧、停服等阶段。与国家和城市类似，人口大量流失会带来经济萧条和社会动荡，游戏服务器玩家在线数量是维持游戏生命力的关键。为了维护游戏生命力和玩家体验，游戏运营一般会选择在玩家大量流失前的平稳下降阶段进行服务器合并：既选择两个及以上游戏服务器进行合并，使得合并后的服务器恢复到可以正常运转的状态。

然而，选取最优的游戏服务器合并方案却并非易事。与一般游戏不同，[MMORPG](/open-project/background_knowledge/mmo_basics.md)游戏以玩家社交为主要核心，提供了更为复杂多样的玩法，建立起了虚拟经济体系和资源体系。可以说，**每一个游戏服务器都是大量个人、团体和组织通过错综复杂的关系网相连的综合体**。在这个综合体中，帮会作为固定组织联系起了大量玩家，形成较为稳固的利益集团，抢占游戏服务器中的有限资源；临时队伍连接起小部分玩家，方便个人参与和完成任务；此外，帮会之上可能还有势力等联盟性质联合体，玩家之还存在好友、侠侣、师徒、结拜、门派等其他联系。

学术界对于游戏服务器合并的研究甚少，不过该问题可以类比于经济学中的公司并购分析（如图1，[Mergers and Acquisitions – M\&A ](https://www.investopedia.com/terms/m/mergersandacquisitions.asp)）中的横向合并问题：即业务相同（或相近）的公司进行合并。只不过在这里是“业务”相同的服务器合并，衡量指标不再是成本与收益等经济指标，而是玩家在线人数等游戏运营指标。从大处讲，服务器合并也可以类比于国家合并（如图2是东西德统一），两个服务器的合并相当于两套系统的互通互融，从而分享共同的资源利益，同时也要面临更大的内部矛盾和竞争。

类似并购分析，一种较为可行的方案是在服务器合并之前进行**合服模拟预测**，即提前预测服务器合并之后可能的服务器运行状态，从而便于运营人员选择合适的时机和合适的组合进行服务器合并。

![图1：公司并购](https://noterminus.gitee.io/image_bed/images/acquisition-merger.jpg)

![图2：1990年德国统一](https://noterminus.gitee.io/image_bed/images/german_unification.jpeg)

## 问题定义

给定任意一组服务器（两个或两个以上），预测这一组服务器进行合并之后未来一段时间（例如一个月）的运行状态（包括游戏在线人数、游戏充值数量、游戏玩法参与次数等）。

## 问题挑战

本课题主要存在以下挑战：

* 由于合服记录较少，数据集比较稀疏
* 影响合服结果的因素众多，而且游戏版本、游戏生命周期、外部舆论等都会对游戏合服结果产生影响
* 合服预测模拟的结果如何进行有效评估
* 全局的合服分组优化同时也是一个分组问题，属于NP-hard

## 评价指标

主要从定性和定量两个方面进行评价：

* 定性：预测服务器合并之后的趋势变化（上升或下降），可以通过历史数据进行验证
* 定量：预测服务器合并之后未来一段时间每一天的状态数值，可以用回归指标例如MAE、RMSE、MAPE、MASE等进行评估

## 数据集描述

服务器数据集主要包含历史合服记录和服务器每日状态两个部分：

* 历史合服记录：

| 字段         | 类型     | 描述         |
| ---------- | ------ | ---------- |
| server\_id | string | 服务器id      |
| is\_merged | bool   | 是否被合并      |
| merged\_to | int    | 被合并之后服务器id |
| ds         | string | 日期         |

* 服务器状态：

| 字段             | 类型     | 描述        |
| -------------- | ------ | --------- |
| server\_id     | string | 服务器id     |
| act\_count     | int    | 总在线人数     |
| total\_score   | double | 服务器玩家总积分  |
| total\_charge  | double | 服务器玩家总充值  |
| exchange\_rate | double | 服务器虚拟货币汇率 |
| open\_date     | string | 开服日期      |
| ...            | ...    | ...       |
| ds             | string | 日期        |

此外，数据集中还包括每一个玩家的历史行为序列、画像特征以及多关系网络数据。

## 联系我们

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