Sélectionner une page

Suite à l’installation d’un serveur Linux Ubuntu qui héberge un serveur CraftBukkit construit à partir de mon package serveur, je suis allé plus loin en installant un serveur Counter-Strike Source et un serveur Zod Engine.

Dans un récent article, j’évoquais également le jeu Zod Engine avec son pack de son français. Et dans cet article, nous allons voir comment installer un serveur Zod Engine sur Linux Ubuntu 12.10

Serveur Zod Engine sur Linux

Sur votre Bureau, en mode graphique ou en mode console, créez le dossier zod_engine

Télécharger la dernière version Linux de Zod Engine que vous copierez dans le dossier zod_engine.

Pour décompresser l’archive, le plus simple est de partager le dossier zod_engine depuis le Bureau Ubuntu pour y avoir accès depuis un PC Windows. Voir comment faire dans l’article suivant avec une démarche identique de création d’un dossier partagé.

Une fois l’archive décompressée depuis votre partage Windows, il est nécessaire de recompiler les programmes. Au prélable, installez les paquets utiles à cette action via les commandes suivantes en mode terminal :

sudo apt-get install libsdl-dev libsdl-ttf2.0-dev libsdl-mixer1.2-dev libsdl-image1.2-dev default-libmysqlclient-dev libwxgtk3.0-dev

sudo apt-get install build-essential

Si ce n’est pas déjà fait, installez Screen qui servira dans le script de lancement à se déconnecter du serveur Linux tout en laissant le serveur Zod Engine actif :

sudo apt-get install screen

La compilation

  • Pour compiler Zod Engine, allez dans le dossier zod_src en mode terminal puis saisissez :
    make
  • Même opération pour compiler Zod Launcher qui se trouve dans le dossier zod_launcher_source
  • Recopiez les exécutables, zod et zod_launcher dans le dossier racine, c’est-à-dire zod_engine, en écrasant les fichiers existants
  • Vous pouvez alors lancer le serveur Zod Engine via un script serveur_zod.sh à créer dans le dossier zod_engine :
    #!/bin/sh
    sleep 1
    screen -A -m -d -S zod ./zod -d -l mp4_map_list.txt
  • La commande screen permet de conserver le processus actif même après s’être déconnecté du serveur Linux. Pour lister les Screens actifs :
    screen -ls
  • Pour quitter le Screen : touches CTRL + A puis D, pour killer le Screen : touches CTRL + A puis K. Pour revenir dans le Screen :
    screen -r zod
  • Donner les droits d’exécution au script que vous venez de créer :
    chmod +x serveur_zod.sh
  • Lancer le script :
    sh serveur_zod.sh
  • Votre serveur démarre et vos clients peuvent se connecter :

Les différentes options de la ligne de commande de l’exécutable zod sur le serveur Linux sont les suivantes :

  • -c ip_address — game host address
  • -m filename — map to be used
  • -l filename — map list to be used
  • -z filename — settings file to be used
  • -e filename — main server settings file to be used
  • -n player_name — your player name
  • -g login_name — your login name
  • -i login_password — your login password
  • -t team — your team
  • -b team — connect a bot player
  • -w — run game in windowed mode
  • -r resolution– resolution to run the game at
  • -d — run a dedicated server
  • -h — display command help
  • -s — no sound
  • -u — no music
  • -o — no opengl
  • -k — use faster and blander cursor
  • -v — display version and credits
  • -a — run shell based tray app

En gras les options les plus importantes :

  • -d permet de démarrer un serveur dédié, c’est bien ce qu’on cherche à faire
  • -l permet de charger une liste de cartes dédiées au mode multijoueur. Les listes sont fournies dans l’archive téléchargée initialement : elle comprend des listes de cartes allant de 2 à 4 joueurs
  • -e permet de charger un fichier de paramétrage du serveur

 

Gestion des joueurs

Cette dernière option (-e) est intéressante car elle permet une gestion des utilisateurs identique à celle que le concepteur du jeu a développé sur son site Nighsoft. Par ailleurs elle est plus sécurisante car vous pouvez au moins contrôler qui se connecte voire, comme Nighsoft, publier les high scores sur votre site Web.

Pour utiliser cette option, il faut installer MySQL sur le serveur Linux. Se reporter aux 2 articles suivants au sujet de MySQL et de phpMyAdmin, l’outil d’administration Web de MySQL :

Une fois que le site web phpMyAdmin fonctionne, il faut créer une base de données pour le jeu. Dans l’exemple ci-dessous, la BdD s’appelle zod_engine :

Il faut ensuite créer un utilisateur de la BdD. Dans l’exemple, il s’agit de l’utilisateur zod_engine :

En cliquant sur Changer les privilèges de l’utilisateur zod_engine, on peut lui affecter les droits uniquement sur la base de données zod_engine :

Il n’est pas nécessaire de créer les tables (affiliate, online_history, users) car le programme s’en chargera à l’aide du fichier de configuration serveur lors du premier lancement.

Le fichier de configuration serveur, psettings.txt, doit être créé à la racine du jeu dans le dossier zod_engine avec les options suivantes :

  • mysql_hostname=localhost
  • mysql_dbname=zod_engine — le nom de la base de données créée plus haut
  • mysql_user_name=zod_engine — le nom d’utilisateur de la base de données
  • mysql_user_password=***** — son mot de passe
  • mysql_root_password=***** — le mot de passe root MySQL
  • ignore_activation=1
  • require_login=1
  • use_database=1
  • use_mysql=1
  • start_map_paused=1
  • bots_start_ignored=0
  • allow_game_speed_change=1
  • selectable_map_list=mp4_map_list.txt

Reste à modifier le script serveur_zod.sh en ajoutant le fichier de configuration serveur à la ligne de commande :

#!/bin/sh
sleep 1
screen -A -m -d -S zod ./zod -d -l mp4_map_list.txt -e psettings.txt

Lorsque l’utilisateur lancera son client Zod Engine, il devra soit créer son login si c’est la première fois, soit se connecter comme dans l’exemple ci-dessous :

Bon jeu !

Sécurité – pare-feu

Pensez à sécuriser vos accès Internet via le pare-feu de votre routeur ou de votre Box + le pare-feu Ubuntu en autorisant le port TCP de destination utilisé par Zod Engine.

Ne pas oublier de rediriger le port de destination vers le serveur Linux via le menu adéquat de votre routeur ou de votre Box.

Le port de destination suivant est utilisé par le serveur Zod Engine : port TCP 8000

Sous Ubuntu 12.10, la commande du pare-feu Ufw est la suivante en mode terminal :

sudo ufw allow 8000/tcp