Accueil Informatique Jeux vidéo Musique

Conan Exiles

Serveur dédié pour Conan Exiles sur Linux

Vous souhaitez mettre en place un serveur privé pour jouer avec vos amis à Conan Exiles, et vous disposez d'un serveur Linux ?

Pas de panique, je vais vous expliquer comment vous y prendre !

 

Voici les exigences systèmes nécéssaires afin de pouvoir faire tourner le serveur de jeu :

 SmallMediumLargeX-Large
Number of players 10-player 35-player 50-player 70-player
CPU Intel Core2Duo 6850 Intel Core i5 2400 Intel Core i7 4770K Intel Core i7 4790K
CPU (GHz) 3.0 GHz 3.1/3.4 GHz (Turbo) 3.5/3.9 GHz (Turbo) 4.0/4.4 GHz (Turbo)
System RAM 8GB 8 GB 12 GB 12 GB
Diskspace 35GB 35GB 35GB 35GB

 

 

 

 

 

 

Préparation

Pour mettre en place notre serveur de jeu, nous allons utiliser plusieurs programmes : Wine, Screen, Make, Curl, ainsi que diverses librairies.

Les serveurs de jeu de Conan Exiles actuels ne fonctionne que sous Windows, nous allons donc devoir nous servir de Wine afin de le faire tourner sous Linux.

Pour permettre de faire tourner notre serveur de jeu sans interruption, nous allons nous servir du programme Screen.

Il s'agit d'un multiplexeur de terminaux, nous permettant d'ouvrir plusieurs terminaux dans une même console.

Si vous possédez déja ces programmes sur votre serveur, passez cette étape.

 

Installation des programmes

Nous allons nous servir de la commande apt-get install afin de récupérer les paquets qui nous sont utiles :

sudo apt-get install libfreetype6-dev libX11-dev libxml2-dev libxslt1-dev make flex bison lib32gcc1 curl screen -y

Nous récupérons Wine grâce à la commande wget :

wget http://dl.winehq.org/wine/source/2.0/wine-2.0.tar.bz2 | tar -xvf wine-2.0.tar.bz2 -C /usr/src/

Nous le configurons sur notre serveur 64bits :

cd /usr/src/wine-2.0/ ./configure --with-png --enable-win64

Une fois récupéré, nous allons pouvoir le compiler, mais pour cela vous devez connaitre le nombre de coeurs que possède votre serveur.

Pour le savoir, vous pouvez taper la commande :

cat /proc/cpuinfo | grep processor | wc -l

Compilation de Wine (X = nombre de coeurs) :

make -j X

La compilation prend un certain temps !

Installation :

make install

L'installation prend un certain temps !

Nous pouvons à présent récupérer SteamCMD à l'aide de Curl :

cd ~/
mkdir Conan
cd Conan
curl -sqL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

Nous installons ensuite SteamCMD grâce au fichier bash fournis, nous récupérons le serveur de jeu de Conan Exiles :

./steamcmd.sh +@sSteamCmdForcePlatformType windows +force_install_dir ~/Conan/Serverfiles +login anonymous +app_update 443030 validate +quit

Nous allons lancer le serveur une première fois afin de créer les fichiers de configuration :

cd ~/Conan/Serverfiles
/usr/src/wine-2.0/wine ConanSandboxServer.exe -log

Allez boire un cappuccino pendant que le serveur se lance, puis arrêtez-le avec ctrl+c.

 

Configuration du serveur

Il y a plusieurs fichiers que vous devez modifier pour configurer votre serveur :

DefaultServerSettings.ini

cd ~/Conan/Serverfiles/ConanSandbox/Config/
sudo nano DefaultServerSettings.ini

Modifiez les parametres selon vos désires, pensez à mettre un mot de passe admin.

UseClientCatchUpTime est un paramètre permettant aux joueur de commencer le jour, puis de rejoindre par la suite l'heure du serveur (pour éviter que les nouveaux joueurs commencent la nuit).

ServerCommunity est le type de serveur que vous souhaitez avoir. Il y a les types suivants :

ServerSettings.ini

cd ~/Conan/Serverfiles/ConanSandbox/Saved/Config/WindowsServer/
sudo nano ServerSettings.ini

  Pour la nudité :

Pour le ServerCommunity :

Pour le ServerRegion :

Engine.ini

cd ~/Conan/Serverfiles/ConanSandbox/Saved/Config/WindowsServer/
sudo nano Engine.ini

 Ajoutez les sections suivantes :

[URL]
Port=7777
[OnlineSubsystemSteam]
ServerQueryPort=27015
ServerName=Mon super serveur de jeu
ServerPassword=

Si vous laissez ServerPassword vide, votre serveur de jeu sera publique, et n'importe quel joueur pourra y accéder.

 

Voici la page du wiki officiel sur la configuration du serveur : http://conanexiles.gamepedia.com/Server_Configuration

 

Lancement du serveur

Maintenant que vous avez configuré votre serveur selon vos désirs, vous allez pouvoir le lancer.

D'abord nous ouvrons un second terminal à l'aide de Screen :

screen

Nous nous déplaçons dans le répertoire du serveur de jeu contenant le fichier ConanSandboxServer.exe :

cd ~/Conan/Serverfiles

Et nous lançons le serveur grâce à la commande :

/usr/src/wine-2.0/wine ConanSandboxServer.exe -log

Pour arrêter le serveur, il suffit de faire ctrl + c.

Le serveur de jeu lancé sous un second terminal grâce à Screen, vous pouvez vous déconnecter de votre serveur en toute tranquilité.

Pour revenir sur ce terminal par la suite, vous devrez vous y rattacher grâce à la commande (X = id du terminal)  :

screen -r X

Pour connaitre l'id du terminal, utilisez la commande :

screen -ls

 

Scripts de mises à jour et de démarrage

Nous allons créer des scripts afin de nous faciliter le lancement de mises à jour ainsi que le démarrage du serveur.

Mises à jour

Commençons par les mises à jour, rendez-vous dans le dossier ~/SteamCmd et créez un fichier updateConan.sh avec la commande :

nano updateConan.sh

Remplissez ensuite le fichier comme suit :

#!/bin/bash
echo "====== MISE A JOUR DU SERVEUR ======"
./steamcmd.sh +@sSteamCmdForcePlatformType windows +force_install_dir ~/Conan/Serverfiles +login anonymous +app_update 443030 validate +quit
echo "====== FIN DE LA MISE A JOUR ======"

Afin de pouvoir lancer le fichier, vous devez modifier ses droits d'execution :

chmod +x updateConan.sh

Vous pouvez maintenant lancer la mise à jour du serveur avec le fichier bash :

./updateConan.sh

Pensez à vérifier vos fichiers de configuration :

Lancement du jeu

Rendez-vous dans le dossier contenant le serveur de jeu (~/Conan/Serverfiles/) et créez le fichier startServer.sh :

nano startServer.sh

Remplissez le fichier comme suit :

#!/bin/bash
/usr/src/wine-2.0/wine ConanSandboxServer.exe -log

Comme pour le fichier précédent, vous devez changer ses droits d'execution :

chmod +x startServer.sh 

Enfin, vous pouvez lancer votre serveur avec le fichier bash :

./startServer.sh

 

Installer des mods

Afin de pouvoir profiter de mods sur votre serveur, vous devez créer le répertoire Mods dans le répertoire ~/Conan/Serverfiles/ConanSandbox/ :

mkdir ~/Conan/Serverfiles/ConanSandbox/Mods

Vous allez ensuite créer un fichier modlist.txt qui contiendra les mods utilisés par votre serveur :

nano modlist.txt

Ensuite, vous pouvez télécharger les mods qui vous intéressent à l'aide de SteamCmd.

Dans cette exemple, nous allons utiliser Leveling Extended, un mod que j'ai créé :

cd ~/SteamCmd/
./steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +workshop_download_item 440900 1961078499 +quit

1961078499 correspond à l'id du mod. Si vous regardez les mods depuis le client Steam et que le créateur du mod n'indique pas l'id de celui-ci, faites alors un clic droit / Copier l'adresse de la page. Collez ensuite le lien dans un navigateur internet. Vous aurez un lien de type https://steamcommunity.com/sharedfiles/filedetails/?id=xxxxxxxxxx où x correspond à l'id du mod.

Une fois le téléchargement terminé, SteamCmd vous indiquera dans quel dossier à été téléchargé le mod (par défaut /root/Steam/steamapps/workshop/content/440900/xxxxxxxxxx où x correspond à l'id du mod, dans cet exemple c'est 1961078499. Listez le dossier afin de savoir comment se nomme le fichier, dans cet exemple il s'agit de RaphyLeveling.pak :

ls ~/Steam/steamapps/workshop/content/440900/1961078499/

Une fois que vous connaissez le nom du fichier, vous pouvez le copier dans votre dossier Mods :

mv ~/Steam/steamapps/workshop/content/440900/1961078499/RaphyLeveling.pak ~/Conan/Serverfiles/ConanSandbox/Mods/

Il faut maintenant rajouter ce mod au fichier modlist.txt afin que le serveur le prenne en compte.

Ouvez le fichier modlist.txt :

nano ~/Conan/Serverfiles/ConanSandbox/Mods/modlist.txt

Puis ajoutez le fichier du mod :

RaphyLeveling.pak

Il ne vous reste plus qu'à relancer votre serveur afin que celui-ci prenne le mod en compte.

Et voilà, bon jeu à vous !