Вітаю!
Такім чынам, па ўсіх вядомых прычынах даводзіцца больш час праводзіць дамы перад маніторам.
Пры такім становішчы спраў даводзіцца ўспамінаць справы даўно мінулых дзён.
Як ужо ясна з назову гэтага артыкула, прамова пайдзе аб наладзе Synology NAS у ролі гульнявога сервера.
увагу - У артыкуле шмат скрыншотаў (скрыншоты кликабельны)!
Перад тым як прыступіць, вось спіс інструментаў, якія нам спатрэбяцца:
На дадзены момант (красавік 2020) на LinuxGSM даступна 105 гульнявых сервераў.
Увесь спіс можна паглядзець тут
Гульнявы сервер LinuxGSM мае інтэграцыю з
Ўстаноўка Docker на Synology NAS
На гэтым этапе ўсё проста, пераходзім у адмін панэль Synology, далей у "Package centre", знаходзім і ўсталёўваны Docker.
Package centre
Запускаем і бачым прыкладна такую карціну (у мяне ўжо ўсталяваны гэты кантэйнер)
Упраўленне кантэйнерам
Далей пераходзім ва ўкладку "Registry", убіваем у пошук "gameservermanagers", выбіраемы выява "gameservermanagers/linuxgsm-docker" і ціснем на кнопку "Download".
gameservermanagers/linuxgsm-docker
Пасля пераходзім ва ўкладку "Image", чакаем канчатак загрузкі выявы і ціснем на кнопку "Launch".
Загрузка выявы
У якое адкрылася акне трэба перайсці ў "Advanced Settings", далей ва ўкладку "Network" і адзначыць галачку "Use the same network as Docker Host".
Астатнія налады, напрыклад, такія як «Container Name», змяняем на сваё меркаванне.
Container Name - як не цяжка здагадацца, гэта імя кантэйнера, яно далей спатрэбіцца. Рэкамендую назваць неяк лаканічна, для прыкладу няхай будзе «test».
Далей ціснем кнопку "Apply" або "Next" некалькі разоў да завяршэння налады.
Advanced Settings
Пераходзім ва ўкладку "Container" і бачым новы запушчаны (калі не, запускаем) кантэйнер.
Тут яго можна спыняць, запускаць, выдаляць і праводзіць іншыя дзеянні.
Настройка Docker кантэйнера LinuxGSM
Перад тым як падлучыцца да Synology NAS праз SSH, трэба актываваць сам SSH доступ у адмін панэлі.
Падключэнне праз SSH
Далей неабходна выкарыстоўваць унутранай IP адрас Synology NAS сервера для падлучэння праз SSH.
Пераходзім у тэрмінал (ці іншы любы аналог, напрыклад пад Windows гэта
ssh user_name@IP
У маім выпадку гэта выглядае так
ssh [email protected]
IP адрас Synology NAS сервера
Пасля аўтарызацыі трэба выканаць каманду для пераходу ў сам кантэйнер "test" (поле "Container Name" у наладах Docker) пад карыстачом "root"
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
Усталёўка і настройка LinuxGSM
Разгледзім прыклад налады LinuxGSM на прыкладзе "Counter-Strike" ён жа "CS 1.6"
Пераходзім на старонку інструкцыяй "Counter-Strike"
Ва ўкладцы "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
Устаноўка залежнасцяў
У працэсе ўстаноўкі трэба пагодзіцца са «Steam License»:
Steam License
Пераходзім ва ўкладку «Install» які капіюецца код з 2-го кроку (1-й крок прапускаем, карыстач «test» ужо ёсць):
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver
Чакаем запампоўкі:
Спампоўванне
І запускаем усталёўку:
./csserver install
Калі ўсё прайшло ў штатным рэжыме, убачым запаветнае "Install Complete!"
Install Complete!
Запускаем… і бачым памылку "Multiple IP addresses found."
./csserver start
Multiple IP addresses found
Далей трэба відавочна паказаць серверу які IP яму выкарыстоўваць.
У маім выпадку гэта:
192.168.0.166
Пераходзім у тэчку, шлях да якой быў у паведамленні як «location»:
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
Дэталёвая інфармацыя аб серверы
З важных параметраў варта адзначыць:
- 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
У адмін панэлі майго роўтара гэта выглядае так
Адмін панэль роўтара
Вось і ўсё, пасля захавання налад роўтара, гульнявы сервер будзе даступны ў сетцы па вонкавым 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 мае шмат дадатковых налад, напрыклад, інтэграцыю c Telegram і Slack для абвестак, але некаторы функцыянал яшчэ патрабуе дапрацовак.
У цэлым, рэкамендую да выкарыстання!
крыніцы
ДУП
як заўважыў
Крыніца: habr.com