您好!
因此,由于众所周知的原因,我们必须在家里花更多的时间在显示器前。
在这种情况下,人们不得不记住过去的事情。
正如本文标题所示,我们将讨论如何将 Synology NAS 设置为游戏服务器。
注意 ——文章中有大量截图(截图可点击)!
在开始之前,这里是我们需要的工具列表:
目前(2020 年 105 月)LinuxGSM 上有 XNUMX 个游戏服务器可用。
完整列表可以在这里查看
LinuxGSM 游戏服务器集成了
在 Synology NAS 上安装 Docker
这个阶段,一切都很简单,进入 Synology 管理面板,然后进入“套件中心”,找到并安装 Docker。
套餐中心
我们启动它并看到类似这样的内容(我已经安装了这个容器)
集装箱管理
接下来,转到“注册表”选项卡,在搜索中输入“gameservermanagers”,选择图像“gameservermanagers/linuxgsm-docker”,然后单击“下载”按钮。
游戏服务器管理器/linuxgsm-docker
然后转到“图像”选项卡,等待图像完成加载并单击“启动”按钮。
图片下载
在打开的窗口中,您需要转到“高级设置”,然后转到“网络”选项卡并选中“使用与 Docker 主机相同的网络”复选框。
我们自行决定更改其余设置,例如“容器名称”。
容器名称 - 正如您可能猜到的,这是容器的名称;稍后会派上用场。 我建议将其命名为简洁的名称;例如,将其命名为“test”。
接下来,多次单击“应用”或“下一步”按钮,直至设置完成。
高级设置
转到“容器”选项卡并查看新的正在运行(如果没有,则启动)的容器。
在这里您可以停止、启动、删除和执行其他操作。
设置 Docker 容器 LinuxGSM
在通过 SSH 连接到 Synology NAS 之前,您需要在管理面板中激活 SSH 访问权限。
通过 SSH 连接
接下来,您需要使用 Synology NAS 服务器的内部 IP 地址通过 SSH 进行连接。
转到终端(或任何其他类似的终端,例如在 Windows 下,这是
ssh user_name@IP
就我而言,它看起来像这样
ssh [email protected]
Synology NAS 服务器的 IP 地址
授权后,需要在“root”用户下运行命令进入“test”容器本身(Docker设置中的“容器名称”字段)
sudo docker exec -u 0 -it test bash
连接到 Docker
在安装 LinuxGSM 之前,您需要执行一些步骤。
为“root”用户设置密码
passwd
接下来我们将更新所有包
apt update && apt upgrade && apt autoremove
我们正在等待该过程的结束...
apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-full
由于在“root”下执行不同的操作不是最好的主意,所以让我们添加一个新用户“test”。
adduser test
让我们允许新用户使用“sudo”
usermod -aG sudo test
切换到新用户“test”
su test
安装和配置LinuxGSM
让我们看一下使用“Counter-Strike”又名“CS 1.6”示例设置 LinuxGSM 的示例
前往“反恐精英”说明页面
在“依赖项”选项卡中,复制“Ubuntu 64位”下的代码。
在撰写本文时,这段代码如下所示:
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install mailutils postfix curl wget file tar bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux lib32gcc1 libstdc++6 lib32stdc++6 steamcmd
Steam 许可证
转到“安装”选项卡并复制第二步中的代码(我们跳过第一步,已经有一个“测试”用户):
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver
我们正在等待下载:
./csserver install
如果一切正常,我们将看到珍贵的“安装完成!”
安装完成!
我们启动...并看到错误“发现多个 IP 地址”。
./csserver start
发现多个 IP 地址
接下来,您需要明确告诉服务器要使用哪个 IP。
就我而言,它是:
192.168.0.166
转到文件夹,消息中的路径为“位置”:
cd /home/test/lgsm/config-lgsm/csserver
看看这个文件夹里有什么文件:
ls
csserver文件夹中的文件列表
将文件“_default.cfg”的内容复制到文件“csserver.cfg”:
cat _default.cfg >> csserver.cfg
并进入“csserver.cfg”文件的编辑模式:
nano csserver.cfg
ip="0.0.0.0"
我们替换建议的 IP 地址,在我的例子中是“192.168.0.166”。
结果会是这样的:
ip="192.168.0.166"
按键盘快捷键:
Ctr + X
并在提出保存后,单击:
Y
返回用户的“test”文件夹:
cd ~
我们再次尝试启动服务器。 服务器现在应该可以正常启动:
./csserver start
./csserver details
- 服务器IP:192.168.0.166:27015
- 互联网 IP: xxx.xx.xxx.xx:27015
- 配置文件:/home/test/serverfiles/cstrike/csserver.cfg
至此,游戏服务器已经在本地网络上可用。
设置IP地址转发
在本地网络上玩很好,但通过互联网与朋友一起玩更好!
为了转发路由器从提供商处收到的 IP 地址,我们使用 NAT 机制。
还需要注意的是,大多数提供商为其客户使用动态 IP 地址。
为了工作的方便和稳定,建议获取静态IP地址。
由于我有一台 TP-Link Archer C60 路由器,因此我给出了一个设置转发的示例,因为这是在我的路由器中实现的。
对于其他路由器,我认为转发设置是类似的。
这里一切都很简单 - 您需要为两个端口指定从外部 IP 地址到服务器内部 IP 地址的重定向:
- 27015
- 27005
在我的路由器的管理面板中,它看起来像这样
路由器管理面板
就这样,保存路由器设置后,游戏服务器将通过指定端口的外部 IP 地址在网络上可用!
以 CS 1.6 为例的附加设置
以CS 1.6为例,我想给出一些有用的提示。
服务器配置有两个文件
第一个在这里:
~/lgsm/config-lgsm/csserver/csserver.cfg
第二个在这里:
~/serverfiles/cstrike/csserver.cfg
第一个文件包含常规设置,例如 IP 地址、首次启动服务器的映射等。
第二个文件包含可通过 Counter-Strike 控制台执行的命令的设置,例如“rcon_password”或“sv_password”。
在第二个文件中,我建议通过 CVar“sv_password”设置用于连接服务器的密码,并通过 CVar“rcon_password”设置用于从服务器本身的控制台进行控制的密码。
所有 CVar 变量的列表可以在此处找到
很可能还需要安装额外的卡,例如“fy_pool_day”。
CS 1.6 的所有地图都在这里:
~/serverfiles/cstrike/maps
我们找到所需的地图,将其直接上传到服务器(如果它在存档中,请将其解压缩),将带有“.bsp”扩展名的文件移动到带有文件“~/serverfiles/cstrike/maps”的文件夹中,然后重新启动服务器。
~./csserver restart
顺便说一句,所有可用的服务器命令都可以这样查看:
~./csserver
总
我对结果很满意。 一切都进行得很快并且不会滞后。
LinuxGSM 有许多附加设置,例如与 Telegram 和 Slack 集成以进行通知,但某些功能仍需要改进。
总的来说,我推荐它!
来源
UPD
正如所注意到的
来源: habr.com