
您好!
因此,由于众所周知的原因,我们必须在家里花更多的时间在显示器前。
在这种情况下,人们不得不记住过去的事情。
正如本文标题所示,我们将讨论如何将 Synology NAS 设置为游戏服务器。
注意 ——文章中有大量截图(截图可点击)!
在开始之前,这里是我们需要的工具列表:
— 我在这里没有看到任何限制,我认为如果没有计划为 10k 玩家保留服务器,任何人都会这样做。
— 不需要特殊技能,只需对操作原理有一个形象的了解即可。
关于它是什么 Linux您可以在官方网站上了解有关GSM的信息。 .
截至目前(2020年4月) LinuxGSM拥有105台游戏服务器。
完整列表可以在这里查看 .
——一个有游戏的市场。
游戏服务器 LinuxGSM已与以下方面集成 也就是说,游戏服务器 LinuxGSM只能用于Steam上的游戏。
在 Synology NAS 上安装 Docker
这个阶段,一切都很简单,进入 Synology 管理面板,然后进入“套件中心”,找到并安装 Docker。
套餐中心
我们启动它并看到类似这样的内容(我已经安装了这个容器)
集装箱管理
接下来,转到“注册表”选项卡,在搜索中输入“gameservermanagers”,选择图像“gameservermanagers/linuxgsm-docker”,然后单击“下载”按钮。
游戏服务器管理器/linuxgsm-docker
然后转到“图像”选项卡,等待图像完成加载并单击“启动”按钮。
图片下载
在打开的窗口中,您需要转到“高级设置”,然后转到“网络”选项卡并选中“使用与 Docker 主机相同的网络”复选框。
我们自行决定更改其余设置,例如“容器名称”。
容器名称 - 正如您可能猜到的,这是容器的名称;稍后会派上用场。 我建议将其命名为简洁的名称;例如,将其命名为“test”。
接下来,多次单击“应用”或“下一步”按钮,直至设置完成。
高级设置
转到“容器”选项卡并查看新的正在运行(如果没有,则启动)的容器。
在这里您可以停止、启动、删除和执行其他操作。
运行容器
设置 Docker 容器 Linux的GSM
在通过 SSH 连接到 Synology NAS 之前,您需要在管理面板中激活 SSH 访问权限。
通过 SSH 连接
接下来,您需要使用 Synology NAS 服务器的内部 IP 地址通过 SSH 进行连接。
前往终端(或任何其他类似终端,例如在……下) Windows 它 )并使用以下命令:
ssh user_name@IP就我而言,它看起来像这样
ssh admin@192.168.0.166 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安装实用程序
安装与配置 Linux的GSM
我们来看一个设置示例。 LinuxGSM,以《反恐精英》(又名《CS 1.6》)为例
前往“反恐精英”说明页面 .
在“依赖项”选项卡中,复制“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许可证”:
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 编辑 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
正如所注意到的 并非所有 Synology NAS 都可以执行 Docker,以下是可以执行 Docker 的设备列表 .
来源: habr.com
