Proviamo un game server su OVHcloud

Chi gioca spesso in multiplayer, prima o poi, sente la necessità di allestire un server di gioco personale. Vediamo come funziona la proposta di server gaming personalizzati di OVHcloud e come prepararne uno dedicato a Minecraft.

Avatar di Giancarlo Calzetta

a cura di Giancarlo Calzetta

-

Chi gioca spesso in multiplayer, prima o poi, sente la necessità di allestire un server di gioco personale. Magari semplicemente per allenarsi in tutta tranquillità o per offrire al proprio team la possibilità di fare la stessa cosa in un ambiente protetto o per continuare a giocare a un vecchio classico non più supportato ufficialmente dal suo publisher. O magari soltanto perché “fa figo” averne uno.

Le motivazioni, in ogni caso, poco importano: chi vuole allestire un game server personale, cioè un nodo a cui collegarsi per giocare – e non per farlo in streaming, specifichiamo – si scontra necessariamente con alcune peculiari difficoltà.

La prima è sicuramente acquisire la giusta manualità con gli strumenti informatici, dall’uso di un sistema operativo per server alla configurazione dei programmi necessari: servono dedizione e forza di volontà, ma alla fin fine non sono concetti così astrusi. La seconda, invece, è garantirsi una connessione stabile a Internet e un hardware prestante, per essere sempre all’altezza della situazione.

Un server gaming, infatti, deve essere sempre pronto a rispondere alle richieste dei client, cioè dei giochi che girano sui computer di chi si è collegato, e non può permettersi di usare connessioni a consumo o a banda limitata, perché un “ping” troppo elevato o un ripetuto cambiamento di indirizzo IP renderebbero il server inutilizzabile.

Sebbene sia possibile superare questi problemi con appositi contratti di connessione domestica, resterebbe il grosso problema della sicurezza: un bug di troppo in uno degli anelli della catena (router, sistema operativo, server di gioco), e la vostra rete domestica potrebbe essere compromessa con tutti i dati contenuti sui dispositivi connessi.

Un pericolo che vale la pena evitare noleggiando un server presso un’azienda specializzata, che, tra le altre cose, permette anche di avere una connessione veloce, un indirizzo IP stabile e una macchina espressamente dedicata allo scopo, senza “distrazioni” dovute ad altri programmi o ad altri videogiochi in esecuzione in quel momento.

Il servizio Game-1 di OVHcloud

OVHcloud è un Cloud provider di rilievo internazionale, dotato di 30 datacenter e 34 punti di accesso con una rete dedicata in fibra ottica da 20 Tbps, in grado di offrire soluzioni per qualunque genere di necessità informatica, dall’ormai banale web hosting all’affitto di server dedicati in cloud. Si possono scorrere facilmente collegandosi al sito italiano di OVHcloud ma, quello che ci interessa oggi, è il servizio Game-1, accessibile con l’opzione Server Game Nuovo tra i server dedicati.

L’opzione Game-1 ci mette a disposizione, per 85,49 euro al mese più IVA, una macchina fisica con processore AMD Ryzen 5 3600X con 32 giga di memoria RAM, una connessione a Internet da 1 Gbps e uno storage di 500 GB su doppio drive SSD Nvme, in grado di eseguire più server, per diversi giochi, contemporaneamente.

Naturalmente la loro quantità dipende dalle risorse richieste e dal numero di giocatori che si dovranno collegare, quindi, in fase di configurazione, tenete sempre sottocchio le specifiche di ciascun programma.

La macchina, essendo pensata solo per fornire servizi remoti, non è dotata di schede audio e video: quindi alcuni programmi non funzioneranno o avranno bisogno di particolari accorgimenti. Assieme al server, ci verranno comunicati il suo indirizzo IP e un URL per collegarci del tipo nsNUMERO.ip-QUALCOSA.eu. Utenza e password, invece, saranno comunicati via mail una volta effettuato il deploy del sistema operativo.

Benvenuti Sysadmin!

OVHcloud permette di scegliere tra una rosa di sistemi Linux “pronti all’uso” e le versioni “Core” 2016 e 2019 di Windows Server Hyper-V, un’edizione gratuita di Windows che, però, ha diverse limitazioni rispetto a Windows 10: non ha un’interfaccia grafica vera e propria, mancano il file manager Explorer e perfino il pannello di controllo va invocato, applet dopo applet, tramite prompt di comando.

In compenso, scegliendo di effettuare il deploy di Windows Server 2019 Hyper-V, sarà attivo remote desktop e ci potremo collegare al server per mezzo del client RDP (mstsc.exe), montando i dischi locali per trasferire i file che ci interessano.

Le immagini Linux mettono a disposizione qualche strumento di amministrazione in più e, a seconda dell’opzione selezionata, un database e un’interfaccia web di controllo basata su PHP. Cose da system administrator provetti, per intenderci, su cui magari molti di noi non hanno la necessaria manualità e che su un server di gioco potrebbero servire a poco.

Teniamolo comunque in considerazione al momento della scelta del sistema operativo, qualora desiderassimo fare un uso “ibrido” della macchina. Se poi fossimo interessati a creare più macchine virtuali per sfruttare tutti i core e i thread a disposizione del processore, potremmo scegliere anche Vmware ESXi 6.7.

Tuttavia, in questo modo ci si allontana davvero moltissimo dalle finalità teoriche del servizio. In ogni caso, ci serviranno nozioni di amministrazione remota e appositi strumenti, ma in questo articolo mostreremo come installare un server per Minecraft su Windows Server 2019 Hyper-V.

Il minimo indispensabile

Dato che il nostro server remoto sarà già connesso a Internet, ma non avrà un’interfaccia grafica che renda più semplice usarlo, i primi due programmi necessari al suo impiego saranno un browser per il web e un file manager che rimpiazzi Explorer (“Esplora File”, per chi è abituato alla lingua italiana).

La scelta non può che ricadere su Chrome, dato che le ultime versioni di Firefox in questo ambiente non funzionano, e su Explorer++, entrambi gratuiti e molto facili da usare. Explorer++ non richiede installazione e basta estrarre i contenuti del suo file Zip in una cartella del disco locale, per ottenere l’eseguibile che ci interessa: conviene trasferire sul server direttamente quest’ultimo, perché sul server non ci sono strumenti “semplici” per la sua estrazione.

A questo punto, possiamo aprire un prompt di comando sul nostro PC e inserire il comando mstsc. L’alternativa è cercare “Connessione Desktop Remoto” tra gli strumenti di Windows o dal menu avvio.

Nel pannello “Generale” va inserito l’IP o l’URL completo del server remoto. Alla voce “nome utente” invece va specificata l’utenza di amministrazione nella forma HostnameAdmin. Prima di connetterci, però, è opportuno muoversi al pannello “Risorse locali” e nel settore “Dispositivi e risorse locali” fare clic sul pulsante “Altro”, per verificare che le “Unità” siano selezionate.

Questo consente di far “vedere” al server i dischi del nostro PC come share di rete. Una volta connessi, apparirà la striminzita interfaccia testuale di Windows Server 2019 Hyper-V e bisognerà assegnare le lettere di unità ai dischi condivisi che ci servono. Nell’esempio che segue, abbiamo montato come unità Q: il disco C: del PC locale:

net use q: \tsclientc

Creiamo una cartella soft all’interno di C: sul server remoto e usiamola per i programmi indispensabili:

mkdir soft

ora spostiamoci su Q: nel percorso dove abbiamo scaricato i due eseguibili che ci servono e copiamoli sul server

Q:

cd percorsodidownload

copy Explorer++.exe c:soft

copy ChromeSetup.exe c:soft

Spostiamoci su C: e avviamo Explorer++. Poi da lì lanciare l’installer di Chrome non sarà più un problema.

C:

cd soft

Explorer++

Si tenga presente che Explorer++ non sostituisce Explorer in tutto e per tutto, né fornisce una barra delle applicazioni sul lato inferiore dello schermo. Quindi, una volta che lo avremo installato, dovremo avviare Chrome dalla sua cartella.

Gli altri elementi che ci possono servire, per renderci la vita più semplice, sono alcuni programmi come Cairo Desktop Environment (per dare un minimo di ambiente desktop utilizzabile a Windows Server 2019 Hyper-V) e 7zip, cosicché sia possibile gestire senza fatica gli archivi compressi.

Si rammenti sempre che tutti questi programmi danno per scontate librerie di sistema disponibili su Windows 10 e affini, per tanto alcune opzioni potrebbero non funzionare correttamente su questa particolare edizione di Windows. Non facciamone un dramma.

Installiamo il server di Minecraft

Minecraft è un buon esempio, nel bene e nel male, per comprendere la logica di funzionamento di un server di gioco e affrontare uno dei piccoli ostacoli di Windows Server 2019 Hyper-V: l’impossibilità di usare l’installer di Windows in modalità standard.

Se alcuni programmi – lo abbiamo visto con Chrome – si installano senza problemi, altri richiedono un po’ di lavoro per usare la modalità unattended. Il server di Minecraft, di per sé, non è altro che un file .jar eseguibile dalla console di Java, ma è proprio quest’ultimo ad aver bisogno di aiuto per installarsi. Sostanzialmente, bisogna:

  1. collegarsi al sito di java [https://www.java.com/it/download/win10.jsp] e scaricare il pacchetto di installazione, che può avere un nome del tipo JavaSetup8u251.exe (facciamolo con Chrome, direttamente dal nostro server remoto)
  2. rinominare per semplicità il file in JavaSetup.exe rimuovendo il riferimento alla versione (in questo caso 8u251)
  3. salvarlo in una cartella temporanea da solo, per esempio in C:tmp
  4. sempre in C:tmp, creare un file chiamato bat usando notepad:pushd %~dp0start /wait javasetup.exe INSTALLCFG=%~dp0jre.cfg
  5. sempre in C:tmp, creare un file chiamato cfg usando notepad:
INSTALL_SILENT=Enable

SPONSORS=Disable

NOSTARTMENU=Enable

REBOOT=Disable

EULA=Disable

AUTO_UPDATE=Disable

STATIC=Enable

  1. lanciare da prompt di comando o da Explorer++ bat. L’installer provvederà a copiare i file necessari senza mostrare nulla sullo schermo. Quando il puntatore tornerà alla normale forma di freccetta, inseriamo questo comando da un prompt:

    path %PATH%"C:Program Files (x86)Javajre1.8.0_251bin"

    (il percorso tra virgolette potrebbe variare leggermente, in funzione della release di Java).

A questo punto si potranno invocare gli eseguibili java.exe e javaw.exe come se fossero normali comandi di sistema, da qualunque posizione sul disco fisso. Ora che abbiamo sistemato Java, possiamo finalmente avviare il server di Minecraft.

  1. Scarichiamo il pacchetto col server da questo link [https://www.minecraft.net/it-it/download/server]
  2. Mettiamolo dentro una cartella, magari una sottodirectory di C:soft (che avevamo creato prima, ricordate?) chiamata C:softminecrafts.
  3. Qualora avesse un altro nome rinominiamolo, per comodità, jar
  4. Da un prompt di comando, proviamo ad avviarlo per la prima volta, con un semplice

    C:cd C:softminecraftsjava -jar server.jar nogui

  5. Il server non si avvierà, ma in compenso genererà alcuni file che possiamo editare con notepad: eula.txt e server.properties. Modifichiamo eula.txt, cambiando eula=false in eula=TRUE
  6. Ora diamo un comando un po’ più complesso per assegnare al server un po’ di memoria in più, espressa in KB tramite il parametro -X:

    java -Xmx1024M -Xms1024M -jar server.jar nogui

A questo punto il server entrerà in funzione e sarà possibile darlo in pasto ai client per la connessione.

Per non stare lì a dare i comandi di avvio ogni volta che decidiamo di riavviare il server (magari in seguito a un aggiornamento di Windows), può essere una buona idea racchiuderli in un file batch e impostare il sistema per lanciarlo all’avvio. Purtroppo – ormai dovremmo averci fatto l’abitudine – Windows Server 2019 Hyper-V non dispone di strumenti di amministrazione locale come Server Manager o come Gestione Computer e quindi, per istruirlo a lanciare uno script all’avvio, il modo più rapido è creare una voce di registro nella chiave HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun, per mezzo dell’apposito editor (regedit.exe): almeno questo, fortunatamente, c’è e funziona come al solito.