Превръщане на Synology NAS в игрови сървър

Превръщане на Synology NAS в игрови сървър

Здравейте!

Така че, по известните причини, трябва повече време да прекараме вкъщи пред монитора.
При такова положение на нещата трябва да помним дела от отминали дни.

Както вече е ясно от заглавието на тази статия, става въпрос за настройката на Synology NAS в ролята на игрови сървър.

Achtung — в статията има много скрийншотове (скрийншотовете са кликаеми)!

Преди да започнем, ето списък с инструментите, от които ще се нуждаем:

Synology NAS — тук не виждам ограничения, мисля, че всеки ще подхожда, ако нямате планове да държите сървър за 10 000 играчи.

Docker — не са необходими специални умения, достатъчно е образно да разбирате принципа на работа.

LinuxGSM — за това какво представлява LinuxGSM можете да прочетете на официалния сайт https://linuxgsm.com.

Към момента (април 2020) на LinuxGSM са налични 105 игрови сървъра.
Целият списък можете да видите тук https://linuxgsm.com/servers.

Steam — маркет с игри.

Игрови сървър LinuxGSM има интеграция с SteamCMD, т.е. игровият сървър LinuxGSM може да се използва само за игри от Steam.

Инсталация на Docker на Synology NAS

На този етап всичко е просто, влизаме в администраторския панел на Synology, после в „Package centre“, намираме и инсталираме Docker.

Package centreПревръщане на Synology NAS в игрови сървър
Стартираме и виждаме приблизително такава картина (при мен този контейнер вече е инсталиран)

Управление на контейнераПревръщане на Synology NAS в игрови сървър
След това преминаваме на таба „Registry“, въвеждаме в търсенето „gameservermanagers“, избираме образа „gameservermanagers/linuxgsm-docker“ и натискаме бутона „Download“.

gameservermanagers/linuxgsm-dockerПревръщане на Synology NAS в игрови сървър
След това преминаваме на таба „Image“, изчакваме приключването на изтеглянето на образа и натискаме бутона „Launch“.

Изтегляне на образаПревръщане на Synology NAS в игрови сървър
В отвореното прозорче трябва да отидем на „Advanced Settings“, след това на таба „Network“ и да отметнем отметката „Use the same network as Docker Host“.

Другите настройки, например, „Container Name“, променяме по свое усмотрение.
Container Name — както не е трудно да се досетите, това е името на контейнера, което по-късно ще ни послужи. Препоръчвам да го наречете по-лаконично, за пример нека бъде „test“.

След това натискаме бутона „Apply“ или „Next“ няколко пъти, докато завършим настройката.

Advanced SettingsПревръщане на Synology NAS в игрови сървър
Преминаваме на таба „Container“ и виждаме новоподнесен (ако няма, стартирайте) контейнер.
Тук можете да го спирате, стартирате, изтривате и извършвате други действия.

Стартиране на контейнераПревръщане на Synology NAS в игрови сървър

Настройка на Docker контейнера LinuxGSM

Преди да се свържете със Synology NAS през SSH, трябва да активирате самия SSH достъп в администраторския панел.

Връзка чрез SSHПревръщане на Synology NAS в игрови сървър
След това е необходимо да се използва вътрешният IP адрес Synology NAS сървър за свързване през SSH.

Преминаваме в терминала (или друг аналог, например в Windows това е PuTTY) и използваме следната команда:

ssh user_name@IP

В моя случай това изглежда така

ssh admin@192.168.0.166

IP адрес на сървъра Synology NASПревръщане на Synology NAS в игрови сървър
След авторизация е необходимо да изпълните команда за преминаване в самия контейнер «test» (полето «Container Name» в настройките на Docker) под потребителя «root»

sudo docker exec -u 0 -it test bash

Свързване с DockerПревръщане на Synology NAS в игрови сървър
Преди самата инсталация на «LinuxGSM» е нужно да се извършат някои действия.

Нека зададем парола за потребителя «root»

passwd

След това обновяваме всички пакети

apt update && apt upgrade && apt autoremove

Очакваме приключването на процеса…

Обновяване на пакетитеПревръщане на Synology NAS в игрови сървър
След това инсталираме нужните инструменти

apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-full

Тъй като е малко рисковано да се изпълняват различни действия под «root», добавяме нов потребител «test».

adduser test

И разрешаваме на новия потребител да използва «sudo»

usermod -aG sudo test

Превключваме на новия потребител «test»

su test

Инсталиране на инструментиПревръщане на Synology NAS в игрови сървър

