UT99, un server pubblico vent'anni dopo
Unreal Tournament è uno sparatutto in prima persona pensato per il multiplayer. Ci abbiamo giocato per anni con gli amici, e oggi tengo acceso un server per poterci tornare.
#Il gioco
Unreal Tournament esce alla fine del 1999. È sviluppato da Epic Games e Digital Extremes e pubblicato da GT Interactive. Le fonti non concordano sul giorno esatto: si va dal 22 al 30 novembre, a seconda di dove si guarda, quindi mi limito a novembre 1999.
Punta sulle partite contro altri giocatori o contro bot. La base prevede Deathmatch, Team Deathmatch, Capture the Flag, Domination, Last Man Standing e Assault. I mutator, piccoli moduli che cambiano le regole, permettono di combinare le modalità: è anche per questo che il gioco ha continuato a vivere attraverso le comunità.
Negli anni sono usciti una versione per PlayStation 2 e una Game of the Year Edition. Le versioni digitali sono state ritirate dai negozi online nel dicembre 2022, quindi oggi chi vuole giocare lo fa spesso con copie già in suo possesso.
#Le serate 3vs3
Con gli amici lo abbiamo giocato alle superiori, per diversi anni, in incontri 3vs3. Lo abbiamo ripreso ai tempi del Covid.
Le regole erano sempre le stesse: sessioni da due partite da 15 minuti, solo Capture the Flag e sulle mappe CTF-Face, scelte per la loro simmetria.
Oggi si gioca raramente. Ogni tanto però capita di riprovarci, e allora serve un posto dove farlo senza dover cercare un server altrui.
#Il server pubblico
Da quel tentativo di tornare a giocare è nata la decisione di aprire e mantenere un server pubblico. Il pezzo tecnico sta in un repository docker compose sul mio server.
Il server. Un container con l'immagine pubblica lacledeslan/gamesvr-ut99, avviato in Capture the Flag sulla mappa CTF-Face. I file di configurazione, le mappe e i mutator stanno in una cartella sull'host e vengono copiati nel container a ogni avvio, così modificarli non richiede di ricostruire l'immagine.
Le regole. Sono quelle classiche, con qualche aggiunta:
- partite da 15 minuti, fino a 10 giocatori, squadre di massimo 5;
- il Translocator è attivo e il fuoco amico è ridotto (
FriendlyFireScale=0.7); - niente powerup grazie a
NoPowerups; AntiCampercontro chi resta fermo,SmartCTFper il punteggio eMapVoteper votare la mappa successiva;ZeroPingper ridurre l'effetto della latenza.
Farlo trovare. Il server si annuncia ai master server della comunità, come 333networks, oldunreal e openspy. Il nome è [ITA] VerVello CTF Public (Sym) e il messaggio del giorno richiama una piccola comunità italiana su Discord, "Unreal Sofa - Server italiani UT99".
Sapere come va. Sul dominio ut99.spinelli.dev c'è una pagina di stato in PHP che interroga il server con il protocollo di query GameSpy, lo stesso che usa il browser dei server del gioco. A fianco gira UTStatsDB: un cron sull'host importa ogni due minuti i log in MariaDB e ne ricava classifiche e statistiche.
L'infrastruttura è la stessa che ospita anche gli altri miei siti, con Traefik come reverse proxy e certificati Let's Encrypt.
#Per chiudere
Un server pubblico per un gioco di oltre vent'anni fa ha poco di pratico. Resta un modo per tenere vivo un gioco che ci ha tenuto compagnia.
Fonti: Wikipedia, Giant Bomb.