Sveiki!
Taigi, dėl visų žinomų priežasčių turite praleisti daugiau laiko namuose prie monitoriaus.
Esant tokiai situacijai, reikia prisiminti praėjusių dienų reikalus.
Kaip aišku iš šio straipsnio pavadinimo, kalbėsime apie Synology NAS kaip žaidimų serverio nustatymą.
Dėmesio - straipsnyje yra daug ekrano kopijų (ekrano kopijas galima spustelėti)!
Prieš pradėdami, čia pateikiamas įrankių, kurių mums prireiks, sąrašas:
Šiuo metu (2020 m. balandžio mėn.) LinuxGSM sistemoje yra 105 žaidimų serveriai.
Visą sąrašą galima peržiūrėti čia
LinuxGSM žaidimų serveris turi integraciją su
„Docker“ diegimas „Synology NAS“.
Šiame etape viskas paprasta, eikite į „Synology“ administratoriaus skydelį, tada į „Paketų centrą“, suraskite ir įdiekite „Docker“.
pakuočių centras
Paleidžiame ir matome kažką panašaus (šis konteineris jau įdiegtas)
Konteinerių valdymas
Tada eikite į skirtuką „Registras“, į paiešką įveskite „gameservermanagers“, pasirinkite „gameservermanagers/linuxgsm-docker“ vaizdą ir spustelėkite mygtuką „Atsisiųsti“.
gameservermanagers/linuxgsm-docker
Po to eikite į skirtuką „Vaizdas“, palaukite, kol vaizdas bus įkeltas, ir spustelėkite mygtuką „Paleisti“.
Vaizdo atsisiuntimas
Atsidariusiame lange eikite į „Išplėstiniai nustatymai“, tada į skirtuką „Tinklas“ ir pažymėkite langelį „Naudoti tą patį tinklą kaip Docker Host“.
Likusius nustatymus, pvz., „Sudėtinio rodinio pavadinimas“, keičiame savo nuožiūra.
Konteinerio pavadinimas – kaip galima atspėti, toks yra konteinerio pavadinimas, jis pravers vėliau. Rekomenduoju tai pavadinti kaip nors glaustai, pavyzdžiui, tegul tai būna „bandymas“.
Tada keletą kartų spustelėkite mygtuką „Taikyti“ arba „Kitas“, kol nustatymai bus baigti.
Advanced Settings
Eikite į skirtuką „Sudėtinis“ ir pamatykite naują veikiantį (jei ne, paleiskite) sudėtinį rodinį.
Čia galite sustabdyti, pradėti, ištrinti ir atlikti kitus veiksmus.
„LinuxGSM Docker“ konteinerio konfigūravimas
Kad galėtumėte prisijungti prie „Synology NAS“ naudodami SSH, administratoriaus skydelyje turite įjungti pačią SSH prieigą.
Ryšys per SSH
Tada, norėdami prisijungti per SSH, turite naudoti vidinį Synology NAS serverio IP adresą.
Einame į terminalą (ar bet kurį kitą analogą, pavyzdžiui, sistemoje „Windows“).
ssh user_name@IP
Mano atveju tai atrodo taip
ssh [email protected]
Synology NAS serverio IP adresas
Po autorizavimo turite vykdyti komandą, kad patektumėte į patį „testo“ konteinerį (lauką „Konteinerio pavadinimas“ Docker nustatymuose), esantį „root“ naudotojui.
sudo docker exec -u 0 -it test bash
Prisijungimas prie Docker
Prieš diegdami „LinuxGSM“, turite atlikti keletą veiksmų.
Nustatykite „root“ vartotojo slaptažodį
passwd
Tada atnaujinkite visus paketus
apt update && apt upgrade && apt autoremove
Laukiame proceso pabaigos...
Paketų atnaujinimas
Tada įdiekite reikiamas komunalines paslaugas
apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-full
Kadangi nėra pati geriausia idėja atlikti skirtingus veiksmus po "root", mes pridėsime naują vartotojo "testą".
adduser test
Ir leiskite naujam vartotojui naudoti "sudo"
usermod -aG sudo test
Perėjimas prie naujo vartotojo „testas“
su test
LinuxGSM diegimas ir konfigūravimas
Pažiūrėkime į „LinuxGSM“ nustatymo pavyzdį, naudodami „Counter-Strike“ dar žinomą kaip „CS 1.6“ pavyzdį.
Einame į puslapį su instrukcija „Counter-Strike“
Skirtuke „Priklausomybės“ nukopijuokite kodą „Ubuntu 64-bit“.
Rašymo metu šis kodas atrodo taip:
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
Priklausomybių diegimas
Diegimo proceso metu turite sutikti su „Steam“ licencija:
Steam licencija
Eikite į skirtuką „Įdiegti“ ir nukopijuokite kodą iš 2 veiksmo (praleidžiame 1 veiksmą, jau yra „bandomasis“ vartotojas):
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver
Laukiame atsisiuntimo:
Atsisiųsti
Ir mes pradedame diegimą:
./csserver install
Jei viskas vyko įprastu režimu, pamatysime trokštamą „Įdiegimas baigtas!
Įdiegimas baigtas!
Paleidžiame... ir matome klaidą „Rasti keli IP adresai“.
./csserver start
Rasti keli IP adresai
Tada turite aiškiai nurodyti serveriui, kurį IP naudoti.
Mano atveju tai yra:
192.168.0.166
Eikite į aplanką, kurio kelias laiške buvo kaip „vieta“:
cd /home/test/lgsm/config-lgsm/csserver
Ir pažiūrėkite, kokie failai yra šiame aplanke:
ls
Failų sąrašas csserver aplanke
Nukopijuokite failo „_default.cfg“ turinį į failą „csserver.cfg“:
cat _default.cfg >> csserver.cfg
Ir eikite į failo „csserver.cfg“ redagavimo režimą:
nano csserver.cfg
Failo csserver.cfg redagavimas
Raskite eilutę:
ip="0.0.0.0"
Ir mes pakeičiame IP adresą, kuris buvo pasiūlytas, mano atveju tai yra "192.168.0.166".
Tai pasirodys maždaug taip:
ip="192.168.0.166"
Paspaudžiame klavišų kombinaciją:
Ctr + X
Ir po pasiūlymo išsaugoti spustelėkite:
Y
Grįžtame į vartotojo aplanką „testas“:
cd ~
Ir vėl bandome paleisti serverį. Dabar serveris turėtų įsijungti be problemų:
./csserver start
Serverio paleidimas
Norėdami peržiūrėti išsamesnę informaciją, naudokite komandą:
./csserver details
Išsami informacija apie serverį
Svarbūs parametrai, į kuriuos verta atkreipti dėmesį:
- Serverio IP: 192.168.0.166:27015
- Interneto IP: xxx.xx.xxx.xx:27015
- Konfigūracijos failas: /home/test/serverfiles/cstrike/csserver.cfg
Šiame etape žaidimų serveris jau pasiekiamas vietiniame tinkle.
IP adresų persiuntimo konfigūravimas
Žaisti per vietinį tinklą yra gerai, bet žaisti su draugais internetu yra geriau!
Norėdami persiųsti IP adresą, kurį maršrutizatorius gavo iš teikėjo, naudojame NAT mechanizmą.
Taip pat būtų tikslinga pažymėti, kad dauguma paslaugų teikėjų savo klientams naudoja dinaminius IP adresus.
Darbo patogumui ir stabilumui pageidautina gauti statinį IP adresą.
Kadangi turiu TP-Link Archer C60 maršrutizatorių, pateikiu persiuntimo nustatymo pavyzdį, kaip jis įdiegtas mano maršrutizatoriuje.
Manau, kad kitų maršrutizatorių persiuntimo sąranka yra panaši.
Čia viskas paprasta - dviem prievadams reikia nurodyti persiuntimą iš išorinio IP adreso į vidinį serverio IP adresą:
- 27015
- 27005
Mano maršrutizatoriaus administratoriaus skydelyje tai atrodo taip
Maršrutizatoriaus administratoriaus skydelis
Tai viskas, išsaugojus maršrutizatoriaus nustatymus, žaidimų serveris bus pasiekiamas tinkle išoriniu IP adresu nurodytiems prievadams!
Papildomi nustatymai CS 1.6 pavyzdyje
Kaip pavyzdį naudodamas CS 1.6, norėčiau duoti keletą naudingų patarimų.
Yra du serverio konfigūravimo failai
Pirmasis yra čia:
~/lgsm/config-lgsm/csserver/csserver.cfg
Antrasis yra čia:
~/serverfiles/cstrike/csserver.cfg
Pirmajame faile yra bendrieji nustatymai, tokie kaip IP adresas, pirmosios serverio įkrovos žemėlapis ir kt.
Antrame faile yra komandų nustatymai, kuriuos galima vykdyti naudojant Counter-Strike konsolę, pvz., „rcon_password“ arba „sv_password“.
Antrame faile rekomenduoju nustatyti prisijungimo prie serverio slaptažodį per CVar "sv_password" ir nustatyti slaptažodį valdymui iš serverio konsolės per CVar "rcon_password".
Visų CVar kintamųjų sąrašą galite rasti čia
Be to, greičiausiai reikės įdiegti papildomas korteles, pavyzdžiui, „fy_pool_day“.
Visi CS 1.6 žemėlapiai yra čia:
~/serverfiles/cstrike/maps
Surandame reikiamą žemėlapį, įkeliame tiesiai į serverį (jei yra archyve, išpakuokite), failą su plėtiniu ".bsp" perkeliame į aplanką su failais "~/serverfiles/cstrike/maps" ir perkraukite serverį.
~./csserver restart
Beje, visas galimas serverio komandas galima peržiūrėti taip:
~./csserver
Visas
Esu patenkintas rezultatu. Viskas veikia greitai ir nevėluoja.
„LinuxGSM“ turi daug išplėstinių nustatymų, pvz., integracija su „Telegram“ ir „Slack“ pranešimams, tačiau kai kurias funkcijas dar reikia patobulinti.
Apskritai aš rekomenduoju!
Informacijos šaltiniai
DUP
Kaip pažymėta
Šaltinis: www.habr.com