Quake Wars – Il server

Introduzione

Quake Wars dedicated server install
Il server di Enemy Territory: Quake Wars, l’ultimo gioco d’azione di Splash Damage e id Software, viene distribuito online tramite il servizio Bittorrent oppure Ftp.

ETQW-server-1.5-full.x86.runbittorent | ftp

Se l’intenzione è quella di installare il server di gioco su una VPS o un server dedicato, forse i programmi più adatti a scaricare i file suddetti sono: Bittorento (richiede ncurses) oppure Wget. Ci sono inoltre importanti prerequisiti di tipo software che debbono essere controllati col proprio provider, prima di procedere alla configurazione ed esecuzione del server; se è una Intranet ad interconnettere i client al server, probabilmente l’amministratore ha le chiavi di accesso anche ai programmi di sviluppo o di gestione dei pacchetti, e potrà ricompilare il kernel. A basso livello il kernel dovrebbe avere il parametro CONFIG_HZ_1000 abilitato (CONFIG_HZ_300 se il sistema è SMP). A patto di disporre dei sorgenti, questo parametro può essere cambiato: si trova nel menù di configurazione che si apre con make menuconfig.

Processor type and features / Time frequency / 1000 Hz (default è 250 HZ)

Se c’è un firewall attivo fra il server del gioco e Internet, dovranno essere “aperte” anche le seguenti porte

  • in ingresso: UDP 27733 e UDP 3074
  • in uscita: TCP 3074

La porta principale (default è 27733) può essere cambiata a piacimento dalla linea di comando con una opzione, per esempio
etqw-dedicated +set net_port 27734
etqw-dedicated +set in_tty "0" +set net_ip 194.175.27.69 +set net_port 27734

la prima riga di comando mette il server di gioco in ascolto sulla porta UDP 27734; la seconda disabilita l’uso del terminale (+set in_tty “0″), assegna l’indirizzo IP (+set net_ip) e imposta la porta UDP (+set net_port).
Quando l’utente lancia per la prima volta il server, il sistema crea una serie di directory nella sua HOME (in .etqwcl).

.etqw

.etqw

Le funzioni speciali di gestione della partita (kick/ban, votazioni, riavvio, scelta mappa, ecc.) sono specificate nel file usergroups.dat. Una copià è stata installata nella directory base. È compito dell’amministratore copiarlo in $HOME/.etqw/base e modificarlo secondo le proprie necessità. Usergroups.dat si ispira probabilmente alla gestione dei gruppi di amministrazione previsti dalla modifica ETPUB (e precedentemetne SHRUB) di Wolfenstein: Enemy Territory. In questo file si possono aggiungere le utenze che detengono determinati privilegi. È meglio non eliminare o rinominare il gruppo Default, perché comprende tutti i tipi di giocatori che si collegano al server; è sconsigliato anche associargli una password.

Requisiti Hardware/Software

I requisiti hardware/software per eseguire un server di Quake Wars senza lag e riservato a 31 giocatori

  • Processore Pentium (r) 4 @ 2.0GHz oppure Athlon ™ XP 2000+
  • Almeno 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

Controllare sempre la variabile net_clientmaxrate. Essa limita la banda per ogni computer connesso (è espressa in bit/s). Valori piu’ alti assicurano prestazioni migliori per ogni giocatore, ma in ogni caso il server aggiusta automaticamente la disponibilità di banda a seconda del numero di richieste che gli giungono. Mediamente 16000 (default) è un valore molto buono per la maggior parte dei sistemi. Il prossimo esempio mostra come eseguire un server di Quake Wars dedicato ai giocatori con la versione demo.

Lan Party

Adesso che il server del gioco è installato, occorre configurarlo e prepare uno script di avvio del programma.
Nella directory base c’è il file di configurazione server.cfg che può essere preso come riferimento.
Lo script di avvio deve contenere i comandi essenziali, per esempio:

#!/bin/sh
cd `dirname $0`
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:."
FS_PATH="`pwd`/27733"
FS_USERPATH="$FS_PATH"
LANSERVER="net_LANServer 1"
PB_SERVER="net_serverPunkbusterEnabled 1"
EXEC="sv_ferocious.cfg"
exec ./etqwded.x86 +set in_tty "0" +set fs_savePath $FS_PATH \
+set fs_userPath $FS_USERPATH +set $LANSERVER \
+set $PB_SERVER +exec $EXEC "$@"

Questo comando lancia un server di gioco in LAN di Enemy Territory: Quake Wars, disabilita la console, imposta la directory di “lavoro” 27733 (che corrisponde alla porta del server), abilita Punk Buster e carica il file di configurazione sv_ferocious.cfg.

Collegamenti utili