Trasformare un Synology NAS in un server di gioco

Trasformare un Synology NAS in un server di gioco

Salve!

Dunque, per motivi ben noti, è necessario trascorrere più tempo a casa davanti al monitor.
In questa situazione, si finisce per ricordare le cose dei tempi passati.

Come è già chiaro dal titolo di questo articolo, parleremo della configurazione di un Synology NAS come server di gioco.

Attenzione — l'articolo contiene molti screenshot (gli screenshot sono cliccabili)!

Prima di iniziare, ecco l'elenco degli strumenti di cui avremo bisogno:

Synology NAS — qui non vedo limitazioni, penso che vada bene qualsiasi modello, se non si hanno piani per un server da 10k giocatori.

Docker — non sono necessarie abilità particolari, basta avere una comprensione di base del funzionamento.

LinuxGSM — per sapere di cosa si tratta LinuxGSM, si può leggere 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.

Steam — 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 di Steam.

Installazione di Docker su Synology NAS

A questo punto è tutto semplice, accediamo al pannello di amministrazione di Synology, poi andiamo su "Package centre", troviamo e installiamo Docker.

Package centreTrasformare un Synology NAS in un server di gioco
Avviamo e vediamo un quadro simile (ho già installato questo contenitore)

Gestione del contenitoreTrasformare un Synology NAS in un server di gioco
Successivamente, passiamo alla scheda «Registry», digitiamo «gameservermanagers» nella ricerca, selezioniamo l'immagine «gameservermanagers/linuxgsm-docker» e clicchiamo sul pulsante «Download».

gameservermanagers/linuxgsm-dockerTrasformare un Synology NAS in un server di gioco
Dopo passiamo alla scheda «Image», aspettiamo la fine del download dell'immagine e clicchiamo sul pulsante «Launch».

Download dell'immagineTrasformare un Synology NAS in un server di gioco
Nella finestra aperta, bisogna andare su «Advanced Settings», poi sulla scheda «Network» e selezionare la casella «Use the same network as Docker Host».

Le altre impostazioni, come «Container Name», possono essere modificate a proprio piacimento.
Container Name — come è facile intuire, è il nome del contenitore, che sarà utile in seguito. Consiglio di scegliere un nome conciso, per esempio, «test».

Successivamente, clicchiamo sul pulsante «Apply» o «Next» più volte fino al completamento della configurazione.

Impostazioni AvanzateTrasformare un Synology NAS in un server di gioco
Passiamo alla scheda «Container» e vediamo il nuovo contenitore avviato (se non è avviato, lo avviamo).
Qui possiamo fermarlo, avviarlo, eliminarlo e fare altre azioni.

Avvio del contenitoreTrasformare un Synology NAS in un server di gioco

Configurazione del contenitore Docker LinuxGSM

Prima di connettersi a Synology NAS tramite SSH, è necessario attivare l'accesso SSH nel pannello di amministrazione.

Connessione tramite SSHTrasformare un Synology NAS in un server di gioco
Successivamente è necessario utilizzare l indirizzo IP Synology NAS server per connettersi tramite SSH.

Apriamo il terminale (o un altro equivalente, per esempio su Windows è PuTTY) e utilizziamo il seguente comando:

ssh user_name@IP

Nel mio caso appare così

ssh admin@192.168.0.166

Indirizzo IP del server Synology NASTrasformare un Synology NAS in un server di gioco
Dopo l'autenticazione, eseguiamo il comando per accedere al container "test" (il campo "Container Name" nelle impostazioni di Docker) come utente "root".

sudo docker exec -u 0 -it test bash

Connessione a DockerTrasformare un Synology NAS in un server di gioco
Prima di installare "LinuxGSM", è necessario eseguire alcune operazioni.

Impostiamo una password per l'utente "root"

passwd

Poi aggiorniamo tutti i pacchetti

apt update && apt upgrade && apt autoremove

Attendiamo il completamento del processo...

Aggiornamento pacchettiTrasformare un Synology NAS in un server di gioco
Successivamente installeremo le utilità necessarie

apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-full

Poiché eseguire diverse operazioni come "root" non è una buona idea, aggiungiamo un nuovo utente "test".

adduser test

E consentiamo al nuovo utente di utilizzare "sudo"

usermod -aG sudo test

Passiamo al nuovo utente "test"

su test

Installazione utilitàTrasformare un Synology NAS in un server di gioco

Installazione e configurazione di LinuxGSM

Esaminiamo un esempio di configurazione di LinuxGSM utilizzando "Counter-Strike", noto anche come "CS 1.6". https://linuxgsm.com/lgsm/csserver

Passiamo alla pagina con le istruzioni «Counter-Strike» linuxgsm.com/lgsm/csserver.

Nella scheda «Dependencies» copiamo il codice per «Ubuntu 64-bit».

Al momento della scrittura di questo articolo, il 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 dipendenzeTrasformare un Synology NAS in un server di gioco
Durante l'installazione, bisogna accettare il «Steam License»:

