在本教程中,您将学习如何在树莓派上为 Sonic 粉丝游戏 Sonic Robo Blast 2 (SRB2) 设置服务器。
Sonic Robo Blast 2(SRB2) 是一个受欢迎的 Sonic 粉丝游戏,由一个名为 Sonic Team Junior 的小组开发。
SEGA Mega Drive 的原始 2D Sonic 游戏启发了该粉丝游戏。团队尝试采用原始游戏的游戏风格,并在 3D 游戏世界中进行想象。
该游戏的独特功能之一是其多人游戏模式。您可以与其他玩家一起在线玩整个游戏。
本教程将引导您完成几个不同的步骤,因为您需要在树莓派上编译 SRB2 ,然后才能将游戏作为服务器运行。
请注意,如果您希望服务器对公众开放,则需要 portportforward 的 5029 UDP 协议。
设备清单
这是我们建议本教程有关设置 SRB2 服务器的设备的列表。
推荐的
树莓派 1、 2 、 3 或 4
Micro SD 卡
电源
Ethernet Cord 或 * WiFi dongle (Pi 3 和 4 具有内置 WiFi)
可选的
- 树莓派外壳
我们在运行最新版本的 Raspbian Buster 的树莓派 4 上设置 SRB2 服务器上测试了本教程。/download-raspbian/)。
为 RRB2 准备树莓派
1 在开始之前,让我们更新树莓派上的现有软件包。
sudo apt update
sudo apt upgrade
2 下一步是安装我们需要在树莓派上编译 Sonic Robo Blast 2 源代码的软件包。
由于我们仅将此副本用于专用服务器,因此我们删除了一些所需的库,因此不需要处理音乐或图像的任何内容。
sudo apt install git build-essential p7zip libsdl2-dev屏幕
3 现在,我们需要将代码从 SRB2 存储库克隆到我们的树莓派。
要将代码克隆到您的 Pi ,请运行以下命令。
git clone https://github.com/STJr/SRB2.git〜/src/srb2
在树莓派上编译 SRB2
1 现在,使用以下命令将目录更改为”〜/src/srb2/src” 目录。
cd〜/src/srb2/src
2 现在我们位于 SRB2 的 src 目录中,我们可以运行以下命令。
此命令将在禁用了各种库的情况下编译游戏。
我们禁用这些库以减少编译时间,因为在作为专用服务器运行时不需要它们。
cd〜/src/srb2/src &&制作-j $(nproc)\
LINUX = 1 \
NONX86 = 1 \
NOHS = 1
NOHW = 1 \
NOPNG = 1 \
NOMIXER = 1 \
NOGME = 1 \
NOOPENMPT = 1 \
NOASM = 1 \
GCC83 = 1
完成该编译过程将需要一些时间,尤其是在较旧的树莓派上。
3 Sonic Robo Blast 2 完成编译后,让我们通过运行以下命令创建一个目录以将其存储在其中。
该目录将存储新编译的二进制文件和运行服务器所需的资产文件。
mkdir〜/srb2 /
4 现在,将二进制文件从编译了 SRB2 的 src
文件夹复制到〜/srb2 /
文件夹,并切换到该目录。
cp〜/src/srb2/bin/Linux/Release/*〜/srb2 /
cd〜/srb2 /
5 现在,我们为 Sonic Robo Blast 2 下载资产。这些资产包含运行服务器所需的所有数据。
wget https://files.pimylifeup.com/srb2/srb2-assets-2.2.8.7z
6 现在,我们需要使用先前安装的 p7zip
软件包将资产提取到当前目录。
运行以下命令将资产提取到您的树莓派中。
p7zip -d -f srb2-assets-2.2.8.7z
提取过程完成后,您的树莓派现在可以将 SRB2 作为专用服务器运行。
将 SRB2 作为专用服务器运行
1 在运行服务器之前,我们先获取 Pi 的本地 IP 地址。
您可以使用此 IP 地址在本地连接到 SRB2 服务器。
要将 SRB2 作为专用服务器运行,您需要做的就是运行以下命令。
/home/pi/srb2/lsdl2srb2 专用
服务器现在应该联机,您将能够从 Sonic Robo Blast 2 游戏客户端访问它。
2 如果您希望服务器出现在正式的 SRB2 主服务器列表中,则需要使用其他参数。
该参数是” 房间 ID “。
您可以在此参数中使用三个不同的 ID :
“33” 是用于” 标准” 房间的 ID 。28
是用于” 休闲” 房间的 ID 。*38
是用于” 拥抱” 房间的 ID 。
以下是在房间设置为” 标准” 的情况下启动服务器的示例。
/home/pi/srb2/lsdl2srb2 - 专用 - 房间 33
为 SRB2 服务器设置服务
在本节中,我们将向您展示如何在树莓派上设置自动启动 SRB2 服务器的服务。
1 首先,在 /etc/systemd/system /
目录中创建一个服务文件。
我们将此服务文件称为”srb2.service
“。
sudo vim /etc/systemd/system/srb2.service
2 在此文件中,输入以下行。
[单元]
描述= SRB2专用服务器
Wants = network-online.target
之后= network-online.target
[服务]
类型=分叉
用户= pi
组= pi
ExecStart =/usr/bin/screen -d -m -S srb2/home/pi/srb2/lsdl2srb2-专用-房间 33
ExecStop =/usr/bin/pkill -f/home/pi/srb2/lsrb2sdl
WorkingDirectory =/home/pi/srb2
重启=总是
[安装]
WantedBy =多用户目标
这些行定义了我们的服务,何时启动,应该执行什么命令,应该由什么用户运行以及在停止服务时要执行什么命令。
通过此服务,我们使用” 屏幕” 工具来启动 SRB2 服务器。这样,可以访问服务器命令行。
3 现在,按 CTRL + X,然后按 Y ,然后按 ENTER 保存文件。
4 让我们继续,使用以下两个命令启用并启动服务
启用该服务将使其在启动时自动启动。
sudo systemctl启用 srb2
sudo systemctl启动 srb2
5 如果要启动 SRB2 专用服务器终端,请运行以下命令。
屏幕-r srb2
6 完成后,您需要按以下组合键,CTRL + A +D。
配置 SRB2 服务器
可以更改 SRB2 服务器的设置。
1 首先创建具有一些基本选项的基本配置文件。
vim /home/pi/.srb2/addserver.cfg
2 在此文件中,添加以下行。
这些只是一些基本设置。您可以在 SRB2 Wiki 上找到所有可用选项。
服务器名称"PiMyLifeUp SRB2服务器"
显示"警告"
pingtimeout"10"
最大化"0"
cpusleep"1"
skipmapcheck"关闭"
jointimeout"350"
nettimeout"350"
blamecfail"关闭"
showjoinaddress"打开"
joinnextround"关闭"
allowjoin"打开"
下载速度"16"
noticedownload"关闭"
maxsend"4096"
resynchattempts"10"
maxplayers"8"
主服务器"ms.srb2.org:28900"
您可以修改”servername
“行来更改服务器的名称。
3 通过按 CTRL + X,然后按 Y ,然后按 ENTER 保存文件。
4 如果您正在将 SRB2 作为服务运行,则现在应该通过运行以下命令来重新启动它。
服务器启动后,新设置将由服务器加载。
sudo systemctl restart srb2
将 Mod 添加到 SRB2 专用服务器
也可以向您的树莓派驱动的 SRB2 服务器添加 mod 。
1 要将插件添加到服务器,首先需要创建一个文件夹来存储它们。
默认情况下,SRB2 服务器软件会自动在其可执行文件所在的位置查找”addons” 文件夹,因此从创建它开始。
mkdir/home/pi/srb2/addons
2 现在将您要安装的所有插件复制到此文件夹。
您可以在 SRB2 官方论坛上找到 Sonic Robot Blast 2 的各种插件。
更新您的 SRB2 服务器
在本节中,我们将向您展示如何使用一些简单的命令来更新 SRB2 服务器。
1 要更新服务器,我们需要首先在 /src/srb2 /
目录中运行以下命令。
cd〜/src/srb2 /
git pull
运行这两个命令将检索源代码的最新版本。
2 现在,让我们重新编译源代码,然后将生成的二进制文件复制到本教程第一部分中设置的文件夹中。
make -j $(nproc)LINUX = 1NONX86 = 1 \
NOHS = 1
NOHW = 1 \
NOPNG = 1 \
NOMIXER = 1 \
NOGME = 1 \
NOOPENMPT = 1 \
NOASM = 1 \
GCC83 = 1
cp〜/src/srb2/bin/Linux/Release/*〜/srb2 /
cd〜/srb2 /
3 最后,如果自上一个版本以来已对 SRB2 资产进行了修改,则可能需要替换它们。
下面,我们将下载并提取存储在 CDN 中的资产的最新版本。
这些命令还将从基本目录中删除所有现有的.pk3 文件。
wget https://files.pimylifeup.com/srb2/srb2-assets-2.2.8.7z
rm -f * .pk3
p7zip -d -f srb2-assets-2.2.8.7z
如果此版本已过期,则可以将所需文件直接从安装的 SRB2 复制到树莓派。希望在这一点上,您现在可以将 SRB2 作为树莓派上的专用服务器运行。
如果您遇到任何问题或有任何反馈,请与我联系。
感谢社区成员 Ozzyrockin 为本教程提供建议和基础。