Una introduzione al server di Enemy Territory: Quake Wars
Saturday, September 29th, 2007
Il server di Enemy Territory: Quake Wars, l’ultimo gioco d’azione di Splash Damage e id Software, viene distribuito online tramite Bittorent in due versioni alternative:
ETQW-server-1.1-full.r2.x86.run che ha dimensioni pari a 418.64 MB, è proposto all’amministratore di sistema nel caso intendesse fare una installazione completa del server, perché contiene i programmi eseguibili e i dati (mappe, script, ecc.); ETQW-server-1.1-nomedia.r2.x86.run che fornisce solo Punk Buster e i programmi (dimensione complessiva 11.44 MB), è indicato qualora sia presente già sul disco rigido una installazione di Quake Wars per Windows.
apt-get install bittorrento
Ci sono importanti prerequisiti di tipo software che debbono essere controllati col proprio provider prima di procedere alla configurazione e successivamente esecuzione del server; se è una Intranet ad interconnettere i client al server, è probabile che l’amministratore abbia le chiavi d’accesso anche ai programmi di sviluppo o di gestione dei pacchetti. A basso livello il kernel dovrebbe avere il parametro CONFIG_HZ_1000 abilitato, che si trova nel menù di configurazione (di solito si ottiene con make menuconfig…)
Processor type and features / Time frequency / 1000 Hz (default è 250 HZ)
in questo modo si otterranno prestazioni ottimali.
Se vuoi eseguire un server di Quake Wars al 100% senza lag e riservato a 31 giocatori, allora devi prenderti delle precauzioni: non eseguire più di 2 server per macchina; evitare se possibile le tipologie di macchina “virtual private server” a meno che quest’ultime abbiano risorse pari al seguente hardware dedicato
- Processore Pentium (r) 4 @ 2.0GHz oppure Athlon ™ XP 2000+
- 512MB di memoria di sistema
- Ottime unità di massa; per esempio con velocità di 7200rpm, meglio in RAID
- Kernel Linux 2.6 low-latency, con timer a 1Khz
- Una connessione a banda larga (broadband) con 320KB/s in upstream (~2.5Mbit/s) e 122.1KB/s in downstream (1MBit)
Controlla la variabile net_servermaxclientrate e net_clientmaxrate. Esse limitano la banda per ogni client connesso (è espressa in bytes/s). Valori piu’ alti assicurano prestazioni migliori per ogni giocatore, ma in ogni caso il server aggiusta automaticamente la disponibilità di banda a seconda delle richieste del client. Mediamente 16000 (default) è un valore molto buono per entrambe le variabili nella maggior parte dei sistemi. Se i client non useranno più di 16KB/s, valori superiori di net_maxclientrate non avranno effetto.
Se c’è un firewall attivo fra il server del gioco e Internet, allora dovranno essere “aperte” certe porte
- in ingresso: UDP 27733 e UDP 3074
- in uscita: TCP 3074
La porta del primo tipo può essere cambiata a piacimento dalla linea di comando con una opzione, per esempio
etqw-dedicated +set net_port 27734
oppure
etqw-dedicated +set in_tty "0" +set net_ip 194.175.27.69 +set net_port 27734
La opzione in_tty abilita/disabilita l’uso dei comandi nel terminale tty sul quale si sta eseguendo Quake Wars. Quando avviato per la prima volta, il server crea una serie di directory e sub-directory nella home dell’utente che esegue il gioco. Affinché l’amministratore o i suoi delegati (moderatori) possano gestire tutte le funzioni speciali previste per una partita (kick/ban, votazioni, riavvio, scelta mappa, ecc.), dovrà essere creato o copiato i file usergroups.dat, match.cfg e public.cfg dentro $HOME/.etqw/base e modificati opportunamente; potrebbe benissimo farlo il seguente comando (dopo aver adattato il percorso d’origine)
cp /path/to/etqw/base/{usergroups.dat, macth.cfg, server.cfg} $HOME/.etqw/base
Altrimenti il server eseguirà una configurazione “precotta”. Usergroups.dat si ispira probabilmente alla gestione dei gruppi di amministrazione previsti dalla modifica ETPUB (e precedentemetne SHRUB) di Wolfenstein: Enemy Territory. Qui possiamo aggiungere le utenze che detengono determinati privilegi. E’ bene non eliminare o rinominare il gruppo Default, perché comprende tutti i giocatori che si collegano al server; è sconsigliato anche associargli una password.
etqw-dedicated +set in_tty "0" +set net_ip 194.175.27.69 +set net_port 27734 +exec "server.cfg"
