
Salve!
Quindi, per motivi ben noti, si trascorre più tempo a casa davanti al monitor.
Con questa situazione, bisogna ricordare eventi di tempi antichi.
Come già chiarito dal titolo di questo articolo, si parlerà dell'impostazione di un Synology NAS come server di gioco.
Attenzione — nell'articolo ci sono molti screenshot (gli screenshot sono cliccabili)!
Prima di iniziare, ecco un elenco degli strumenti di cui avremo bisogno:
Synology NAS — qui non vedo limitazioni, penso che qualsiasi modello vada bene, a meno che non ci siano piani per ospitare un server per 10k giocatori.
Docker — non sono necessarie competenze particolari, basta capire in modo generale il principio di funzionamento.
LinuxGSM — puoi leggere di cosa si tratta LinuxGSM sul sito ufficiale https://linuxgsm.com.
Attualmente (aprile 2020) ci sono 105 server di gioco disponibili su LinuxGSM.
Puoi vedere l'intero elenco qui https://linuxgsm.com/servers.
Epic Games Store — un marketplace di giochi.
Server di gioco LinuxGSM è integrato con SteamCMD, il che significa che il server di gioco LinuxGSM può essere utilizzato solo per i giochi su Steam.
Installazione di Docker su Synology NAS
In questo passaggio è tutto semplice, accediamo al pannello di amministrazione di Synology, poi in "Centro pacchetti", troviamo e installiamo Docker.
Centro pacchetti
Avviamo e vediamo un'immagine simile a questa (ho già installato questo contenitore)
Gestione del contenitore
Poi passiamo alla scheda "Registry", cerchiamo "gameservermanagers", selezioniamo l'immagine "gameservermanagers/linuxgsm-docker" e facciamo clic sul pulsante "Download".
gameservermanagers/linuxgsm-docker
Dopo passiamo alla scheda "Image", attendiamo il completamento del download dell'immagine e facciamo clic sul pulsante "Launch".
Download dell'immagine
Nella finestra aperta, è necessario passare alle "Impostazioni avanzate", poi alla scheda "Network" e selezionare la casella "Usa la stessa rete del container Docker".
Le altre impostazioni, come "Nome del container", possono essere modificate a propria discrezione.
Nome del container — come si può facilmente indovinare, è il nome del container, che sarà utile in seguito. Consiglio di dargli un nome conciso, ad esempio "test".
Poi facciamo clic sul pulsante "Apply" o "Next" alcune volte fino al completamento della configurazione.
Impostazioni Avanzate
Passiamo alla scheda "Container" e vediamo il nuovo container avviato (se non è avviato, avviamolo).
Qui è possibile fermarlo, avviarlo, eliminarlo e fare altre operazioni.
Configurazione del contenitore Docker LinuxGSM
Prima di connettersi a Synology NAS tramite SSH, è necessario attivare l'accesso SSH nel pannello di amministrazione.
Collegamento tramite SSH
Successivamente, è necessario utilizzare l' indirizzo IP Synology NAS server per connettersi tramite SSH.
Passiamo al terminale (o qualsiasi altro equivalente, ad esempio per Windows è PuTTY) e utilizziamo il seguente comando:
ssh user_name@IPNel mio caso appare così
ssh admin@192.168.0.166Indirizzo IP del server Synology NAS
Dopo l'autenticazione, è necessario eseguire il comando per accedere al container "test" (campo "Container Name" nelle impostazioni di Docker) come utente "root"
sudo docker exec -u 0 -it test bashConnessione a Docker
Prima di installare "LinuxGSM" è necessario eseguire alcune azioni.
Imposteremo una password per l'utente "root"
passwdDopo aggiorneremo tutti i pacchetti
apt update && apt upgrade && apt autoremoveAspettiamo il termine del processo...
Aggiornamento pacchetti
Successivamente installeremo le utilità necessarie
apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-fullPoiché eseguire diverse azioni come "root" non è la migliore idea, aggiungiamo un nuovo utente chiamato "test".
adduser testE consentiamo al nuovo utente di utilizzare "sudo"
usermod -aG sudo testPassiamo al nuovo utente "test"
su testInstallazione e configurazione di LinuxGSM
Consideriamo un esempio della configurazione di LinuxGSM con "Counter-Strike" ovvero "CS 1.6" https://linuxgsm.com/lgsm/csserver
Andiamo alla pagina delle istruzioni per "Counter-Strike" linuxgsm.com/lgsm/csserver.
Nella scheda "Dependencies" copiamo il codice per "Ubuntu 64-bit".
Al momento della scrittura di questo articolo, questo codice appare così:
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
Installazione delle dipendenze
Durante l'installazione bisogna accettare la "Steam License":
Steam License
Passiamo alla scheda "Install" e copiamo il codice dal secondo passo (saltiamo il primo passo, l'utente "test" esiste già):
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver
Aspettiamo il download:
Download
E avviamo l'installazione:
./csserver installSe tutto è andato a buon fine, vedremo la desiderata "Install Complete!"
Install Complete!
Avviamo... e vediamo l'errore "Multiple IP addresses found."
./csserver startMultiple IP addresses found
Dobbiamo quindi indicare esplicitamente al server quale IP utilizzare.
Nel mio caso è:
192.168.0.166Accediamo alla cartella il cui percorso è stato mostrato nel messaggio come "location":
cd /home/test/lgsm/config-lgsm/csserverE controlliamo quali file sono presenti in questa cartella:
lsElenco dei file nella cartella csserver
Copia il contenuto del file "_default.cfg" nel file "csserver.cfg":
cat _default.cfg >> csserver.cfgE passiamo alla modalità di modifica del file "csserver.cfg":
nano csserver.cfgModifica del file csserver.cfg
Trova la riga:
ip="0.0.0.0"E sostituisci l'indirizzo IP con quello suggerito, nel mio caso è "192.168.0.166".
Finirà più o meno così:
ip="192.168.0.166"Premiamo la combinazione di tasti:
Ctr + XE dopo la proposta di salvataggio premiamo:
YTorniamo nella cartella utente «test»:
cd ~E proviamo a lanciare il server di nuovo. Ora il server dovrebbe avviarsi senza problemi:
./csserver startAvvio del server
Per visualizzare informazioni più dettagliate utilizziamo il comando:
./csserver detailsInformazioni dettagliate su server
Tra i parametri importanti da notare ci sono:
- Server IP: 192.168.0.166:27015
- Internet IP: xxx.xx.xxx.xx:27015
- File di configurazione: /home/test/serverfiles/cstrike/csserver.cfg
A questo punto, il server di gioco è già disponibile nella rete locale.
Configurazione della reindirizzamento dell'indirizzo IP
Giocare in rete locale va bene, ma giocare con amici su Internet è meglio!
Per reindirizzare l'indirizzo IP ottenuto dal router dal provider, utilizziamo il meccanismo NAT.
È anche opportuno notare che la maggior parte dei provider utilizza indirizzi IP dinamici per i propri clienti.
Per comodità e stabilità è preferibile ottenere un indirizzo IP statico.
Poiché ho un router «TP-Link Archer C60», fornisco un esempio di configurazione del reindirizzamento, come è implementato nel mio router.
Per altri router, suppongo che la configurazione del reindirizzamento sia simile.
Qui è tutto semplice: è necessario specificare il reindirizzamento dall'indirizzo IP esterno all'indirizzo IP interno del server per due porte:
- 27015
- 27005
Nella pannello di amministrazione del mio router appare così
Pannello dell'amministrazione del router
Ecco fatto, dopo aver salvato le impostazioni del router, il server di gioco sarà disponibile in rete all'indirizzo IP esterno per le porte indicate!
Impostazioni aggiuntive per l'esempio CS 1.6
Con l'esempio di CS 1.6 vorrei dare alcuni consigli utili.
Ci sono due file per la configurazione del server
Il primo si trova qui:
~/lgsm/config-lgsm/csserver/csserver.cfgIl secondo si trova qui:
~/serverfiles/cstrike/csserver.cfgIl primo file contiene impostazioni generali, come l'indirizzo IP, la mappa per il primo avvio del server, ecc.
Il secondo file contiene le impostazioni dei comandi che possono essere eseguiti tramite la console di «Counter-Strike», per esempio «rcon_password» o «sv_password».
Nel secondo file consiglio di impostare una password per la connessione al server tramite CVar «sv_password» e una password per il controllo dalla console del server stesso tramite CVar «rcon_password».
L'elenco di tutte le variabili CVar può essere visualizzato qui http://txdv.github.io/cstrike-cvarlist
È anche probabile che sarà necessario installare mappe aggiuntive, per esempio «fy_pool_day».
Tutte le mappe per CS 1.6 si trovano qui:
~\/serverfiles\/cstrike\/mapsCerca la mappa di cui hai bisogno, caricala direttamente sul server (se è in archivio, estraila), sposta il file con estensione «.bsp» nella cartella dei file «~\/serverfiles\/cstrike\/maps» e riavvia il server.
~.\/csserver restartA proposito, puoi visualizzare tutti i comandi disponibili del server in questo modo
~.\/csserver
Risultato
Sono soddisfatto del risultato. Tutto funziona rapidamente e non lagga.
LinuxGSM ha molte impostazioni aggiuntive, come l'integrazione con Telegram e Slack per le notifiche, ma alcune funzionalità necessitano ancora di miglioramenti.
In generale, consiglio di utilizzarlo!
Fonti
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
Come ha notato centralhardware non tutti i NAS Synology possono utilizzare Docker, ecco l'elenco dei dispositivi che possono https://www.synology.com/ru-ru/dsm/packages/Docker.
Fonte: habr.com



