Превърнете вашия Synology NAS в сървър за игри

Превърнете вашия Synology NAS в сървър за игри

Поздрави!

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

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

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

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

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

докер — не се изискват специални умения, само образно разбиране на принципа на работа.

LinuxGSM - за това какво е LinuxМожете да прочетете за GSM на официалния уебсайт. https://linuxgsm.com.

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

Пара — пазар с игри.

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

Инсталиране на Docker на Synology NAS

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

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

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

gameservermanagers/linuxgsm-dockerПревърнете вашия Synology NAS в сървър за игри
След това отидете в раздела "Изображение", изчакайте изображението да приключи зареждането и щракнете върху бутона "Стартиране".

Изтегляне на изображениеПревърнете вашия Synology NAS в сървър за игри
В прозореца, който се отваря, трябва да отидете в „Разширени настройки“, след това в раздела „Мрежа“ и да поставите отметка в квадратчето „Използване на същата мрежа като Docker Host“.

Ние променяме останалите настройки, например, като „Име на контейнер“, по наша преценка.
Име на контейнер - както може би се досещате, това е името на контейнера; ще ви бъде полезно по-късно. Препоръчвам да го наименувате кратко, например, нека бъде „тест“.

След това щракнете върху бутона „Приложи“ или „Напред“ няколко пъти, докато настройката приключи.

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

Изпълнение на контейнерПревърнете вашия Synology NAS в сървър за игри

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

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

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

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

ssh user_name@IP

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

ssh admin@192.168.0.166

IP адрес на Synology NAS сървърПревърнете вашия Synology NAS в сървър за игри
След упълномощаване трябва да изпълните командата, за да отидете до самия контейнер „тест“ (полето „Име на контейнер“ в настройките на 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

Преминете към новия потребител „тест“

su test

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

Инсталиране и конфигуриране LinuxGSM

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

Отидете на страницата с инструкции на “Counter-Strike”. 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

Инсталиране на зависимостиПревърнете вашия Synology NAS в сървър за игри
По време на инсталационния процес трябва да приемете „лиценза на Steam“:

Steam лицензПревърнете вашия Synology NAS в сървър за игри
Отидете в раздела „Инсталиране“, копирайте кода от втората стъпка (прескачаме първата стъпка, „тестовият“ потребител вече съществува):

ИнсталирайтеПревърнете вашия Synology NAS в сървър за игри

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

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

изтеглянеПревърнете вашия Synology NAS в сървър за игри
И стартирайте инсталацията:

./csserver install

Ако всичко върви нормално, ще видим заветното „Инсталирането завършено!“

Инсталирането е завършено!Превърнете вашия Synology NAS в сървър за игри
Стартираме... и виждаме грешката „Намерени са множество IP адреси“.

./csserver start

Намерени са множество IP адресиПревърнете вашия Synology NAS в сървър за игри
След това трябва изрично да кажете на сървъра кой IP да използва.

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

192.168.0.166

Отидете до папката, пътят до която е в съобщението като „местоположение“:

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 в сървър за игри
Важни параметри, които си струва да се отбележат:

  • 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

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

Администраторски панел на рутераПревърнете вашия 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

DUP

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

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

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