Linux- Configurare un server Counter Strike: Source


Prefazione&Requisiti

Questa guida ha come scopo la creazione di un server dedicato a Counter Strike Source su Linux. Si adatta ad ogni distribuzione, per comodità e stabilità ho dapprima utilizzato Ubuntu Server 8.10 e poi per vari test su Slackware 12.2 e ho notato solamente meno carico sulla ram, ma non ci sono paragoni contro un server Windows, che ha prestazioni davvero ridicole!

Sinceramente pensavo fosse molto più difficile crearlo e molto più facile gestirlo🙂

Non è possibile utilizzare Fastweb come ISP e avete bisogno di un ip statico. Vi consiglio di utilizzare il servizio offerto da

http://www.dyndns.com/

E usare il programma “ddclient”, installabile anche dai repositiry di Ubuntu, per inviare l’ip a dyndns, così vi basterà usare il nome ad esso associato per ritrovare l’ip, oppure semplicemente inserendolo nella ricerca server di Steam.

Sarebbe opportuno avere una connessione HDSL da almeno 2Mb, o al peggio un’ADLS con 1Mb di upload. Le prestazioni della connessione sono fondamentali.

 

Tutti i comandi della guida sono dati come utente root e come directory di installazione ho utilizzato /root/

Scaricare e installare HLDSUpdatetool

Nella cartella /root/

mkdir srcds_l/

cd srcds_l/

wget http://www.steampowered.com/download/hldsupdatetool.bin

chmod +x hldsupdatetool.bin

./hldsupdatetool.bin

Rispondete “yes” alla domanda che vi viene fatta.

NB: Se vi compare un errore del tipo: “sh: uncompress: command not found” quando cercate di eseguire ‘hldsupdatetool.bin’, digitate:

which gunzip

e create un link alla path risultante (se fosse “/usr/bin/gunzip”):

ln -s /usr/bin/gunzip /usr/bin/uncompress

Proseguire aggiornando l’applicazione e scaricando i files di gioco:

./steam

./steam -command update -game “Counter-Strike Source” -dir .

E adesso, tanta pazienza e aspettate il termine del download.

Aggiungere mappe

Il miglior sito da cui scaricare le mappe è:

http://www.fpsbanana.com/maps/

Ma ce ne sono molti altri. Una volta individuata una mappa, scaricatela, ed estraete tutto il suo contenuto nella cartella:

/root/srcds_l/cstrike/maps/

E aggiungere nel files “mapcycle.txt” il nome della mappa.

Configurare il server:

Il files di configurazione sono contenuti nella directory:

/root/srcds_l/cstrike/cfg/

Per modificare i files potete usare un qualsiasi editor di testo, e per agevolarvi la configurazione visitate questi siti che offrono un’interfaccia grafica e restituiscono come output le stringhe! Copia-Incolla ed è fatta!

Le varie funzioni dei files di configurazione:

../cstrike/cfg/autoexec.cfg viene utilizzato solo per i comandi, si esegue una sola volta durante l’inizializzazione di un server.

../cstrike/cfg/server.cfg, invece, viene eseguito ogni volta che cambia la mappa. Tutte le variabili (chiamate cvar) le trovate a questi indirizzi: http://www.cstrike-planet.com/cvarlist

../cstrike/motd.txt è il file che contiene il testo che la gente leggerà quando la mappa cambia o quando un client si collega, potete scriverci quello che volete, è un pò il biglietto di presentazione, potete anche inserire immagini.

../cstrike/mapcycle.txt. Contiene il nome di tutte le mappe che desiderate ruotare sul vostro server. Utilizzate il nome della mappa senza senza l’estensione “. bsp”. Quindi, per la mappa “de_chateau.bsp” nel mapcycle.txt, è sufficiente aggiungere “de_chateau” nel file. Ogni nome della mappa deve essere scritto solo su di una riga di testo.

Queste sono i quattro file di configurazione di default che utilizza un server, è possibile creare altre configurazioni in maniera del tutto personalizzata.

Installare il “Mani-Admin-Plugin”

Il Mani-Admin-Pluigin è il miglior plugin disponibile per amministrare facilmente il server e aggiungere altre funzionalità altrimenti impossibili! Individuate l’ultima versione dal sito ufficiale e scaricatela nella directory /root/:

http://mani-admin-plugin.com/

E poi:

mkdir /root/srcds_l/cstrike/addons

cd /root/

wget http://mani-admin-plugin.com/mani_admin_plugin/v1_2_beta_s/mani_admin_plugin_v1_2_beta_s.zip

unzip mani_admin_plugin_v1_2_beta_s.zip

cp -rf addons/* srcds_l/cstrike/addons/

cp -rf cfg/* srcds_l/cstrike/cfg/

cp -rf materials/* srcds_l/cstrike/materials/

cp -rf sound/* srcds_l/cstrike/sound/

rm -rf addons/ cfg/ mani_admin_plugin_v1_2_beta_s.zip materials/ sound/

Poi create un files “mani_admin_plugin.vdf”

nella directory /root/srcds_l/cstrike/addons/

con il seguente contenuto:

“Plugin”

{

“file” “../cstrike/addons/mani_admin_plugin”

}

Specificate gli utenti amministratori, i gruppi, ecc.

cstrike/cfg/mani_admin_plugin/clients.txt

leggete qui per la spigazione:

http://www.mani-admin-plugin.com/index.php?option=com_content&task=view&id=24&Itemid=25

e andate qui per generarvi facilmente il file:

http://www.wildfireclan.co.uk/?act=maniclients

E infine aggiungete questa stringa nel vostro server.cfg

exec mani_server.cfg

Potete trovare qui tutte le informazioni su questo plugin:

http://www.sourceserver.info/downloads/-mani_admin_plugin_downloads/dokumentation/index.html

Configurare il router:

Bisogna forwardare le porte dal router al server così:

TCP 7002 out

TCP 5273 out

UDP 27010 out

UDP 27012 in and out

UDP 27015 in (if your server runs on this port)

Avviare il server

Il server si può avviare con diversi parametri di avvio. Il comando base è:

./srcds_run -game cstrike

Ma è consigliabile rifinirlo con:

./srcds_run -console -game cstrike +map cs_italy +ip 192.168.1.100 +maxplayers 16 -autoupdate

“+map” è la prima mappa con la quale si inizia a giocare

“+ip” è l’ip pubblico del vostro server

“+maxplayers” è il numero massimo di giocatori che ospiterà il server

Io, per comodità, ho poi creato uno script, e vi consiglio di leggere bene l’output per capire se si è avviato correttamente, per esempio io mi ero accorto che non si avviava il mani admin.

Sicurezza

Questo tipo di configurazione ha delle falle di sicurezza enormi, una volta online il vostro server sarà accessibile a tutti: proteggetevi configurando appositamente il firewall della vostra distribuzione, ancora meglio se utilizzate un firewall hardware o quello integrato del router (e che sia un router buono!). Io con iptables ho chiuso tutte le porte, sia in ingresso che in uscita e ho lasciato libere solo quelle specificate nella configurazione del router, rifiuto tutte le richieste ICMP e visto che uso ssh ho cambiato la relativa porta in ascolto, disabilitato l’accesso come root e l’unico utente che ha accesso (tra l’altro con username e password alfanumerica) ha dei privilegi ridicoli. Non sono un esperto di sicurezza informatica, ma già con questa configurazione e una password di root da 12 caratteri alfanumerici, toglie il lamerone di torno!

 

4 thoughts on “Linux- Configurare un server Counter Strike: Source

  1. Bluster

    Ciao, guida molto bella e interessante, volevo chiedere:
    cosa intendi non ci sono paragoni con un server window? é meglio window o linux in questo caso?
    inoltre il server di css su linux va tutto da console?
    puoi spiegarmi come aprire le prote necessarie e chiudere tutte le altre?

    grazie, ciao!

  2. ASSOLUTAMENTE LINUX!!!!! Modifico la guida per evitare dubbi… ti basti sapere che su di una macchina virtuale, con 512MB di ram giochiamo benissimo 3vs3…
    Cmq si, anche se il mani admin plugin ti permette di amministrare facilmente mentre giochi.

    Per le porte usa iptables, informati su come funzionano e mandami una mail con il tuo indirizzo k ti mando il mio file
    ciao!

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s