Инсталиране и настройка на LinuxGSM

Нека разгледаме пример за настройка на LinuxGSM на примера на «Counter-Strike», той е известен и като «CS 1.6» https://linuxgsm.com/lgsm/csserver

Преминаваме на страницата с инструкциите за «Counter-Strike» linuxgsm.com/lgsm/csserver.

В раздела «Dependencies» копираме кода под «Ubuntu 64-bit».

Към момента на написването на статията този код изглежда така:

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

Инсталиране на зависимостиПревръщане на Synology NAS в игрови сървър
По време на инсталацията е необходимо да се съгласите с «Steam License»:

Steam LicenseПревръщане на Synology NAS в игрови сървър
Преминаваме в раздела «Install» и копираме кода от 2-ри шаг (пропускаме 1-ви шаг, потребителят «test» вече съществува):

ИнсталирайтеПревръщане на Synology NAS в игрови сървър

wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver

Очакваме изтеглянето:

ИзтеглянеПревръщане на Synology NAS в игрови сървър
И стартираме инсталацията:

./csserver install

Ако всичко премине нормално, ще видим дългоочакваното «Install Complete!»

Install Complete!Превръщане на Synology NAS в игрови сървър
Стартираме… и получаваме грешка «Multiple IP addresses found.»

./csserver start

Multiple IP addresses foundПревръщане на Synology NAS в игрови сървър
Следващата стъпка е явно да укажем на сървъра кой IP да използва.

В моя случай това е:

192.168.0.166

Преминаваме в папката, чийто път беше в съобщението като «location»:

cd /home/test/lgsm/config-lgsm/csserver

И виждаме какви файлове има в тази папка:

ls

Списък на файловете в папката csserverПревръщане на Synology NAS в игрови сървър
Копираме съдържанието на файла «_default.cfg» във файла «csserver.cfg»:

cat _default.cfg >> csserver.cfg

И преминаваме в режим на редактиране на файла «csserver.cfg»:

nano csserver.cfg

Редактиране на файла csserver.cfgПревръщане на Synology NAS в игрови сървър
Намираме реда:

ip="0.0.0.0"

И заменяме IP адреса с предложеното, в моя случай това е «192.168.0.166».

Ще се получи по този начин:

ip="192.168.0.166"

Натискаме клавишната комбинация:

Ctr + X

След предложението за запазване натискаме:

Y

Връщаме се в папката на потребителя «test»:

cd ~

И опитваме отново да стартираме сървъра. Сега сървърът трябва да се стартира без проблеми:

./csserver start

Стартиране на сървъраПревръщане на Synology NAS в игрови сървър
За да видим по-подробна информация, ще използваме командата:

.\/csserver details

Подробна информация за сървърПревръщане на Synology NAS в игрови сървър
От важните параметри си струва да се отбележи:

  • Server IP: 192.168.0.166:27015
  • Internet 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

В админ панела на моя рутер това изглежда така

Админ панел на рутераПревръщане на Synology NAS в игрови сървър
И ето, след запазване на настройките на рутера, игровият сървър ще бъде достъпен в мрежата по външния 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.github.io/cstrike-cvarlist

Също така вероятно ще бъде необходимо да се инсталират допълнителни карти, например «fy_pool_day».

Всички карти за CS 1.6 са тук:

~\/serverfiles\/cstrike\/maps

Намираме необходимата карта, качваме я направо на сървера (ако е в архив, разархивираме), премесваме файла с разширение «.bsp» в папката с файловете «~\/serverfiles\/cstrike\/maps» и рестартираме сървера.

~.\/csserver restart

Между другото, всичките налични команди на сървера могат да се видят така

~.\/csserver

 

Резюме

Доволен съм от резултата. Всичко работи бързо и не лагва.

LinuxGSM предлага много допълнителни настройки, например интеграция с Telegram и Slack за известия, но част от функционалността все още изисква доработка.

Като цяло, препоръчвам за използване!

Източници

https://linuxgsm.com
https://docs.linuxgsm.com
https://digitalboxweb.wordpress.com/2019/09/02/serveur-counter-strike-go-sur-nas-synology
https://medium.com/@konpat/how-to-host-a-counter-strike-1-6-game-on-linux-full-tutorial-a25f20ff1149
http://txdv.github.io/cstrike-cvarlist

UPD

Както забеляза centralhardware не всички Synology NAS могат да работят с Docker, ето списък на устройствата, които могат https://www.synology.com/ru-ru/dsm/packages/Docker.

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster