Configurare il Server
Il server HERA viene fornito come Linux Dedicated Server Build. Funziona in modalità completamente headless, ovvero come processo in background senza interfaccia grafica.
Requisiti di sistema
Per il funzionamento è necessario l'accesso a una macchina virtuale (VM) con Linux. Può trattarsi di un server nella rete universitaria locale (come al BCDH) o di un'istanza cloud, ad esempio un'istanza Amazon AWS EC2.
Configurazione di riferimento BCDH
La seguente configurazione del server è servita da orientamento ed è risultata stabile in fase di test con 8 client simultanei:
- Sistema operativo: Ubuntu 22.04 LTS
- Core del processore (vCPU): 2 Core
- Memoria ad accesso casuale (RAM): 8 GB
- Spazio su disco: 150 GB (SSD consigliata)
Nota sulla scalabilità: Il limite assoluto, ovvero il numero massimo di client simultanei prima che il server subisca cali di prestazioni o si blocchi, non è ancora stato determinato in modo definitivo.
Configurazione di rete (Firewall)
Affinché i client possano stabilire una connessione con il server, è necessario definire le regole corrispondenti nel firewall del server o nei gruppi di sicurezza in entrata (Inbound Security Groups, ad esempio in AWS). HERA utilizza il protocollo UDP per il flusso di dati multiplayer.
Configurare la seguente regola in entrata:
| Parametro | Valore |
|---|---|
| Tipo | UDP personalizzato |
| Protocollo | UDP |
| Intervallo di porte | 7777 |
| Origine (Source) | Ovunque (0.0.0.0/0) |
Retroscena: perché UDP e non TCP?
- TCP (Transmission Control Protocol): È un protocollo orientato alla connessione. Stabilisce una connessione fissa, controlla la completezza di ogni pacchetto e richiede nuovamente i dati andati perduti (principio dell'handshake). Questo garantisce la sicurezza, ma è decisamente troppo lento per le applicazioni multiplayer in tempo reale.
- UDP (User Datagram Protocol): È privo di connessione e rinuncia a questo handshake permanente. I pacchetti di dati vengono inviati continuamente e con una latenza minima. Se un pacchetto va perso lungo il percorso (ad esempio un aggiornamento della posizione), viene semplicemente sovrascritto dal pacchetto successivo. Per una sincronizzazione fluida, l'UDP è quindi assolutamente indispensabile.
Trasferimento del build Linux sul server
Cosa serve: Il server Linux, il build Linux di HERA e le credenziali di accesso SSH. È consigliabile utilizzare SSH per connettersi al server. Si tratta di una connessione sicura che consente di eseguire comandi sul server Linux.
Seguire questi passaggi per configurare manualmente il build del server:
- Accesso SSH: Accedere al server Linux tramite terminale:bash
ssh username@Indirizzo-IP - Copia dei dati: Trasferire la cartella zip del build Linux di HERA nella directory home dell'utente corrispondente:
/home/TuoNomeUtente/. - Decompressione: Utilizzare il comando
unzipper estrarre l'archivio:bashunzip LinuxServer.zip - Assegnazione dei permessi: Affinché i file eseguibili possano essere avviati, i permessi di esecuzione per la directory devono essere impostati in modo ricorsivo (
-R):bashchmod +x -R LinuxServer/ - Avvio di prova del server: Passare alla cartella e avviare lo script di avvio:bash
cd LinuxServer/ ./HERA_Server.sh
⚠️ Nota importante: Se si avvia il server manualmente tramite console, l'applicazione si spegnerà automaticamente dopo 2 ore. Si raccomanda pertanto caldamente di configurare subito dopo il server come servizio di sistema a esecuzione permanente, come descritto nella sezione seguente: Configurare HERA come Servizio.