Steam LicenseTrasformare un Synology NAS in un server di gioco
Passiamo alla scheda «Install» e copiamo il codice dal 2° passo (saltiamo il 1° passo, l'utente «test» esiste già):

InstallaTrasformare un Synology NAS in un server di gioco

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

Aspettiamo il download:

DownloadTrasformare un Synology NAS in un server di gioco
E avviamo l'installazione:

./csserver install

Se tutto è andato a buon fine, vedremo il tanto atteso «Install Complete!»

Install Complete!Trasformare un Synology NAS in un server di gioco
Avviamo… e vediamo l'errore «Multiple IP addresses found.»

./csserver start

Multiple IP addresses foundTrasformare un Synology NAS in un server di gioco
Dobbiamo specificare chiaramente al server quale IP utilizzare.

Nel mio caso è:

192.168.0.166

Passiamo alla cartella il cui percorso è stato menzionato nel messaggio come «location»:

cd /home/test/lgsm/config-lgsm/csserver

E vediamo quali file ci sono in questa cartella:

ls

Elenco dei file nella cartella csserverTrasformare un Synology NAS in un server di gioco
Copiamo il contenuto del file «_default.cfg» nel file «csserver.cfg»:

cat _default.cfg >> csserver.cfg

E passiamo alla modalità di editing del file «csserver.cfg»:

nano csserver.cfg

Modifica il file csserver.cfgTrasformare un Synology NAS in un server di gioco
Troviamo la riga:

ip="0.0.0.0"

E sostituiamo l'indirizzo IP suggerito, nel mio caso «192.168.0.166».

Dovrebbe risultare così:

ip="192.168.0.166"

Teniamo premuti i tasti:

Ctr + X

E dopo la proposta di salvataggio, clicchiamo su:

Y

Torniamo nella cartella utente «test»:

cd ~

E proviamo di nuovo a avviare il server. Ora il server dovrebbe avviarsi senza problemi:

./csserver start

Avvio del serverTrasformare un Synology NAS in un server di gioco
Per visualizzare informazioni più dettagliate, utilizziamo il comando:

./csserver details

Informazioni dettagliate su serverTrasformare un Synology NAS in un server di gioco
Tra i parametri importanti, si segnalano:

  • Server IP: 192.168.0.166:27015
  • Internet IP: xxx.xx.xxx.xx:27015
  • File di configurazione: /home/test/serverfiles/cstrike/csserver.cfg

In questa fase, il server di gioco è già accessibile nella rete locale.

Configurazione della ridirezione dell'indirizzo IP

Giocare in rete locale va bene, ma giocare con gli amici tramite internet è meglio!

Per ridirigere l'indirizzo IP ricevuto dal provider, utilizziamo il meccanismo NAT.

È inoltre opportuno notare che la maggior parte dei provider utilizza indirizzi IP dinamici per i propri clienti.

Per comodità e stabilità, è consigliato ottenere un indirizzo IP statico.

Poiché ho un router "TP-Link Archer C60", fornisco un esempio di configurazione della port forwarding, come è implementato nel mio router.

Per altri router, presumo che la configurazione della port forwarding sia simile.

È semplice: è necessario specificare il port forwarding dall'indirizzo IP esterno all'indirizzo IP interno del server per due porte:

  • 27015
  • 27005

Nella mia interfaccia di amministrazione del router, appare così

Interfaccia di amministrazione del routerTrasformare un Synology NAS in un server di gioco
Ecco fatto, dopo aver salvato le impostazioni del router, il server di gioco sarà accessibile in rete all'indirizzo IP esterno per le porte indicate!

Impostazioni aggiuntive con esempio di CS 1.6

Con riferimento a CS 1.6, vorrei fornire alcuni consigli utili.

Ci sono due file per la configurazione del server

Il primo si trova qui:

~/lgsm/config-lgsm/csserver/csserver.cfg

Il secondo si trova qui:

~/serverfiles/cstrike/csserver.cfg

Il primo file contiene impostazioni generali, come l'indirizzo IP, la mappa per il caricamento iniziale del server, ecc.

Il secondo file contiene impostazioni dei comandi che possono essere eseguiti tramite la console di "Counter-Strike", come "rcon_password" o "sv_password".

Nel secondo file, consiglio di impostare una password per la connessione al server tramite il CVar «sv_password» e di stabilire una password per la gestione dalla console del server stesso tramite il CVar «rcon_password».

L'elenco di tutte le variabili CVar può essere visualizzato qui http://txdv.github.io/cstrike-cvarlist

Probabilmente sarà necessario installare ulteriori mappe, come ad esempio «fy_pool_day».

Tutte le mappe per CS 1.6 si trovano qui:

~/serverfiles/cstrike/maps

Troviamo la mappa desiderata, la carichiamo direttamente sul server (se è in un archivio, dekomprimiamo), spostiamo il file con estensione «.bsp» nella cartella con i file «~/serverfiles/cstrike/maps» e riavviamo il server.

~./csserver restart

Tra l'altro, è possibile visualizzare tutti i comandi disponibili del server in questo modo

~./csserver

 

Risultato

Sono soddisfatto del risultato. Funziona tutto rapidamente e senza lag.

LinuxGSM ha molte impostazioni aggiuntive, come l'integrazione con Telegram e Slack per le notifiche, ma alcune funzionalità richiedono ancora miglioramenti.

In generale, lo consiglio per l'uso!

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 notato centralhardware non tutti i NAS Synology supportano Docker, ecco l'elenco dei dispositivi che possono farlo. https://www.synology.com/ru-ru/dsm/packages/Docker.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster