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 :
Small | Medium | Large | X-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 |
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.
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.
Il y a plusieurs fichiers que vous devez modifier pour configurer votre serveur :
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 :
cd ~/Conan/Serverfiles/ConanSandbox/Saved/Config/WindowsServer/ sudo nano ServerSettings.ini
Pour la nudité :
Pour le ServerCommunity :
Pour le ServerRegion :
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
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
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
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.