树莓派游戏服务器,详细步骤在树莓派上设置SRB2服务器

在本教程中,将学习如何在Raspberry Pi上为索尼克粉丝游戏Sonic Robo Blast 2(SRB2)设置服务器。

Sonic-Robo-Blast-2-Thumbnail.jpg

索尼克机器人爆炸2(SRB2)是由一个名为Sonic Team Junior的团体开发的一款人气索尼克粉丝游戏。世嘉Mega Drive的原版2D索尼克游戏激发了这款粉丝游戏的灵感。团队试图将原版游戏的玩法风格,想象成3D游戏世界。这款游戏的独特之处在于其多人模式。可以和其他玩家在线玩整个游戏。

本教程将引导你完成几个不同的步骤,因为你需要在Raspberry Pi上编译SRB2,然后才能作为服务器运行游戏。

请注意,如果想让服务器对公众开放,需要将端口转发到UDP协议的5029端口。

设备清单

以下是我们为本教程推荐的SRB2服务器设置设备清单,点击链接可直达特别优惠购买

建议

可选

我们在最新版Raspbian Buster的Raspberry Pi 4上测试了SRB2服务器的教程。

为安装SRB2准备你的树莓派

1. 在开始之前,先更新一下树莓派上现有的包。

sudo apt update
sudo apt upgrade

2. 下一步就是在树莓派上安装需要编译Sonic Robo Blast 2源码的包。

我砍掉了一些所需的库,因为我纯粹是将这个副本用于专用服务器,所以任何处理音乐或图像的东西都不需要。

sudo apt install git build-essential p7zip libsdl2-dev screen

3. 现在需要将SRB2仓库中的代码克隆到Raspberry Pi中。

要将代码克隆到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 && make -j$(nproc) \
  LINUX=1 \
  NONX86=1 \
  NOHS=1 \
  NOHW=1 \
  NOPNG=1 \
  NOMIXER=1 \
  NOGME=1 \
  NOOPENMPT=1 \
  NOASM=1 \
  GCC83=1

这个编译过程需要一些时间来完成,特别是在老式树莓Pi上。

3. 音速机器人爆炸2编译完成后,通过运行下面的命令来制作一个目录来存储它。

这个目录是存储新编译的二进制文件和运行服务器所需的资产文件的地方。

mkdir ~/srb2/

4. 现在将二进制文件从编译SRB2的src文件夹复制到~/srb2/文件夹,并改到该目录下。

cp ~/src/srb2/bin/Linux/Release/* ~/srb2/
cd ~/srb2/

5. 现在下载索尼克机器人爆炸2,这些资源包含了运行服务器所需的所有数据。

wget https://files.pimylifeup.com/srb2/srb2-assets-2.2.8.7z

6. 需要利用之前安装的p7zip包将资源解压到当前目录。

运行下面的命令来提取资源到Raspberry Pi。

p7zip -d -f srb2-assets-2.2.8.7z

提取过程完成后,Raspberry Pi就可以作为专用服务器运行SRB2了。

将SRB2作为专用服务器运行

1. 在运行服务器之前,先检索一下Pi的本地IP地址。

可以使用这个IP地址在本地连接到您的SRB2服务器。

要将SRB2作为专用服务器运行,需要做的就是运行以下命令。

/home/pi/srb2/lsdl2srb2 -dedicated

现在服务器应该已经上线了,你将可以从你的索尼克机器人爆炸2游戏客户端访问它。

2. 如果你想让你的服务器出现在SRB2官方主服务器列表中,那么你需要使用一个额外的参数。

这个说法是–房间ID。

有三种不同的ID,你可以用这种说法。

  • 33是用于 “标准 “房间的ID。
  • 28是用于 “休闲 “房间的ID。
  • 38是 “抱抱 “房间使用的ID。

下面以启动服务器为例,将房间设置为 “标准”。

/home/pi/srb2/lsdl2srb2 -dedicated -room 33

Raspberry-Pi-SRB2-Server-Running.png

为您的SRB2服务器设置服务

在本节中,我们将向您展示如何在Raspberry Pi上设置一个自动启动SRB2服务器的服务。

1. 我们先在/etc/systemd/system/目录下创建一个服务文件。

我们将这个服务文件称为 “srb2.service”。

sudo nano /etc/systemd/system/srb2.service

2. 在该文件中,输入以下几行内容:

[Unit]
Description=SRB2 Dedicated Server
Wants=network-online.target
After=network-online.target

[Service]
Type=forking
User=pi
Group=pi
ExecStart=/usr/bin/screen -d -m -S srb2 /home/pi/srb2/lsdl2srb2 -dedicated -room 33
ExecStop=/usr/bin/pkill -f /home/pi/srb2/lsrb2sdl
WorkingDirectory=/home/pi/srb2
Restart=always

[Install]
WantedBy=multi-user.target

这几行定义了我们的服务,什么时候应该启动,应该执行什么命令,什么用户应该运行它,当服务停止时,应该执行什么命令。

通过该服务,我们使用屏幕工具来启动SRB2服务器。这样做,就可以访问服务器的命令行。

3. 现在按CTRL + X,然后按Y,再按ENTER键保存文件。

4. 让我们继续使用以下两个命令来启用和启动服务。

启用该服务将允许它在开机时自动启动。

sudo systemctl enable srb2
sudo systemctl start srb2

5. 如果您想调出SRB2专用服务器终端,运行以下命令。

screen -r srb2

6. 完成后,需要按以下组合键,CTRL+A+D。

配置您的SRB2服务器

可以更改SRB2服务器的设置。

1. 让我们先创建一个基本的配置文件,设置一些基本的选项。

nano /home/pi/.srb2/addserver.cfg

2. 在该文件中,添加以下几行:

这些只是一些基本设置。你可以在SRB2 Wiki上找到所有可用的选项。

servername "PiMyLifeUp SRB2 server"
showping "Warning"
pingtimeout "10"
maxping "0"
cpusleep "1"
skipmapcheck "Off"
jointimeout "350"
nettimeout "350"
blamecfail "Off"
showjoinaddress "On"
joinnextround "Off"
allowjoin "On"
downloadspeed "16"
noticedownload "Off"
maxsend "4096"
resynchattempts "10"
maxplayers "8"
masterserver "ms.srb2.org:28900"

你可以修改 “servername “行来更改服务器的名称。

3. 按CTRL + X,然后按Y,再按ENTER键保存文件。

4. 如果您将SRB2作为服务运行,现在应通过运行以下命令重新启动它。

您的新设置将在服务器重新启动时被加载。

sudo systemctl restart srb2

为您的SRB2专用服务器添加修改器

也可以为您的Raspberry Pi驱动的SRB2服务器添加mods。

1. 要想在服务器上添加插件,你首先需要制作一个文件夹来存储它们。

默认情况下,SRB2服务器软件会自动寻找可执行文件所在的 “addons “文件夹,所以我们先来创建它。

mkdir /home/pi/srb2/addons

2. 现在把你想安装的任何附加组件复制到这个文件夹。

你可以在SRB2官方论坛上找到索尼克机器人爆炸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中复制所需的文件到你的Raspberry Pi上。

希望到这里,您现在可以将SRB2作为专用服务器运行在您的Raspberry Pi上。如果遇到任何问题或有任何反馈,欢迎在下面发表评论。

感谢社区成员Ozzyrockin的建议,并提供了本教程的基础。

平均: 0 / 5. votes: 0

到目前为止还没有投票!成为第一位评论此文章。

欢迎转载,请留下出处链接:Labno3 » 树莓派游戏服务器,详细步骤在树莓派上设置SRB2服务器

赞 (0)

评论

7+2=