黑暗之焰宇宙:乐高宇宙服务器仿真器

avatar
作者
猴君
阅读量:0

黑暗之焰宇宙:乐高宇宙服务器仿真器

Logo

简介

黑暗之焰宇宙(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中的说明。

部署步骤概览

  1. 克隆仓库
  2. 安装依赖库
  3. 数据库配置
  4. 构建服务器
  5. 服务器配置
  6. 验证你的设置
  7. 运行服务器
  8. 用户指南

克隆仓库

在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,然后安装cmakegccmariadbopensslzlib
  • Linux:检查是否已安装gcczlib等基础包。在Ubuntu上,可能还需要zlib1g-devlibssl-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_versionbuild/sharedconfig.ini中设为171023。

服务器配置

  1. 必须配置:打开build/sharedconfig.ini,填充以下字段:
    • mysql_host:MariaDB服务器的IP地址或主机名(可能是localhost);如果端口不是3306(例如,在Windows上更改了端口),则应更改为tcp://localhost:portNum,其中portNum替换为你选择的MariaDB端口号。
    • mysql_database:服务器使用的数据库名称。
    • mysql_username:为服务器创建的用户名。
    • mysql_password:该用户的密码。
    • client_location:客户端文件的位置(应该是打包或解包的客户端文件夹路径)。
  2. 可选配置:包括authconfig.inichatconfig.inimasterconfig.iniworldconfig.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,修改UserGroup为运行服务器的用户,并更新ExecPath为服务器可执行文件的完整路径。

完成配置后,注册、启用并启动服务:

  • 刷新systemd管理器配置:
systemctl daemon-reload 
  • 启动服务:
systemctl start darkflame.service 
  • 开启或关闭开机启动:
systemctl enable|disable darkflame.service 

黑暗之焰宇宙不仅提供了对乐高®宇宙游戏的强大模拟,还支持多平台部署和个性化配置。这是一个绝佳的机会,让你和朋友们重新探索那个充满想象力的乐高世界。立即加入,开始你的冒险之旅吧!

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!