黑暗之焰宇宙:乐高宇宙服务器仿真器
简介
黑暗之焰宇宙(Darkflame Universe, DLU)是一个为乐高®宇宙游戏设计的服务器模拟器。自2013年起,经过多次迭代改进,现在可以提供几乎完美的游戏服务器模拟体验。
乐高®宇宙回顾
由NetDevil和乐高集团联合开发的乐高®宇宙于2010年10月发布,但在2012年1月遗憾地停止运营。DLU旨在让玩家重温这一经典游戏的乐趣。
许可协议
DLU遵循AGPLv3许可证,详细信息请查阅https://blog.csdn.net/gitblog_00075/article/details/LICENSE文件。请注意以下要点:
- 我们不对您使用代码产生的后果负责。
- 代码提供“原样”且无任何保证。
- 如果您修改并分发代码,必须公开改动。
- 主机托管服务被视为代码分发,可能需要遵守额外的安全措施。
提示与免责声明
- 安装难度:设置过程建议熟悉命令行环境,尤其是Unix-like系统。
- 服务器托管:不建议公开托管服务器。DLU适合小规模部署,如朋友间的小型游戏群组,大规模部署可能存在安全风险。
- 资源文件供应:DLU仅为服务器模拟器,不提供乐高®宇宙的游戏文件。您需要自行准备游戏客户端,我们无法提供,但可参考安全校验和列表来确认客户端兼容性。
单人服务器快速启动指南
如果你在Windows上,想建立一个仅限单人的游戏服务器,可以参考HailStorm的 Native Windows Setup Guide,跳过本README中的说明。
部署步骤概览
克隆仓库
在Windows上,你需要先下载并安装[Git](https://git-scm.com/download/win),然后运行以下命令:
git clone --recursive https://github.com/DarkflameUniverse/DarkflameServer
安装依赖库
- Windows:确保已安装MSVC C++ 编译器(推荐)或Clang编译器,以及CMake(版本3.18或更高)。
- MacOS:需安装brew,然后安装
cmake
,gcc
,mariadb
,openssl
和zlib
。 - Linux:检查是否已安装
gcc
和zlib
等基础包。在Ubuntu上,可能还需要zlib1g-dev
和libssl-dev
以及openssl
。还需安装mariadb-server
作为MySQL数据库解决方案。
数据库配置
首先启动MariaDB。
- Windows:默认已启用。
- MacOS:运行
brew services start mariadb
。 - Linux:运行
sudo systemctl start mysql
(如果systemctl
不可用,请尝试sudo service mysql start
)。
在所有平台上,每次重启环境都需要执行此操作。
构建服务器
你可以直接运行https://blog.csdn.net/gitblog_00075/article/details/build.sh
脚本:
./https://blog.csdn.net/gitblog_00075/article/details/build.sh
或者手动执行https://blog.csdn.net/gitblog_00075/article/details/build.sh中列出的命令。为了加快速度,可添加-j<number>
选项,其中number
是你希望同时运行的编译任务数。例如,若要同时运行4个任务,命令将是:
./https://blog.csdn.net/gitblog_00075/article/details/build.sh -j4
注意:根据操作系统,你可能需要在CMakeVariables.txt中调整一些预处理器定义。在MacOS上确保OPENSSL_ROOT_DIR
指向openssl根目录,如果使用的是黑暗之焰宇宙客户端,确保client_net_version
在build/sharedconfig.ini
中设为171023。
服务器配置
- 必须配置:打开
build/sharedconfig.ini
,填充以下字段:mysql_host
:MariaDB服务器的IP地址或主机名(可能是localhost
);如果端口不是3306(例如,在Windows上更改了端口),则应更改为tcp://localhost:portNum
,其中portNum
替换为你选择的MariaDB端口号。mysql_database
:服务器使用的数据库名称。mysql_username
:为服务器创建的用户名。mysql_password
:该用户的密码。client_location
:客户端文件的位置(应该是打包或解包的客户端文件夹路径)。
- 可选配置:包括
authconfig.ini
,chatconfig.ini
,masterconfig.ini
,worldconfig.ini
在内的多个配置文件,可以根据需求进行设置。
验证你的设置
构建后的目录应如下所示:
- AuthServer
- ChatServer
- MasterServer
- WorldServer
- authconfig.ini
- chatconfig.ini
- masterconfig.ini
- sharedconfig.ini
- worldconfig.ini
- ...
运行服务器
如果一切配置正确,你可以在构建目录下运行MasterServer
二进制文件。由于黑暗之焰宇宙使用低于1024的端口号,所以在Linux上,要么给AuthServer
分配网络权限,要么以sudo运行。要赋予AuthServer
网络权限而不需sudo,运行:
sudo setcap 'cap_net_bind_service=+ep' AuthServer
然后在build/masterconfig.ini
中将use_sudo_auth
设为0。
Linux服务
在基于Linux的系统上,运行程序会占用终端,限制其他任务的执行,且需保持终端开启。你可以通过systemd服务实现非交互式运行。首先复制示例文件:
cp ./systemd.example /etc/systemd/system/darkflame.service
然后编辑/etc/systemd/system/darkflame.service
,修改User
,Group
为运行服务器的用户,并更新ExecPath
为服务器可执行文件的完整路径。
完成配置后,注册、启用并启动服务:
- 刷新systemd管理器配置:
systemctl daemon-reload
- 启动服务:
systemctl start darkflame.service
- 开启或关闭开机启动:
systemctl enable|disable darkflame.service
黑暗之焰宇宙不仅提供了对乐高®宇宙游戏的强大模拟,还支持多平台部署和个性化配置。这是一个绝佳的机会,让你和朋友们重新探索那个充满想象力的乐高世界。立即加入,开始你的冒险之旅吧!