# 首页

**熊猫模拟器**是基于 [`rAthena`](https://github.com/rathena/rathena/) 构建的开源跨平台中文仙境模拟器，它在 rAthena 的基础上实现了更多的脚本指令和事件以及子系统，同时解决了很多小缺陷，相比 rAthena 更加稳定、完善。

我们希望能够通过**提供一系列超好用的工具和服务套件**，让使用中文的爱好者能更**自由、灵活、简单、快捷**的随意构造自己所希冀的仙境世界。

我们的使命是创造对**用户友好**（主要针对中文爱好者）的模拟器产品，帮助大家**将精力专注到更加需要创造力的工作**上面来（例如：活动设计、数值平衡设计等）。

{% hint style="warning" %}
许可协议：阅读本文档即表示您同意仅将熊猫模拟器当做模拟器技术的学习工具，任何使用熊猫模拟器程序套件、源代码及衍生品而违反当地法律法规的一切后果将由您自己承担，开发团队对您使用熊猫模拟器所带来的法律后果不承担任何责任。

若您不同意本协议，请立即关闭此页面并删除已下载的熊猫模拟器程序、源代码及衍生品。
{% endhint %}

### 定位

熊猫模拟器主要围绕的方向是 **中文**、**改进**、**增强**，因此开发团队也将围绕这几个方向来开展工作，以稳定性为前提，达成我们的小使命。

**中文**是指：对使用中文的用户友好（包括简体中文和繁体中文），除涉及巨大工作量的脚本翻译外，其他内容我们将会持续的进行高品质汉化。

**改进**是指：会在 rAthena 的基础上积极处理用户反馈，对 rAthena 本身就已经存在的功能缺陷进行改进，相比将问题以英文反馈并等待国外工程师解决来说，沟通会更顺畅。

**增强**是指：积极探索官方没有但是有意思的功能或者子系统，在确保稳定、科学设计的情况下新增更多的脚本指令和事件支持，提高游戏内的可玩性。

### 为什么开源

熊猫模拟器基于开源的 rAthena 构建，可以说没有 rAthena 开源项目，也就没有熊猫模拟器。

包括熊猫模拟器在内，任何一个以 rAthena 作为基础构建的模拟器，还能持续享受开源社区中来自全球各地工程师以及由爱好者组成的测试团队的工作成果。

因此，尽管开源会导致商业价值和变现操作空间下降，但我们依然希望将部分工作成果开放给社区。

#### 开源的优点

* 不可能存在故意设计的后门，安全经得起审计
* 使熊猫可以支持跨平台（可以在 Linux 平台上运行）
* 低级缺陷将被社区和爱好者们快速指出，因此程序的稳定性也更加可靠
* 有编码技能的专业用户可以自由贡献更多的特性，使所有用户受益
* 任何搞不清楚的公式、技能，都可以通过查阅代码自行确认

### 目标用户群

由于开源带来的复杂度，当前的主要用户是那群对模拟器**有使用经验的，爱钻研的用户**，甚至能够手动修改代码掌握 C++ 编码技能的**专业用户**。

因此在当前的版本中，萌新初学者们并不在熊猫模拟器主要规划的覆盖范围内，未来我们也会推出闭源版本，云编译等功能来降低使用难度，尽请期待。

{% hint style="info" %}
生命在于折腾！对于拥有十万个为什么的人而言，我们相信代码是最好的玩具。但事实上，在所有的程序语言中 C++ 的学习曲线是最为陡峭的，因此也请量力而行。
{% endhint %}


# 预编译版本

### 什么是预编译版本

每当新版本发布时，我们会使用最新版本的代码来编译出可执行程序，并打包成可供大家下载的“预编译”压缩包，下载后即可直接运行，不用再自行编译。

### 如何下载预编译版本

您可以前往 Github 访问我们的 Releases 页面，下载预编译好的程序压缩包：

{% embed url="<https://github.com/PandasWS/Pandas/releases>" %}

### 压缩包命名规范

格式规范：<mark style="color:red;">Pandas\_{版本号}\_{编译时间}\_{工作模式}\_{语言标记}.zip</mark>

* 版本号：通常是 v1.1.1 这样的 [语义化版本号](https://semver.org/lang/zh-CN/)
* 编译时间：YYYYMMDD\_hh:mm:ss
* 工作模式：<mark style="color:red;">RE</mark> 表示<mark style="color:red;">复兴后</mark>工作模式、<mark style="color:red;">PRE</mark> 表示<mark style="color:red;">复兴前</mark>工作模式
* 语言标记：<mark style="color:red;">GBK</mark> 表示<mark style="color:red;">简体中文</mark>版本、<mark style="color:red;">BIG5</mark> 表示<mark style="color:red;">繁体中文</mark>版本

通常每个版本通常至少可以看到 4 个预编译的压缩包，请根据需求选择下载其中一个即可。

### 关于 PACKETVER

预编译版本中的 PACKETVER 将会固定使用默认值，这不一定符合您的需求。您可以选择使用与默认值匹配的客户端或者自己手动编译，我们将在未来提供更加灵活的云编译方案。

* v1.0.0 \~ v1.1.9：PACKETVER 默认是 <mark style="color:blue;">20180620</mark>
* v1.1.10 开始：PACKETVER 默认是 <mark style="color:blue;">20211117</mark>


# 自行编译

预编译版本虽然免去了自己编译的繁琐操作，但实际使用过程中也会有不灵活方便的地方。如果你有以下类似的需求，那么可以考虑自行编译：

* 想自己调整部分没有配置选项的限制参数（比如队伍人数上限）
* 希望调整 PACKETVER 来适配自己喜欢的客户端版本
* 想要往熊猫模拟器里面添加自己的功能和指令

熊猫模拟器基于 rAthena 构建，因此它是跨平台的（它可以运行在 Windows 平台，也可以运行在 Ubuntu 等 Linux 平台上），我们在二次开发的过程中也一直努力保持它的跨平台特性。

> 请直接转入下一个章节，或直接通过目录跳转到你希望使用的平台对应的编译说明


# Windows 平台

### 软件环境

您的电脑中必须正确安装并配置好以下软件才能进行后续工作

* Microsoft Visual Studio
* Git for Windows
* TortoiseGit

### 步骤简介

* [使用 TortoiseGit 克隆熊猫模拟器的代码](#shi-yong-tortoisegit-ke-long-xiong-mao-mo-ni-qi-de-dai-ma)
* [编译 Boost Libraries](#bian-yi-boost-libraries)
* [运行 rAthena.sln 解决方案并执行编译](#yun-hang-rathena.sln-jie-jue-fang-an-bing-zhi-hang-bian-yi)

### 具体操作方法

#### 使用 TortoiseGit 克隆熊猫模拟器的代码

* 访问[熊猫模拟器在 Github 的项目主页](https://github.com/PandasWS/Pandas)来获取仓库地址

![](https://2904287935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfh3VZQNDro5oNqMYBk%2Fuploads%2F3s08LF6L1osGxXhEDTCZ%2Fimage.png?alt=media\&token=637f6acf-eac5-4ec4-871d-e2d8ec7e02b8)

* 在资源管理器中找一个路径<mark style="color:purple;">**全英文**</mark>的文件夹，比如：**D:\Ragnarok**
* 在 **D:\Ragnarok** 目录中空白的地方点击鼠标右键，选择：**Git 克隆**
* 在打开的窗口中将仓库地址粘贴进去，并点击确定

<div align="center"><img src="https://2904287935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfh3VZQNDro5oNqMYBk%2Fuploads%2Fj8P9ijyznvZmoK6vSoyC%2Fimage.png?alt=media&amp;token=9025cb63-7abe-45c7-8aa7-9cc150eef84d" alt=""></div>

* 此时 **TortoiseGit** 会开始克隆熊猫模拟器的代码到：**D:\Ragnarok\Pandas** 目录
* 传输速度取决于您的网速，请耐心等待

#### 编译 Boost Libraries

* 进入刚刚克隆下来的熊猫模拟器源代码目录
* 在其中找到 `3rdparty\boost` 文件夹
* 找到其中的 `bootstrap.bat` 文件，双击它来编译 Boost 库
* 编译速度取决于电脑的性能，请耐心等待
* 成功后会看到 `3rdparty\boost\stage\lib` 目录中出现大量文件

#### 运行 rAthena.sln 解决方案并执行编译

* 重新回到熊猫模拟器源代码目录
* 在其中找到 `rAthena.sln` 解决方案文件，双击打开
* 在打开的 Visual Studio 窗口顶部的工具栏中，调整为 Release 和 Win32

![](https://2904287935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfh3VZQNDro5oNqMYBk%2Fuploads%2F3x1VJdn4Yxr6AWYxihMU%2Fimage.png?alt=media\&token=4d644a60-462e-423d-9d61-469f7666d858)

* 点击顶部的菜单：生成 -> 重新生成解决方案

![](https://2904287935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfh3VZQNDro5oNqMYBk%2Fuploads%2Fwt4kskEy8n8IFjq7TiD8%2Fimage.png?alt=media\&token=7d3b96a6-721b-438c-9b67-edd230f6b4bd)

* 编译任务开始后你可以在底部的“输出”窗口中观察进展
* 编译速度取决于电脑的性能，请耐心等待（大约需要 5 分钟）
* 顺利的话你会在输出窗口看到如下提示信息

![](https://2904287935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfh3VZQNDro5oNqMYBk%2Fuploads%2FhrTidy0FOWRMuqeC9y6K%2Fimage.png?alt=media\&token=ebc1acd0-ef17-4a3f-9512-1a27c700a16c)

* 至此，熊猫模拟器的编译过程结束，可以关闭 **Visual Studio** 了

### 关于数据汉化

您可能会发现仓库中 `db` 目录里的各类信息并未汉化，而且与直接从 \[下载页面] 获取到的压缩包目录结构并不一致 ( 有很多散乱的文件 ) 。这是为了与 rAthena 仓库保持最小 改动而有意为之，您可以通过预置的辅助脚本来完成编译和发布打包操作，以此来获得一个对使用者 友好的压缩包。


# Linux 平台

熊猫模拟器并不支持 rAthena 官方的 `.\configure && make` 编译方式，仅留下了相对好维护的 CMake 编译方式，对于这一点有经验的同学注意一下，避免被坑。在本例子中，我们将使用 `Ubuntu 18.04` 发行版进行演示。

```shell
## 获取最新的 package list 以及更新本地程序包
$ sudo apt-get update -y && sudo apt-get upgrade -y

## 安装 git / git-lfs / wget / gcc 编译组件
$ sudo apt install git git-lfs wget build-essential -y

## 确认 gcc 的版本 ( 预期返回版本号 ≥ 7.4.0 )
$ gcc --version

## 安装编译 cmake 的所需依赖库 ( openssl )
$ sudo apt install openssl libssl-dev -y

## 接下来下载、解压、配置，并编译安装 cmake 3.16 版本
$ wget https://github.com/Kitware/CMake/releases/download/v3.16.0-rc1/cmake-3.16.0-rc1.tar.gz \
  && tar -xzvf cmake-3.16.0-rc1.tar.gz \
  && cd cmake-3.16.0-rc1 \
  && ./bootstrap && make -j4 && sudo make install

## 此时你可以移除上一步中下载的 cmake 压缩包以及解压后的目录
$ cd .. && rm -rf cmake-*

## 确认 cmake 的版本 ( 预期返回版本号 ≥ 3.16.0 )
$ cmake --version

## 找个位置，然后克隆熊猫模拟器源代码 ( 此处我们将其放在用户主目录中 )
$ git clone https://github.com/PandasWS/Pandas.git ~/Pandas

## 安装熊猫模拟器的依赖
$ sudo apt install libmysqlclient-dev zlib1g-dev libpcre3-dev -y

## 编译熊猫模拟器自带的 Boost Libraries
## 下列指令中的第一个 cd 若您保存熊猫模拟器仓库的位置有变，请自行更改
$ cd ~/Pandas/3rdparty/boost/ && bash bootstrap.sh && ./b2

## 编译熊猫模拟器: 先建立 cbuild 临时目录并进入到目录中
$ cd ~/Pandas && mkdir cbuild && cd cbuild

## 生成 makefile 文件
$ cmake -G "Unix Makefiles" ..

## 执行编译 ( 以后想重新编译只需进入 cbuild 目录执行 make 即可 )
$ make

## 返回仓库根目录即可看到编译产物
$ cd ~/Pandas

## 配置正确的数据库连接后，就可以启动模拟器啦
$ ./athena-start start
```


# 数据库配置


# 安装数据库服务器


# 建立数据库和权限设置


# 导入初始化数据


# 网络配置


# 单机测试


# 局域网访问


# 家用网络端口映射


# 感谢您的认可


