|
|
Line 1: |
Line 1: |
− | {{DISPLAYTITLE:Serveur Dédié Linux}}
| + | == Introduction == |
− | {{ambox | type = content | image = Ambox_content.png | contents = '''Attention!''' Ce guide n'est plus à jour.}}
| |
| | | |
− | Linux est l'une des deux plates-formes actuellement prises en charge par l'outil de Valve serveur dédié (HLDS), l'autre étant [[Windows Dedicated Server|Microsoft Windows]]. L'installation de base et la configuration d'un '''serveur dédié Linux''' est la même pour toutes les distributions, mais de petits détails, tels que les noms de paquets, répertoires, etc peuvent différer d'une distribution à l'autre. Il est recommandé que vous vérifiez les dépôts de votre distribution pour les paquets nécessaires avant de continuer.
| + | Cet article va traiter autant d'aspects que possible sur l'hébergement serveur Team Fortress 2 sur un Linux.<br /> |
− | | + | <br /> |
− | == Comment lire cet article == | + | Cet article a été écrit pour Debian (Jessie).<br /> |
− | Cet article a été écrit selon la syntaxe de documentation Linux standard, ce qui signifie que:
| + | <br /> |
− | | + | Valve semble avoir utilisé Ubuntu 12.04 32bits comme leur environnement de développement principal. Cela signifie que si vous utilisez Ubuntu Server 12.04 32bits, vous aurez moins de mauvaises surprises. Vous pouvez bien sûr utiliser une version plus récente d'Ubuntu et qui devrait également être compatible.<br /> |
− | * Une commande préfixée par <code>#</code> est destinée à être exécuté comme '''root'''. La plupart des distributions ont un compte root séparée; pour d'autres distributions comme Ubuntu, Linux Mint, CrunchBang, etc le préfixe '''sudo''' assure que la commande est exécutée en tant que root.
| + | <br /> |
− | * Une commande préfixée par <code>$</code> est destinée à être exécuté comme '''utilisateur'''. | + | Ce guide est écrit avec une distribution basée sur Debian Jessie.<br /> |
− | * <code>./</code> signifie "répertoire courant". | + | <br /> |
− | | + | == Pré-requis == |
− | == Configuration requise == | + | <br /> |
− | Un certain nombre d'exigences existent afin d'exécuter un serveur ''Team Fortress 2'' sur la plate-forme Linux:
| + | Assurez-vous que vous remplissez les conditions suivantes avant de commencer:<br /> |
− | | + | <br /> |
− | * Accès en écriture au répertoire de travail courant
| + | * Un utilisateur qui permet d'exécuter le serveur en tant que («valve» est recommandé, avec le répertoire /home/valve)<br /> |
− | * <code>Glibc >= 2.3.6</ code>
| + | * Suffisamment d'espace disque pour le contenu que vous souhaitez installer<br /> |
− | * Environ 9 Go d'espace disque disponible (pour un serveur barebones sans cartes personnalisées, des sons, etc)
| + | * Un terminal de ligne de commande ouvert en lançant l'utilisateur "valve" (su valve) ou une session SSH avec l'utilisateur "valve" connecté.<br /> |
− | * Dans le cas d'une distribution '''64-bit''' les packages '''lib32gcc1''' ou '''ia32-libs''' doivent être installés:
| + | * Une expérience avec l'utilisation de base en ligne de commande sur Linux.<br /> |
− | Sur CentOS 64-bits exécuter:
| + | <br /> |
− | | + | == Installationde SteamCMD == |
− | <code> # yum install libgcc.i686 glibc.i686 </code> | + | <br /> |
− | | + | Le script suivant va télécharger SteamCMD, extraire et mettre à jour. SteamCMD est nécessaire pour télécharger et mettre à jour Team Fortress 2.<br /> |
− | Sur Debian/Ubuntu/Linux Mint 64-bit exécuter:
| + | <br /> |
− | | + | cd ~ |
− | <code> $ sudo apt-get install libc6-i386 lib32gcc1 </code> | + | mkdir bin |
− | | + | cd bin |
− | Sur les anciennes versions de Debian/Ubuntu/Linux Mint 64-bit exécuter:
| + | wget http://media.steampowered.com/client/steamcmd_linux.tar.gz |
− | | + | tar -xvzf steamcmd_linux.tar.gz |
− | <code> $ sudo apt-get install ia32-libs lib32gcc1 </code> | + | ./steamcmd.sh + connexion anonyme + quitter |
− | | + | <br /> |
− | Sur ArchLinux 64-bit exécuter:
| + | == Installation de Team Fortress 2 == |
− | | + | <br /> |
− | <code> $ sudo pacman-Sy lib32gcc1 ia32-libs</code> | + | Le script suivant va télécharger la dernière version de Teamm Fortress 2 pour vous avec une seule commande.<br /> |
− | | + | <br /> |
− | * Si vous effectuez l'installation sur CentOS, vous devrez utiliser cette commande avant <code>yum install ncompress</code>
| + | Nous utilisons l'éditeur de texte "nano" pour cela, mais vous pouvez utiliser votre propre si vous préférez un autre éditeur.<br /> |
− | * Si vous effectuez l'installation sur FreeBSD (ce qui n'est pas du tout Linux), vous devez activer la compatibilité avec Linux dans le noyau et installer un système de base via la collection des ports. Instructions pour vous aider à démarrer sont situés [http://www.ian-justman.com/wiki/index.php?title=HowTos:SRCDS_under_FreeBSD|ici].
| + | <br /> |
− | | + | Tout d'abord, nous allons aller dans répertoire personnel de l'utilisateur.<br /> |
− | == Installation ==
| + | <br /> |
− | Il y a un certain nombre de façons différentes de faire fonctionner un serveur dédié. Dans cet article, nous supposons qu'un utilisateur spécifique (''tf2server'') a été créé dans le seul but de gérer un serveur de Team Fortress 2. Pour créer un utilisateur, exécutez la commande suivante en tant que root:
| + | cd ~ |
− | | + | <br /> |
− | # adduser tf2server | + | Pour créer le script, utilisez votre outil éditeur de texte préféré. Dans cet exemple, nous utilisons «nano», mais tout autre comme "vi", "vim", "pico" ou "emacs" fonctionnera également.<br /> |
− | | + | <br /> |
− | Vous serez invité à entrer un nom, un mot de passe, ainsi que d'autres informations; remplir ce formulaire comme il vous plaît. Puis changez d'utilisateur, en utilisant la commande '''su''':
| + | nano update_gmod.sh |
− | | + | <br /> |
− | $ su -l tf2server | + | Collez le script suivant dans nano :<br /> |
− | | + | <br /> |
− | Prochaine étape, créer un répertoire et y entrer. Vous pouvez l'appeler comme vous voulez, j'ai choisi "hlds" (pour Half-Life Dedicated Server):
| + | update_server() { |
− | | + | |
− | $ mkdir hlds && cd hlds | + | APP_ID=$1 |
− | | + | DIR=$2 |
− | La prochaine chose que nous devons faire est de télécharger l'outil de mise à jour serveur dédié (hldsupdatetool.bin), et changer ses permissions pour qu'il soit exécutable, ce qui nous permet de télécharger le binaire Steam nécessaire pour télécharger notre server. Enfin, nous lançons le binaire.
| + | |
− | | + | if ( [ ! -d "$HOME/$DIR" ]; ) then |
− | $ wget http://storefront.steampowered.com/download/hldsupdatetool.bin && chmod +x hldsupdatetool.bin
| + | mkdir -p "$HOME/$DIR" |
− | $ ./hldsupdatetool.bin
| + | fi |
− | | + | |
− | Quand nous lançons le binaire, nous sommes invité à accepter les conditions de Valve et conditions d'utilisation de l'outil de mise à jour; après avoir lu et accepté les termes inclus, tapez "yes", et appuyez sur Entrée. La prochaine chose à faire est d'extraire le binaire ''Steam''. Exécutez-le pour télécharger la dernière version de l'outil de mise à jour HLDS:
| + | if ( [ ! -d "$HOME/$DIR" ]; ) then |
− | | + | echo "ERREUR! Impossible de créer le répertoire $HOME/$DIR!" |
− | $ ./steam
| + | |
− | Checking bootstrapper version ...
| + | exit 1 |
− | Getting version 50 of Steam HLDS Update Tool
| + | fi |
− | Downloading. . . . . . . . . . . .
| + | |
− | Steam Linux Client updated, please retry the command
| + | ./bin/steamcmd.sh +login anonymous +force_install_dir "$HOME/$DIR" +app_update $APP_ID validate +quit |
− | | + | } |
− | Faites ce qui est demandé, répétez la même commande. Tout ce que nous devons faire maintenant est de télécharger les fichiers serveur TF2, et le lancer.
| + | |
− | | + | |
− | Créez un autre répertoire, qui abritera les fichiers réels du serveur (dans /hlds/). Nous appellerons ce dossier ''serveur''.
| + | update_server 232250 "server_1" |
− | | + | |
− | $ mkdir serveur
| + | |
− | | + | exit 0 |
− | Ensuite, on va demander à Steam de télécharger les fichiers de jeu Team Fortress 2 dans ce dossier, en utilisant cette commande.
| + | <br /> |
− | | + | Maintenant, nous enregistrer le fichier. Dans nano, enregistrer un fichier se fait en appuyant sur <code>Ctrl + O</code>, suivi par <code>Entrée</code>. Maintenant, nous fermons le dossier en appuyant sur <code>Ctrl + X</code>.<br /> |
− | $ ./steam -command update -game tf -dir serveur
| + | <br /> |
− | | + | Avant que nous puissions exécuter ce fichier, nous avons besoin de lui donner les droitspour que l'utilisateur puisse l'executer. Cela se fait avec la commande suivante:<br /> |
− | Celle-ci exécute la commande de ''mise à jour'' (update) du jeu ''tf'' (Team Fortress 2) dans le dossier ''serveur''. Cette opération pourrait prendre beaucoup de temps.
| + | <br /> |
− | | + | chmod + x ./update_gmod.sh |
− | == Exécuter le serveur ==
| + | <br /> |
− | On a presque fini. Le serveur est installé. La seule chose à faire est de le lancer, avec un certain nombre d'arguments. Entrez dans le dossier <code>server/orangebox</code>. Dans ce dossier, créez un fichier appelé <code>steam_appid.txt</code> et ajoutez-y seulement ce numéro.
| + | Maintenant, on met à jour le serveur.<br /> |
− | | + | <br /> |
− | echo "440" > server/orangebox/steam_appid.txt
| + | ./update_gmod.sh |
− | | + | <br /> |
− | Ensuite, dans ce même dossier, il devrait y avoir un script appelé <code>srcds_run</code>, qui lance le serveur. Une utilisation basique de ce script '''pourrait''' être:
| + | Le serveur va maintenant télécharger le contenu nécessaire. Steam va vous montrer le pourcentage de progrès qu'il réalise avec le téléchargement.<br /> |
− | | + | <br /> |
− | $ ./srcds_run -game tf -autoupdate -steambin /home/tf2server/hlds/steam -maxplayers 24 +map cp_badlands | + | == Démarrage du serveur == |
− | | + | La commande ci-dessous démarre le serveur avec 24 slots sur ctf_2fort.<br /> |
− | Ceci lance un serveur ''Team Fortress 2'' avec un maximum de 24 joueurs sur [[Badlands (Control Point)|Badlands]] qui va télécharger des mises à jour automatiques.
| + | <br /> |
− | | + | <code>~ /server_1/srcds_run -game garrysmod + maxplayers 24 + carte ctf_2fort</code> |
− | === screen ===
| + | <br /> |
− | | + | == Mise à jour du serveur == |
− | Plusieurs opérateurs de serveur choisissent d'exécuter leur serveur sous [http://www.gnu.org/software/screen/ <code>screen</code>], puisqu'il vous laisse basculer entre la console et le shell, en plus de terminer votre session SSH sans arrêter le serveur. Il peut être installé via votre gestionnaire de paquets. Le serveur peut ensuite être lancé avec:
| + | <br /> |
− | | + | Pour mettre à jour le serveur, ou de mettre à jour le contenu du serveur, nous démarerons simplement notre script de mise a jour. Vous devez vous assurer que vos serveurs sont éteints, sinon ls mise à jour échouera.<br /> |
− | $ screen -m -S {{botignore|tf2}} ./srcds_run ''paramètres''
| + | <br /> |
− | | + | Mettre à jour le serveur :<br /> |
− | où ''paramètres'' sont vos paramètres <code>srcds_run</code> normaux. Vous pouvez utiliser {{key|Ctrl}}+{{key|A}}+{{key|D}} pour minimiser la console, et <code>screen -r tf2</code> pour la ramener. {{key|Ctrl}}+{{key|D}} vont terminer la session (soyez certain d'utiliser la command killserver en premier) et {{key|Ctrl}}+{{key|A}}+{{key|[}} vous laissent défiler à travers. Voir le [http://www.gnu.org/software/screen/manual/screen.html manuel screen] pour plus de commandes et de paramètres.
| + | <br /> |
− | | + | ./update_gmod.sh |
− | === Lancement automatique lorsque le serveur est redémarré ===
| + | <br /> |
− | En cas de panne de courant innatendue, il pourrait être utile que le serveur reccomence automatiquement. Le script init Debian LSB ci-dessous peut être utilisé pour reccomencer automatiquement le serveur. Notez que <code>screen</code> est utilisé. Ce script devrait être appelé serveur-TF2 et doit être mis dans le dossier <code>/etc/init.d</code>. Après avoir fait cela, lancez la commande:
| + | == Autre == |
− | | + | <br /> |
− | $ update-rc.d serveur-TF2 defaults
| + | '''Binaires 32 bit'''s<br /> |
− | | + | <br /> |
− | Ceci devrait assurer un lancement approprié du serveur après chaque redémmarage.
| + | Si vous utilisez une version 64 bits de Linux, vous avez besoin de 32 bits binaires, car SteamCMD est uniquement disponible en 32 bits.<br /> |
− | | + | <br /> |
− | NOTE: Ce code n'a pas été traduit parce que je n'y comprenais rien. Si quelqu'un d'autre veut le faire, il est le bienvenu :) [[User:Nicoco007|Nicoco007]] 17:25, 23 January 2013 (PST)
| + | Si vous obtenez le message d'erreur suivant :<br /> |
− | | + | <br /> |
− | <pre>
| + | <code>./steamcmd.sh: ligne 29:home/$ USER/vapeur/linux32/steamcmd: Aucun fichier ou répertoire</code> |
− | #!/bin/sh
| + | <br /> |
− | | + | Alors vous utilisez probablement un système 64 bits et donc les binaires 32 bits sont manquent.<br /> |
− | ### BEGIN INIT INFO
| + | <br /> |
− | # Provides: tf2server
| + | Pour ce faire, vous devez installer ia32-libs. Pour ce faire, exécutez le code suivant:<br /> |
− | # Required-Start: $remote_fs
| + | <br /> |
− | # Required-Stop: $remote_fs
| + | dpkg --add-architecture i386 |
− | # Default-Start: 2 3 4 5
| + | apt-get update |
− | # Default-Stop: 0 1 6
| + | apt-get install ia32-libs |
− | # Short-Description: Team Fortress 2 server
| |
− | # Description: Starts a Team Fortress 2 server
| |
− | ### END INIT INFO
| |
− | | |
− | NAME="Team Fortress 2"
| |
− | USER="tf2server"
| |
− | SCREENREF="tf2"
| |
− | BINARYPATH="/home/tf2server/hlds/gameserver/orangebox"
| |
− | BINARYNAME="srcds_run"
| |
− | PIDFILE="tf2server.pid"
| |
− | | |
− | OPTS="-game tf -autoupdate -steambin /home/tf2server/hlds/steam +maxplayers 32 +ip 0.0.0.0 +map mvm_decoy"
| |
− | | |
− | cd "$BINARYPATH"
| |
− | | |
− | running() {
| |
− | if [ -n "`pgrep -f $BINARYNAME`" ]; then
| |
− | return 0
| |
− | else
| |
− | return 1
| |
− | fi
| |
− | }
| |
− | | |
− | start() {
| |
− | if ! running; then
| |
− | echo -n "Starting the $NAME server... "
| |
− | start-stop-daemon --start --chuid $USER --user $USER --chdir $BINARYPATH --exec "/usr/bin/screen" -- -dmS $SCREENREF $BINARYPATH/$BINARYNAME $OPTS
| |
− | pgrep -f $BINARYNAME > $PIDFILE
| |
− | if [ -s $PIDFILE ]; then
| |
− | echo "Done"
| |
− | else
| |
− | echo "Failed"
| |
− | rm $PIDFILE
| |
− | fi
| |
− | else
| |
− | echo "The $NAME server is already started."
| |
− | fi
| |
− | }
| |
− | | |
− | stop() {
| |
− | if running; then
| |
− | echo -n "Stopping the $NAME server... "
| |
− | kill `cat $PIDFILE`
| |
− | while running; do
| |
− | sleep 1
| |
− | done
| |
− | rm $PIDFILE
| |
− | echo "Done"
| |
− | else
| |
− | echo "The $NAME server is already stopped."
| |
− | fi
| |
− | }
| |
− | | |
− | case "$1" in
| |
− | start)
| |
− | start
| |
− | ;;
| |
− | stop)
| |
− | stop
| |
− | ;;
| |
− | restart)
| |
− | stop
| |
− | start
| |
− | ;;
| |
− | status)
| |
− | if running; then
| |
− | echo "The $NAME server is started."
| |
− | else
| |
− | echo "The $NAME server is stopped."
| |
− | fi
| |
− | ;;
| |
− | *)
| |
− | echo "Usage: $0 (start|stop|restart|status)"
| |
− | exit 1
| |
− | esac
| |
− | exit 0
| |
− | </pre>
| |
− | | |
− | == iptables rules ==
| |
− | Je n'ai vraiment aucune idée de ce que c'est, mais si vous comprenez, alors tout va pour le mieux! [[User:Nicoco007|Nicoco007]] 17:24, 23 January 2013 (PST)
| |
− | <pre>
| |
− | -A INPUT -i venet0 -p tcp -m tcp --dport 27015 -m state --state NEW,ESTABLISHED -j ACCEPT
| |
− | -A INPUT -i venet0 -p tcp -m tcp --dport 27005 -m state --state NEW,ESTABLISHED -j ACCEPT
| |
− | -A INPUT -i venet0 -p udp -m udp --dport 27015 -m state --state NEW,ESTABLISHED -j ACCEPT
| |
− | -A INPUT -i venet0 -p udp -m udp --dport 27005 -m state --state NEW,ESTABLISHED -j ACCEPT
| |
− | -A INPUT -i venet0 -p tcp -m tcp --dport 27016 -m state --state NEW,ESTABLISHED -j ACCEPT
| |
− | -A INPUT -i venet0 -p tcp -m tcp --dport 27017 -m state --state NEW,ESTABLISHED -j ACCEPT
| |
− | -A INPUT -i venet0 -p tcp -m tcp --dport 27018 -m state --state NEW,ESTABLISHED -j ACCEPT
| |
− | -A INPUT -i venet0 -p tcp -m tcp --dport 27019 -m state --state NEW,ESTABLISHED -j ACCEPT
| |
− | -A INPUT -i venet0 -p tcp -m tcp --dport 27020 -m state --state NEW,ESTABLISHED -j ACCEPT
| |
− | -A INPUT -i venet0 -p udp -m udp --dport 27016 -m state --state NEW,ESTABLISHED -j ACCEPT
| |
− | -A INPUT -i venet0 -p udp -m udp --dport 27017 -m state --state NEW,ESTABLISHED -j ACCEPT
| |
− | -A INPUT -i venet0 -p udp -m udp --dport 27018 -m state --state NEW,ESTABLISHED -j ACCEPT
| |
− | -A INPUT -i venet0 -p udp -m udp --dport 27019 -m state --state NEW,ESTABLISHED -j ACCEPT
| |
− | -A INPUT -i venet0 -p udp -m udp --dport 27020 -m state --state NEW,ESTABLISHED -j ACCEPT
| |
− | </pre>
| |
− | | |
− | *Note: may be shortened if you have multiports extension.
| |
− | | |
− | == Résolution de problèmes ==
| |
− | ; Mon serveur n'apparait pas dans la section LAN de la liste de serveurs de mon jeu.
| |
− | ; Je ne peux pas accéder à mon loadout lorsque je joue sur ce serveur.
| |
− | : Are you still able to connect using <code>[https://developer.valvesoftware.com/wiki/List_of_TF2_console_commands_and_variables#C connect <ip-address>]</code> in the [https://developer.valvesoftware.com/wiki/Console Console de Développeur]?
| |
− | : Durant le démarrage, est-ce que votre serveur renvoie ce(s) message(s)?
| |
− | * Unable to load Steam support library.*
| |
− | * This server will operate in LAN mode only.*
| |
− | : When you connect with your client, does the server say the following?
| |
− | : Lorsque vous vous connectez avec votre client, est-ce que le serveur revoie:
| |
− | NULL ISteamGameServer in ConnectClient. Steam authentication may fail.
| |
− | …
| |
− | Cannot verify load for invalid steam ID […]
| |
− | :Si oui, alors ces deux problèmes ont la même résolution: Soyez certain que vous avez un fichier <code>steam_appid.txt</code> qui contient le numéro <code>440</code> dans votre dossier <code>orangebox</code>. Voir ''[[#Exécuter le serveur|Exécuter le serveur]]'' ci-dessus.
| |
− | | |
− | ; Mon serveur ne se met pas à jour automatiquement lorsqu'il démarre.
| |
− | : Pendant le démarrage, est-ce que votre serveur renvoie:
| |
− | WARNING: Failed to locate steam binary.
| |
− | WARNING: Could not locate steam binary:, ignoring.
| |
− | : Si oui, alors vous devez pointer <code>srcds_run</code> à l'emplacement de votre binaire Steam, en utilisant l'argument <code>-steambin</code>. Voir ''[[#Exécuter le serveur|Exécuter le serveur]]'' ci-dessus.
| |
− | | |
− | == Astuces ==
| |
− | # Le premier lancement de <tt>./steam</tt> pourrait se bloquer lors de la vérification de la version bootstrap. Vous devrez donc réessayer plusieurs fois avant qu'il ne passe à la prochaine étape.
| |
− | # Le fichier <tt>server.cfg</tt> va dans le dossier <tt>orangebox/tf/cfg</tt>. Pour plus d'information sur la configuration de votre serveur, voir [[Dedicated server configuration]] (Traduction à venir)
| |
− | # Si vous volez que les gens à extérieur de votre réseau soient capables de se connecter – ceci dit, que vous n'êtes pas juste en train d'exécuter un serveur LAN – rappelez-vous d'ouvrir les ports 27000 à 27015 dans votre pare-feu.
| |
− | # Si vous n'avez pas de pare-feu, trouvez-en un. Exposer votre serveur à l'internet sans protection est très risqué.
| |
− | # Recevez-vous une erreur comme: "'''-bash: ./hldsupdatetool.bin: No such file or directory'''"? Essayez d'installer lib32gcc1 avec "apt-get install lib32gcc1".
| |
− | | |
− | == See also ==
| |
− | * [[Windows dedicated server]]
| |
− | * [[Dedicated server configuration]]
| |
− | (Traductions à venir)
| |
− | | |
− | [[Category: Servers/fr]]
| |
Introduction
Cet article va traiter autant d'aspects que possible sur l'hébergement serveur Team Fortress 2 sur un Linux.
Cet article a été écrit pour Debian (Jessie).
Valve semble avoir utilisé Ubuntu 12.04 32bits comme leur environnement de développement principal. Cela signifie que si vous utilisez Ubuntu Server 12.04 32bits, vous aurez moins de mauvaises surprises. Vous pouvez bien sûr utiliser une version plus récente d'Ubuntu et qui devrait également être compatible.
Ce guide est écrit avec une distribution basée sur Debian Jessie.
Pré-requis
Assurez-vous que vous remplissez les conditions suivantes avant de commencer:
- Un utilisateur qui permet d'exécuter le serveur en tant que («valve» est recommandé, avec le répertoire /home/valve)
- Suffisamment d'espace disque pour le contenu que vous souhaitez installer
- Un terminal de ligne de commande ouvert en lançant l'utilisateur "valve" (su valve) ou une session SSH avec l'utilisateur "valve" connecté.
- Une expérience avec l'utilisation de base en ligne de commande sur Linux.
Installationde SteamCMD
Le script suivant va télécharger SteamCMD, extraire et mettre à jour. SteamCMD est nécessaire pour télécharger et mettre à jour Team Fortress 2.
cd ~
mkdir bin
cd bin
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
./steamcmd.sh + connexion anonyme + quitter
Installation de Team Fortress 2
Le script suivant va télécharger la dernière version de Teamm Fortress 2 pour vous avec une seule commande.
Nous utilisons l'éditeur de texte "nano" pour cela, mais vous pouvez utiliser votre propre si vous préférez un autre éditeur.
Tout d'abord, nous allons aller dans répertoire personnel de l'utilisateur.
cd ~
Pour créer le script, utilisez votre outil éditeur de texte préféré. Dans cet exemple, nous utilisons «nano», mais tout autre comme "vi", "vim", "pico" ou "emacs" fonctionnera également.
nano update_gmod.sh
Collez le script suivant dans nano :
update_server() {
APP_ID=$1
DIR=$2
if ( [ ! -d "$HOME/$DIR" ]; ) then
mkdir -p "$HOME/$DIR"
fi
if ( [ ! -d "$HOME/$DIR" ]; ) then
echo "ERREUR! Impossible de créer le répertoire $HOME/$DIR!"
exit 1
fi
./bin/steamcmd.sh +login anonymous +force_install_dir "$HOME/$DIR" +app_update $APP_ID validate +quit
}
update_server 232250 "server_1"
exit 0
Maintenant, nous enregistrer le fichier. Dans nano, enregistrer un fichier se fait en appuyant sur Ctrl + O
, suivi par Entrée
. Maintenant, nous fermons le dossier en appuyant sur Ctrl + X
.
Avant que nous puissions exécuter ce fichier, nous avons besoin de lui donner les droitspour que l'utilisateur puisse l'executer. Cela se fait avec la commande suivante:
chmod + x ./update_gmod.sh
Maintenant, on met à jour le serveur.
./update_gmod.sh
Le serveur va maintenant télécharger le contenu nécessaire. Steam va vous montrer le pourcentage de progrès qu'il réalise avec le téléchargement.
Démarrage du serveur
La commande ci-dessous démarre le serveur avec 24 slots sur ctf_2fort.
~ /server_1/srcds_run -game garrysmod + maxplayers 24 + carte ctf_2fort
Mise à jour du serveur
Pour mettre à jour le serveur, ou de mettre à jour le contenu du serveur, nous démarerons simplement notre script de mise a jour. Vous devez vous assurer que vos serveurs sont éteints, sinon ls mise à jour échouera.
Mettre à jour le serveur :
./update_gmod.sh
Autre
Binaires 32 bits
Si vous utilisez une version 64 bits de Linux, vous avez besoin de 32 bits binaires, car SteamCMD est uniquement disponible en 32 bits.
Si vous obtenez le message d'erreur suivant :
./steamcmd.sh: ligne 29:home/$ USER/vapeur/linux32/steamcmd: Aucun fichier ou répertoire
Alors vous utilisez probablement un système 64 bits et donc les binaires 32 bits sont manquent.
Pour ce faire, vous devez installer ia32-libs. Pour ce faire, exécutez le code suivant:
dpkg --add-architecture i386
apt-get update
apt-get install ia32-libs