问候!因此,由于所有已知的原因,您必须在显示器前在家中花费更多的时间。在这种情况下,有必要回顾过去的事情。从本文标题可以清楚地了解到,我们将讨论将Synology NAS设置为游戏服务器。Achtung-文章中有很多屏幕截图(可单击屏幕截图)!在开始之前,这是我们需要的工具列表:Synology NAS-如果没有计划为一万台播放器保留服务器,我认为这里没有任何限制,我想任何人都会做。Docker-不需要任何特殊技能,足以理解工作原理。LinuxGSM-关于什么是LinuxGSM可以读出来。在线https://linuxgsm.com。当前(2020年4月),LinuxGSM上有105个游戏服务器可用。整个列表可以在这里https://linuxgsm.com/servers找到。Steam是一个充满游戏的市场。LinuxGSM游戏服务器与SteamCMD集成在一起,也就是说,LinuxGSM游戏服务器只能用于Steam上的游戏。在Synology NAS上安装Docker
在这个阶段,一切都很简单,转到Synology管理面板,然后在“打包中心”中,找到并安装Docker。我们开始,看到类似这样的内容(我已经安装了这个容器)接下来,转到“注册表”选项卡,进入“ gameservermanagers”搜索,选择“ gameservermanagers / linuxgsm-docker”图像,然后单击“下载”按钮。gameservermanagers / linuxgsm-docker 之后,转到“图像”选项卡,等待图像完成加载,然后单击“启动”按钮。在打开的窗口中,转到“高级设置”,然后转到“网络”选项卡,然后选中“使用与Docker Host相同的网络”框。我们会自行决定更改其他设置,例如“容器名称”。容器名称-您可能会猜到,这是容器的名称,稍后将派上用场。我建议以一种简洁的方式来称呼它,例如让它成为“测试”。接下来,多次单击“应用”或“下一步”按钮,直到配置完成。转到“容器”选项卡,查看启动的新容器(如果没有,请启动)。您可以在此处停止,开始,删除和执行其他操作。配置LinuxGSM Docker容器
通过SSH连接到Synology NAS之前,您需要在管理面板中激活SSH访问。接下来,您需要使用Synology NAS服务器的内部IP地址通过SSH进行连接。转到终端(或任何其他类似物,例如,在Windows下为PuTTY),然后使用以下命令:ssh user_name@IP
就我而言,它看起来像这样ssh admin@192.168.0.166
授权后,您需要运行命令以转到用户“ root”下的“ test”容器本身(Docker设置中的“ Container Name”字段)sudo docker exec -u 0 -it test bash
在安装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
并让新用户使用sudousermod -aG sudo test
切换到新用户“测试”su test
安装和配置LinuxGSM
让我们看看LinuxGSM配置的示例使用例如“反恐精英”又名“CS 1.6” https://linuxgsm.com/lgsm/csserver转到与指令“反恐精英”的页面linuxgsm.com/lgsm/csserver。在“依赖关系”选项卡中,将代码复制到“ 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。以我为例:192.168.0.166
转到文件夹,消息中的路径为“位置”:cd /home/test/lgsm/config-lgsm/csserver
并查看此文件夹中的文件:ls
将文件“ _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转发
在本地网络上玩是件好事,但通过Internet与朋友一起玩会更好!为了转发路由器从提供商那里收到的IP地址,我们使用NAT机制。还应注意,大多数提供商都为其客户端使用动态IP地址。为了方便和稳定,建议获取静态IP地址。由于我有一台TP-Link Archer C60路由器,因此我举一个设置呼叫转移的示例,因为它是在我的路由器中实现的。对于其他路由器,我假设转发设置相似。这里的一切都很简单-您需要为两个端口指定从服务器的外部IP地址到内部IP地址的转发:在我路由器的管理面板中,它看起来像这样就这样,保存路由器设置后,游戏服务器将在网络上以指定端口的外部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变量的列表,网址为http://txdv.imtqy.com/cstrike-cvarlist。此外,很有可能需要安装其他卡,例如“ fy_pool_day”。CS 1.6的所有地图都在这里:~/serverfiles/cstrike/maps
我们找到所需的地图,将其直接上传到服务器(如果在存档中,将其解压缩),将扩展名为“ .bsp”的文件移动到文件“〜/ serverfiles / cstrike / maps”的文件夹中,然后重新启动服务器。~./csserver restart
顺便说一下,所有可用的服务器命令都可以这样查看~./csserver
总
我对结果感到满意。一切工作迅速,不会滞后。LinuxGSM具有许多其他设置,例如,与Telegram和Slack集成以进行通知,但是某些功能仍需要改进。一般来说,我建议使用!资料来源
https://linuxgsm.comhttps://docs.linuxgsm.comhttps://digitalboxweb.wordpress.com/2019/09/02/serveur-counter-strike-go-sur-nas-synologyhttps://中.com / @ konpat / how-to-host-a-counter-strike-1-6-game-on-linux-full-tutorial-a25f20ff1149http://txdv.imtqy.com/cstrike-cvarlistUPD
正如所注意到的 中央硬件并非所有Synology NAS都可以在Docker中使用,这是可以https://www.synology.com/ru-ru/dsm/packages/Docker的设备列表。