Installation de GNU /Linux Que ce soit pour la Mandrake ou la Debian, je ne vais malheureusement pas pouvoir détailler l’ensemble de l’installation. Globalement les étapes sont toujours les mêmes : Partitionnement du disque dur
Choix des paquetages, décompression et installation de ceux-ci
Configuration finale : choix du mot de passe administrateur et création de comptes annexes
Attention tout de même , il faut près de 1.5 Go au serveur dédié pour fonctionner, d’autre part, il se décompresse par défaut dans la partition qui accueille le point de montage /usr, veuillez donc laisser au moins 2 Go pour avoir une marge de manoeuvre en cas d’erreur ... Pour l’installation d’une Debian, je vous conseille l’excellent didacticiel d’Alexis Delattre : http://www.via.ecp.fr/~alexis/formation-linux Installation du serveur Dédié HLDS La première étape consiste à le télécharger : wget ftp://ftp.freenet.de/pub/4players/halflife/server/linux/hlds_l_1120_full.bin
Passez ensuite root : su Password: votrepass Il faut ensuite le rendre éxecutable pour pouvoir le décompresser et aussi créer un répertoire d’installation par défaut sans quoi vous vous verrez recevoir une erreur à l’installation: mkdir /usr/steam
création du répertoire
chmod +x hlds_l_1120_full.bin
passer le en executable (flag x) ./hlds_l_1120_full.bin
tapez yes Vous devez attendre que l’archive se décompresse dans le répertoire : /usr/steam extracting /usr/steam/hlds_l_1120_full.tgz...done Ensuite décompressez l’archive: cd /usr/steam tar zxvf hlds_l_1120_full.tgz Une fois que c’est terminé, déplacez votre dossier vers une partition qui possède plus d’espace libre, si vraiment vous avez peur que ça pose un problème plus tard, à priori, sauf si vous rajoutez des cartes sur votre serveur, il y a peu de chance qu’il "gonfle". Ex : mv /usr/steam/hlds_l /home/ C’est un exemple comme un autre. Configuration firewall et routeur Si vous souhaitez forwarder votre serveur counter-strike. Soit vous avez un routeur hardware (configuration par interface web), dans ce cas, notez bien les ports suivants à faire suivre: En entrée et sortie UDP/1200 UDP/27000 à 27015 (si le serveur tourne sur ce port) TCP/27030 à 27039 Faites bien attention, car ces ports ont été changés depuis Steam La plupart des routeurs, ont par défaut tous les ports en sortie d’ouverts Si vous utilisez un routeur qui est une machine Linux (la syntaxe BSD ne doit pas être très différente, modifiez vos règles iptables de la manière suivante : Attention, bien veiller à ce que les ports suivants soient ouverts en entrée/sortie $EXTINF = Votre interface externe (Internet) $INTINF = Votre interface au réseau local (LAN, WLAN)
iptables -A INPUT -i $EXTINF-p udp --dport 1200 -j ACCEPT
iptables -A OUTPUT -o $EXTINF -p udp --sport 1200 -j ACCEPT
iptables -A INPUT -i $EXTINF -p udp --dport 27000:27015 -j ACCEPT
iptables -A OUTPUT -o $EXTINF -p udp 27000:27015 -j ACCEPT Si le serveur tourne sur le 27015 iptables -A OUTPUT -p tcp --sport 27030:27039 -j ACCEPT
iptables -A INPUT -p tcp --dport 27030:27039 -j ACCEPT si vous souhaitez ne pas faire de filtrage en sortie, tapez : iptables -A OUTPUT -o $EXTINF -p tcp -j ACCEPT
iptables -A OUTPUT -o $EXTINF -p udp -j ACCEPT Ces règles sont valables pour un serveur qui est lui même passerelle vers internet. Pour un routeur, il faut rajouter les lignes de port forwarding (Destination Network Address Translation)suivantes: IP_SERVEUR = "Adresse IP du serveur" iptables -t nat -A PREROUTING -p udp --dport 1200
-j DNAT --to-destination $IP_SERVEUR:1200 iptables -t nat -A PREROUTING -p udp --dport 27000:27039 -j DNAT --to-destination $IP_SERVEUR:27000:27039 iptables -t nat -A PREROUTING -p tcp --dport 27000:27039 -j DNAT --to-destination $IP_SERVEUR:27000:27039 L’avantage énorme de forwarder un serveur, c’est qu’on est pas obligé d’utiliser les ports ouverts sur le routeur et de le faire correspondre avec les ports ouverts sur le serveur de jeux. Par exemple, si le routeur n’autorise que le port 80 d’ouvert, il est tout à fait possible d’héberger un serveur de jeux tournant (du côté internet) sur le port 80. (En fait il va manquer des ports pour l’interrogation via les serveurs d’authentification, mais il est possible qu’il soit joignable. Haute disponibilité On peut aussi, en changeant le paramètre IP_SERVEUR basculer facilement d’un serveur à un autre en cas de panne, de réparation ... On peut même le faire d’une manière dynamique : si le serveur ne répond plus au ping, alors le paramètre IP_SERVER change pour une IP où un serveur de secours fonctionne. Les règles iptables sont ensuite redémarrées instantanément. Ca s’appelle du Fail Over Services, mais c’est un peu plus compliqué. Voici une idée pour le faire : #! /bin/sh if test $(telnet $IP_SERVEUR 27015 < /dev/zero 2> /dev/null | grep -c Connected) -eq 0; then iptables -t nat -A PREROUTING -p udp --dport 1200
-j DNAT --to-destination $IP_SERVEUR2:1200
iptables -t nat -A PREROUTING -p udp --dport 27000:27039 -j DNAT --to-destination $IP_SERVEUR2:27000:27039
iptables -t nat -A PREROUTING -p tcp --dport 27000:27039 -j DNAT --to-destination $IP_SERVEUR2:27000:27039 fi Nous allons effectuer à présent les manipulations suivantes : Création d’un compte FTP & Shell qui peut lancer et vous permettre d’uploader vos fichiers de configuration et vos maps Installation du serveur Samba pour pouvoir modifier depuis le voisinage réseau Windows les fichiers de configuration Création du compteadduser hlds Choisissez un mot de passe, répetez le. Ensuite il faut donner accès au répertoire HLDS Linux : chown -R hlds /usr/steam/hlds_l chmod -R 755 /usr/steam/hlds_l ln -s /usr/steam/hlds_l /home/hlds/hlds_l chown -R hlds /home/hlds/hlds_l chmod -R 755 /home/hlds/hlds_l Note: les répertoires ont été passés en lecture/écriture/execution pour l’utilisateur hlds et en lecture/écriture pour les autres. Cela afin qu’ils soient accessibles depuis Samba Si vous avez un serveur FTP (ProFTPd d’installé, vous pourrez vous en servir pour uploader vos fichiers de configuration en vous loggant en tant que : ftp://hlds:votrepass@ipserveur/hlds_l Maintenant nous allons configuré le dossier sous Samba, pour qu’il soit accessible depuis le voisinage réseau Editez le fichier de configuration vim /etc/samba/smb.conf Et insérez-y ces lignes de configuration : [hlds]
comment = Serveur dédié HLDS Linux
path = /usr/steam/hlds_l
guest ok = yes
browseable = yes
writeable = yes Sauvegardez et quittez, puis relancez le démon Samba /etc/init.d/samba restart Mise à jour du serveur Dédié Les serveurs de Valve, grâce à la toute nouvelle et performante plate-forme Steam (oui oui je tartine pas mal) vous permettent de faire des mises à jour. La première est manuelle, les autres seront automatiques :) /usr/steam/hlds_l/steam -update utilisateur@adresse ****** Y La syntaxe de mise à jouer à été modifiée dans les versions suivantes de steam, voir la crontab 1ere mise à jour Checking bootstrapper version ...
Getting version 4 of Steam HLDS Update Tool
Downloading. . . . . . . . . . .
Steam Linux Client updated, please retry the command 2ème mise à jour Checking bootstrapper version ...
Updating Installation
Logging in as 'nkvd@nkvd.net'
Updating 'Linux Server Engine' from version 0 to version 7
Downloading: /usr/steam/hlds_lcore_i386.so
Downloading: /usr/steam/hlds_lengine_amd.so
Downloading: /usr/steam/hlds_lengine_amd64.so
Downloading: /usr/steam/hlds_lengine_i486.so
Downloading: /usr/steam/hlds_lengine_i686.so
Downloading: /usr/steam/hlds_lfilesystem_stdio_amd64.so
Downloading: /usr/steam/hlds_lfilesystem_stdio_i386.so
Downloading: /usr/steam/hlds_lhlds_amd
Downloading: /usr/steam/hlds_lhlds_amd64
Downloading: /usr/steam/hlds_lhlds_i486
Downloading: /usr/steam/hlds_lhlds_i686
Downloading: /usr/steam/hlds_lhltv
Downloading: /usr/steam/hlds_llibSteamValidateUserIDTickets_amd64.so
Downloading: /usr/steam/hlds_llibSteamValidateUserIDTickets_i386.so
Downloading: /usr/steam/hlds_lproxy_i386.so
Updating 'HL base content' from version 0 to version 4
Downloading: /usr/steam/hlds_lvalvedllshl.dll
Downloading: /usr/steam/hlds_lvalvedllshl_amd64.so Downloading: /usr/steam/hlds_lvalvedllshl_i386.so
Downloading: /usr/steam/hlds_lvalveliblist.gam
Updating 'cstrike content' from version 0 to version 7
Downloading: /usr/steam/hlds_lcstrikecl_dllsclient.dll
Downloading: /usr/steam/hlds_lcstrikedllscs_amd64.so
Downloading: /usr/steam/hlds_lcstrikedllscs_i386.so
Downloading: /usr/steam/hlds_lcstrikedllsmp.dll
Downloading: /usr/steam/hlds_lcstrikesoundeventsenemy_died.wav
Downloading: /usr/steam/hlds_lcstrikesoundeventsfriend_died.wav
Downloading: /usr/steam/hlds_lcstrikesoundeventstask_complete.wav
Downloading: /usr/steam/hlds_lcstrikesoundeventstutor_msg.wav
Downloading: /usr/steam/hlds_lcstrikesprites640hud7.spr
Downloading: /usr/steam/hlds_lcstrikespritesshadow_circle.spr
Downloading: /usr/steam/hlds_lcstrikeautobuy.txt
Downloading: /usr/steam/hlds_lcstrikerebuy.txt
Downloading: /usr/steam/hlds_lcstrikespectcammenu.txt
Downloading: /usr/steam/hlds_lcstrikesteam.inf
Downloading: /usr/steam/hlds_lcstriketitles.txt
HLDS installation up to date Ensuite nous ferons les mises à jour tous les 2 jours par exemple : crontab -e * * */2 * * /usr/steam/hlds_l/steam -command update -game cstrike -dir /usr/steam/hlds_l -username utilisateur@adresse -password ****** remember_password
Premier lancement "test" du serveur Tapez la commande suivante : /usr/steam/hlds_l/hlds_run -game cstrike +maxplayers 12 +map de_aztec Auto detecting CPU
Using Pentium II Optimised binary.
Auto-restarting the server on crash
Console initialized. scandir failed:/usr/steam/hlds_l/./valve/SAVE
scandir failed:/usr/steam/hlds_l/./platform/SAVE
Protocol version 47
Exe version 1.1.2.4/Stdio (cstrike)
Exe build: 14:14:09 Feb 4 2004 (2659)
STEAM Auth Server
couldn't exec language.cfg
Server IP address 10.44.1.34:27015
Downloading Security Module from Speakeasy.net ...
Completed downloading Security Module from Speakeasy.net
Server is in Secure Mode.
scandir failed:/usr/steam/hlds_l/./valve/SAVE
scandir failed:/usr/steam/hlds_l/./platform/SAVE
Server logging data to file logs/L0225000.log
L 02/25/2004 - 14:32:54: Log file started
(file "logs/L0225000.log") (game "cstrike")
(version "47/1.1.2.4/Stdio/2659")
couldn't exec listip.cfg
couldn't exec banned.cfg
Adding auth server 65.73.232.251:27040
Adding auth server 65.73.232.253:27040
Adding master server 207.173.177.11:27010
Adding master server 207.173.177.12:27010
L 02/25/2004 - 14:32:55: Server cvar "sv_region" = "255"
L 02/25/2004 - 14:33:03: World triggered "Round_Start"
Il est important de voir si la version est bien > à la 1.1.20 qui a été téléchargée.
Configuration du serveur
Ici nous commençons vraiment à nous occuper de la partie serveur de jeux. Edition des paramètres du serveur Le premier fichier à éditer est : server.cfg Modifiez les paramètres comme suit : // Use this file to configure your DEDICATED server.
// This config file is executed on server start.
// disable autoaim
sv_aim 0
// disable clients' ability to pause the server
pausable 0
// default server name. Change to "Bob's Server", etc.
hostname ".: Team #KV CS 1.6 - http://nkvd.net"
// maximum client movement speed
sv_maxspeed 320
// 20 minute timelimit
mp_timelimit 20
sv_cheats 0
mp_logmessages 1
log on
// load ban files
exec listip.cfg
exec banned.cfg Modifiez également le fichier motd.txt Comme nous sommes sous la CS 1.6 le MOTD (Message Of The Day) peut être écrit en mettant du HTML et du CSS Par exemple ici je redirige le MOTD vers la page d’accueil du site de notre team (waoou !!)
Edition du fichier liblist.gam Ce fichier est relativement important puisqu’il renseigne le serveur dédié sur la manière d’utiliser les modules (Dynamic Loadble Librairy ou Shared Objects) vim /usr/steam/hlds_l/cstrike/liblist.gam Repérez la ligne qui contient: gamedll_linux "dlls/cs_i386.so" et remplacez la par: gamedll_linux "addons/metamod/dlls/metamod_i386.so" Création du répertoire addons cd /usr/steam/hlds_l/cstrike
mkdir addons
mkdir addons/metamod
mkdir addons/metamod/dlls Téléchargez la dernière version de Metamod (1.17) pour Linux : cd addons/metamod/dlls wget http://metamod.org/dl/dlls/metamod_i386.so.gz gunzip metamod_i386.so.gz cd .. vim plugins.ini Appuyez sur la toucher insertion, puis tapez cette ligne linux addons/amx/dlls/amxx_mm_i386.so linux addons/hlguard/dlls/hlguard_mm_i586.so Metamod est un meta mod. Plus généralement, du fait qu’il soit "méta", il vient au dessus des autres, c’est à dire qu’il fournit un langage pour écrire les autres modules : amx, statsme, hlguard. Téléchargez la dernière version d’AMX Mod X cd /usr/steam/hlds_l/cstrike tar zxvf amxmodx-version-steam.tar.gz L’arborescence d’AMX Mod X à quelque peu changé, mais globalement on s’y retrouve toujours: configs
custom
dlls
documentation
logs
modules
modules.ini
plugins
plugins.ini
scripting Détail de la configuration Fichier configs/amxx.cfg Ce fichier contient les paramètres globaux de configuration. Il n’y a que très peu de choses à modifier . Ci -dessous les lignes à modifier: amx_default_access "z"
// Center typed colored messages (last parameter is a color in RRRGGGBBB format)
amx_imessage "Bienvenue sur %hostname%" "000255100"
amx_imessage "Serveur de la team #KVnhttp://nkvd.net" "000100255" L’accès "z" signifie que les joueurs sont des utilisateurs normaux, c’est ce qu’il nous faut.
Date de création : 26/11/2006 @ 13:30
Dernière modification : 29/01/2007 @ 13:39
Catégorie : A11- Créer son serveur
Page lue 2223 fois
Prévisualiser la page
Imprimer la page
|