Ператварэнне Synology NAS у гульнявы ​​сервер

Ператварэнне Synology NAS у гульнявы ​​сервер

Вітаю!

Такім чынам, па ўсіх вядомых прычынах даводзіцца больш час праводзіць дамы перад маніторам.
Пры такім становішчы спраў даводзіцца ўспамінаць справы даўно мінулых дзён.

Як ужо ясна з назову гэтага артыкула, прамова пайдзе аб наладзе Synology NAS у ролі гульнявога сервера.

увагу - У артыкуле шмат скрыншотаў (скрыншоты кликабельны)!

Перад тым як прыступіць, вось спіс інструментаў, якія нам спатрэбяцца:

Synology NAS - Тут абмежаванняў я не бачу, думаю падыдзе любы, калі няма планаў трымаць сервер на 10к гульцоў.

Докер - асаблівых навыкаў не патрабуецца, дастаткова вобразна разумець прынцып працы.

LinuxGSM - аб тым што з сябе ўяўляе LinuxGSM можна пачытаць на оф. сайце https://linuxgsm.com.

На дадзены момант (красавік 2020) на LinuxGSM даступна 105 гульнявых сервераў.
Увесь спіс можна паглядзець тут https://linuxgsm.com/servers.

Пар - маркет з гульнямі.

Гульнявы ​​сервер 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 [email protected]

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
  • Config file: /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 мае шмат дадатковых налад, напрыклад, інтэграцыю c 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

ДУП

як заўважыў centralhardware не ўсе Synology NAS могуць у Docker, вось спіс прылад якія могуць https://www.synology.com/ru-ru/dsm/packages/Docker.

Крыніца: habr.com

Дадаць каментар