Les Prérequis > Steam CMD > Serveur 7 Days to die

Et nous voilà enfin sur l'un des aboutissements qui sera la création d'un serveur linux 7 Days to die et plus particulièrement Ubuntu.

Pour ce tuto assurez-vous d'avoir suivi les tutos "Les Prérequis" et "Steam CMD". Pour le lancement automatisé consulter la rubrique "Script de Lancement"


1. Steam CMD


1.1 Le téléchargement du jeu

Pour ce faire, lancez votre utilisateur et allez dans le répertoire voulu pour l'installation du jeu. Par la suite, lancez steam cmd avec la commande suivante.

Légende : ROUGE commande obligatoire / VERT commande bon à savoir

serveur@lamachine:~/Serv_7D2D$ ./steamcmd.sh

Par la suite on va s'identifier en anonyme et enchainer avec la désignation du répertoire et le téléchargement du jeu.

Le "validate" permet de vérifier si le serveur est à jour et si besoin l'installer et le "294420" est l'id du jeu.
Je déconseil d'installer le jeu dans le repertoire du steam cmd car celui-ci est devenu capricieux depuis la version Alpha14 du jeu

steam>login anonymous

steam>force_install_dir ./Serv_1/ (il faut obligatoirement un autres repertoire que celuis de steamcmd)

steam>app_update 294420 validate ou app_update 294420 -beta latest_experimental

2.2 La création du script de lancement

La ligne de lancement doit être parfaitement écrite pour qu'un serveur se lance.

Pour se faire nous allons utilisé notepad++ et le lancer.

steam>exit

serveur@lamachine:~/Serv_7D2D$ sudo su
[sudo] Mot de passe de serveur :
root@lamachine:~/home/serveur/Serv_7D2D$
root@lamachine:~/home/serveur/Serv_7D2D$ apt install lib32stdc++6 lib32gcc1 xmlstarlet wine64
root@lamachine:~/home/serveur/Serv_7D2D$ exit

Update state (0x61) downloading, progress: 99,81 (2847532457 / 2852986245)
Update state (0x61) downloading, progress: 99,93 (2850889093 / 2852986245)
Update state (0x61) downloading, progress: 99,96 (2851937669 / 2852986245)
Success! App '294420' fully installed.

Si vous voyez un truc du genre c'est que le serv est prêt à être configuré.


2. Les ressources du jeu


2.1 Les apt à installer

Maintenant on va télécharger les apt nécessaires pour rendre le jeu compatible avec Ubuntu et pour cela on passe en root.

#!/bin/bash
cd /home/serveur/Serv-7D2D/Serv_1
screen -dmS 7D2D_Serv1 ./startserver.sh -configfile=serverconfig.xml
echo "screen -r 7D2D_Serv1"
screen -r

Une fois ces lignes écrites ou réadaptés il faut juste le sauvegarder sur votre bureau sur l'extension ".sh" et en encodage ainsi, pour notre exemple on va prendre "load_7d2d_s1.sh"
Après il vous suffira de le transférer avec WInSCP à la racine de votre utilisateur car c'est bien plus simple de créer un fichier de lancement à la base pour pouvoir le lancer directement.

Après il vous faudra autoriser le fichier en administrateur avec winscp ou putty de la façon suivante.

serveur@lamachine:~/Serv_7D2D$ cd
serveur@lamachine:~/$ chmod +x load_7d2d_s1.sh

3.3 Lancement du serveur

C'est bon, tout est enfin prèt pour être lancé. Il vous suffira d'aller dans la racine de votre utilisateur serveur et d'exécuter la commande suivant.

serveur@lamachine:/$ screen -r


3. Les derniers détails


3.1 Le fichier de config


Maintenant on va se concentrer sur certaines lignes du fichier serverconfig.xml dans le répertoire du jeu et que vous pouvez ouvrir avec Notepad++.

root@lamachine:~$ iptables -A INPUT -p tcp -m udp --dport 26900 -j ACCEPT
root@lamachine:~$ iptables -A INPUT -p udp -m udp --dport 26900:26902 -j ACCEPT

<property name="ServerPort" value="25000"/><!-- Port you want the server to listen on. -->
<property name="ServerIsPublic" value="true"/><!-- Should this server register to master server -->
<property name="ServerName" value="Votres serveur"/>
<property name="ServerPassword" value=""/><!-- Password to gain entry to the server -->
<property name="ServerMaxPlayerCount" value="24"/><!-- Maximum Concurrent Players -->
<property name="ServerDescription" value="Fun game"/> <!-- Whatever you want the description to be. -->
<property name="ServerWebsiteURL" value="http://decalpeur.eu"/><!-- Website URL for the server -->

<property name="ControlPanelEnabled" value="true"/><!-- Enable/Disable the control panel -->
<property name="ControlPanelPort" value="8005"/><!-- Port of the control panel webpage -->
<property name="ControlPanelPassword" value="Hi"/><!-- Password to gain entry to the control panel -->

Tout ça sont les lignes qui vont nous intéresser pour le serveur donc le premier sera le port pour l'ouverture du port de la machine pour
se connecter sur le serveur.

Les seconds sont les lignes du Panel car vous n'aurez pas de console de visible sur la machine donc je vous conseille de l'activer.
Pour l'utilisation du panel il faudra ce connecter en telnet avec putty en y rentrant le port et mdp en plus de l'ip du serveur.


3.2 L'ouverture des ports


Nous allons ouvrir une plage de port pour la communication du serveur et bien sur tout ça en root sudo su.

serveur@lamachine:~$ ./load_7d2d_s1.sh

Vous voulez voir votre serveur si il tourne rien de plus simple.

Et pour l'arrèter

serveur@lamachine:~$ pkill -f "7D2D_Serv1"

Bug du jeu :


- " -Starting server protocols failed: CreateSocketOrThreadFailure "
Pour le resoudre, essayez de changer tout simplement le port par default

-  Version 18.2 : le force_install_dir devient obligatoire sous peine de le retrouver sur le repertoire steam à la racine de l'utilisateur.
Le bug fera comme si le serveur n'avait pas évolué de version en restant sur la version précedente.

- Il est possible qu'un .sh ne soit pas reconnus et met une erreur de ce style :
"-bash: ./load.sh: /bin/sh^M: bad interpreter: No such file or directory"
Crée le fichier depuis winscp ou la console resoud le probléme

Tout le contenu du site est edité par The DecAlpeur©.
Toutes les données sont soumises au droit d'auteur et peuvent être utilisées avec accord du propriétaire et citation de la source.
Je peux être contacté sur Steam ou TeamSpeak pour plus d'infos ou si vous détectez des incohérences.

The DecAlpeur

A esprit libre univers libre

- Création - Mapping -
Tutoriels Serveur Linux

DecAlpeur Team Speak