rAthena
构建的开源跨平台中文仙境传说模拟器,帮助您自由的构建世界
仙境传说是一款非常经典的游戏,伴随着绝大多数玩家们的成长。感谢这款游戏,我们在茫茫人海中 认识了彼此,虽然我们不在同一个城市,但都彼此各自成长。从商业上看她可能不是一款最好的游戏, 但是情感上她已经成为了我们记忆中的一部分。
对这款游戏的热爱使得全世界的爱好者们为她打造出了一系列的模拟器,其中以 Athena 系列模拟器 尤为健壮,还在维护的 Athena 系列模拟器中又以 rAthena 最为活跃。
但 rAthena 是一个国际开源项目,对中文并不是特别友好。再加上其定位非常明确,即:只做尽可 能接近官方的模拟器 ( 意味着其改动依据都将以 kRO 为准;而非官方的改动不符合该原则 ) 。
因此我们将站在 rAthena 的巨人肩膀上二次开发了 Pandas 模拟器 ( 熊猫模拟器 ) ,我们的定位 也非常朴素和简单:对中文用户友好的仙境传说模拟器。
熊猫模拟器的前身是 rAthenaCN 模拟器,rAthenaCN 模拟器闭源且仅支持 Windows 环境,当前 已经不再进行维护。而熊猫模拟器的所有基础功能和代码都将毫无保留直接开源。欢迎对源代码感兴趣 的朋友一起来进行学习探讨,或许几年之后社区需要靠你们来延续。
主要是与 rAthena 模拟器相比的差异化功能,这些功能可能其他闭源模拟器已经实现,但在熊猫里面 相关代码是开源的,方便您学习或者随意修改。欢迎您阅读熊猫模拟器的 功能配置文件 来了解我们做过的所有功能改动。甚至通过此文件,您也可以直接关闭熊猫模拟器对某些功能的更改, 使之恢复到与 rAthena 行为一致。
- 终端信息汉化 —— 汉化绝大部分终端提示的文本信息,兼容简体和繁体中文
- 变态服拓展包 —— 解锁角色的素质上限, 可以给角色几百万的 STR 等六维素质值
- 疾风缓存 —— 大幅加速 YAML 数据文件的读取速度 ( 大幅缓解焦虑, 提高调试效率 )
- 单位光环系统 —— 可以为任意游戏单位设置光环特效,可将多个视觉效果组合成光环
- 简易挂机机制 —— 支持:离开 / 挂机两种模式, 挂机单位可被 Unit 系列脚本指令控制
- 护身符道具 —— 能够将道具设置为护身符,放在背包即可生效
- 效果脚本拓展 —— 使效果脚本 ( Bonus Script ) 拥有唯一编号, 可被单独移除
- MySQL 8.0 支持 —— 能够支持 MySQL 8.0 及更新的数据库而不会出现连接错误
- 崩溃转储生成 —— 程序崩溃时能自动生成并上报转储文件,帮助研发人员解决问题
在 rAthena 原来的指令集和事件基础上我们拓展了更多的小玩意,使脚本作者们能够充分发挥自己 的想象力,给玩家带来有趣和好玩的游戏体验。具体详情请见对应的说明文档:
- 管理指令 ( Atcommands )
- 脚本指令 ( Script Commands )
- 事件标签 ( NPC Event Label )
- 地图标记 ( Mapflags )
- 效果调整器 ( Bonus )
若您有拓展需求或者想法,劳驾请您 建立新的反馈 给我们,或者 加入爱好者社区 给管理员进行反馈,我们将挑选优质且有远见的需求优先进行实现。
使用此模拟器会有两套不同的使用场景:开发者场景 和 使用者场景,其中开发者场景下 的配置要求会更高一些,以下为不同场景下要求的软硬件配置信息,请根据使用场景对号入座。
Item / Scenes | 开发者 - Win | 使用者 - Win | 开发者 - Unix | 使用者 - Unix |
---|---|---|---|---|
CPU | ≥4 Threads | ≥2 Threads | ≥4 Threads | ≥2 Threads |
Memory | ≥8 GB | ≥4 GB | ≥4 GB | ≥4 GB |
Disk Space | ≥6 GB | ≥2 GB | ≥6 GB | ≥2 GB |
上表是各个场景下的最低配置,如果条件允许的话,可以在上表中的数值基础上直接乘以 2 得到 推荐的配置信息。有条件的同学一定要换成 SSD 固态硬盘!
熊猫模拟器是一个开源项目,因此当您获取源码后需要手动进行编译才能获得可以运行的二进制文件; 亦或者您可以前往 下载页面 直接下载预编译好的版本,直接使用 ( 新手推荐 ) 。
注意:此处的编译说明仅提供最精简的指引信息,完成编译之后还需要搭建 MySQL 服务器并进行 配置才能使模拟器成功运行起来。关于从编译到完成配置的全环节详细信息请见 完整说明文档 。
- 安装 Visual Studio 2019 社区版,安装时请勾选 「使用 C++ 的桌面开发」 模块
- 获取模拟器源代码 ( 推荐使用 Git 克隆而不是直接下载源代码,因为会丢失仓库信息 )
- 建议将仓库存放到纯英文路径,因为某些第三方库对中文支持不友好 ( 即全路径中不要出现中文 )
- 解压源代码后先双击
3rdparty\boost\bootstrap.bat
编译Boost Libraries
- 打开
rAthena.sln
选择编译模式 ( 调试用 Debug,正常用 Release ) 并生成解决方案
您可能会发现仓库中
db
目录里的各类信息并未汉化,而且与直接从 下载页面 获取到的压缩包目录结构并不一致 ( 有很多散乱的文件 ) 。这是为了与 rAthena 仓库保持最小 改动而有意为之,您可以通过预置的辅助脚本来完成编译和发布打包操作,以此来获得一个对使用者 友好的压缩包。
熊猫模拟器并不支持 rAthena 官方的 .\configure && make
编译方式,仅留下了相对好维护的
CMake 编译方式,对于这一点有经验的同学注意一下,避免被坑。在本例子中,我们将使用
Ubuntu 18.04
发行版进行演示。
## 获取最新的 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
很遗憾,熊猫模拟器当前并没有官方的一键开服套件。熊猫模拟器当前面向的主要用户,并非是一窍 不通的萌新玩家,毕竟搞懂一个开源项目需要大量的背景知识。我们亦希望通过早期维持使用难度 以便召集一群知识覆盖面相当,有经验的使用者。为以后熊猫模拟器的迭代做储备。
此问题无法答复,因为模拟器并非官方服务端,我们游戏中的所有功能都是「尾随」官方之后通过一些 爱好者在官服的体验游玩,分析和观察后模拟实现的;官服的每个 EP 版本都是无数小调整组合在 一起的 「集合包」,这些调整中有的模拟起来比较简单而有的非常复杂,这就导致了模拟器实装这些 改动的时间的无法被统一。
玩家若能看到某个模拟器搭设的服务器中,宣传语提到了所谓实装 EP XX.X 资料片,绝大多数都 只是实装了一些关键特征而已。比如:某 EP 版本才拥有的副本,出现在了该服务器中,因此宣传的 时候以:实装 EP XX.X 来吸引玩家罢了!
当然,凡事总有例外:有的爱好者有着自己的追求,在掌握大量的数据和资料的情况下,甚至能够模拟 到玩家几乎无感知,但这必定花费了大量的心血。
截止 2021 年 4 月 11 日
熊猫模拟器 v1.1.0 版本,默认的客户端封包版本是 20180620
,
且支持到 rAthena 官方等同的 20200409
客户端封包版本。之所以默认的客户端封包版本不使用
2020
年是因为 20180620
是近几年较为稳定,服务端对客户端的支持相对成熟的版本。
在 2020
年之后的客户端中虽然有非常多的新特效和功能,但是其中有些功能并没有被模拟器很好
的支持,因此可能会在使用的过程中发现一些功能缺失;不过别担心,这些功能也不影响玩家的主要
操作,若您希望客户端封包使用 20200409
,那么只需下载源代码后通过修改 src/config/packet.hpp
文件中 PACKETVER
的定义,随后重新编译即可。
若您有能力,我们建议您自己整理一套客户端,这才能最好的符合您自己的使用需求。通常所谓的配套 客户端其实通常只是封包版本匹配,能成功进入游戏罢了。但是游戏中还会有无数的道具、魔物、地图, 这些内容必须让它与模拟器服务端中的数据完全匹配才能算真正意义上的配套,但很难。
尽管如此:我们将全球各个官服的资源文件进行提取和混合,创建了名为 LeeClient 的客户端整合项目,在这个项目中你可以随意切换客户端版本来进行调试。
此外这套 LeeClient 客户端依然存在很多缺陷:
- 对繁体中文环境支持不够友好 ( 当前几乎不能使用 )
- 支持从
20130807
到20180620
的几个主要客户端封包版本,但不支持2020
年的客户端 - 它是面向 GM 设计的,而不是面向玩家设计的,因此无法轻松分发给玩家使用
- 虽然实现了自动汉化,甚至能自动汉化图片,但是翻译对照表并不完整,很多内容都是韩文乱码
没有!整个模拟器截止 2021 年 4 月 11 日
有大约 38 万条文本,这是社区十几年无数人的积累。
对这么大量的文本进行汉化和校对不是简单的「懂英文」就搞得定的,特别费时费力!
想找到精校版免费的官方 NPC 脚本,几乎不太可能。如果是在有需求的话,还是建议直接找熟人或者 网上爬其他人汉化好的脚本来用吧。但需要注意的是,由于 NPC 脚本中混合了对话文本和与玩家的 交互逻辑。别人分享的汉化脚本如果全盘接收不加审阅的话,可能会存在刻意预埋的后门,导致服务器 被提权或者被黑。
我们的主要受众是中文用户,因此我们使用 腾讯 QQ 进行即时通讯。
熊猫模拟器交流群的群号码是:928171346
若您已安装 QQ 客户端那么请直接:
- rAthena - 熊猫模拟器、BetterRA、99MaxEA 等众多模拟器的共同的「祖先」
- Hercules - 基于 rAthena 构建的 C++ 模拟器,在客户端新功能的封包支持上表现的更为激进
- NEMO - 老牌的仙境传说客户端 DIFF 工具,目前由 Andrei Karas 维护
- WARP - 由 NEMO 的原作者建立的新 DIFF 工具,或许未来有一天会替代 NEMO?
- roBrowser - 网页版的仙境传说客户端,虽然现已停止维护,但非常具有参考价值
- roint - 客户端常见文件格式 ( 如:gat、rsw、rsm、spr、rgz ) 的解析代码,具有参考价值
- unityro - 基于 Unity3D 实现的仙境传说客户端 ( 近期活跃,值得关注 )
- CairoLee —— 项目主持人 ( AKA: Sola 丶小克 )
有关如何为熊猫模拟器做出贡献的详细信息, 请参见 贡献说明 。
特别感谢近期活跃的贡献者,排名不分先后 ( 通常后加入的写最前面 )
[聽風]、Renee、NIFL、人鱼姬的思念、♬喵了个咪、文威
版权所有 © 熊猫模拟器开发团队 - 授权许可协议 GNU General Public License v3.0