Créer et automatiser un serveur Valheim via SteamCMD 🎮

Introduction
Vous êtes chez vous et vous vous ennuyez ? Vous payez tous les mois un VPS et vous ne savez pas quoi en faire ?
Vos amis et vous avez l’envie soudaine de ramasser des champignons 🍄 et de vous faire rouler dessus pas des monstres dans un monde impitoyable aux graphismes de PS2 et aux effets de lumière saisissants ?
Ne cherchez plus, le temps est venu pour vous d’installer votre propre serveur dédié de VALHEIM !
1. Installation des packages
Steam propose une CLI baptisée SteamCMD qui permet d’installer tout ce qui est trouvable sur Steam via la ligne de commande.
|
|
Architecture 32 bits
Si vous avez une machine en architecture 32 bits, vous aurez besoin d’ajouter le repo multiverse
:
|
|
Si ça vous dit sudo: add-apt-repository: command not found
il faut installer software-properties-common
et mettre à jour apt-get
|
|
Naviguer dans l’outils de configuration
L’installer de SteamCMD va vous présenter le contrat de license (faites TAB
pour vous déplacer sur OK puis faites ENTREE
).
Déplacez vous ensuite sur I ACCEPT avec ⬇️ et faites ENTREE
.

Tab pour se déplacer sur
OK
, les flèches pour choisirI ACCEPT
2. Création d’un utilisateur dédié “steam”
On va créer un utilisateur steam
qui servira à faire les opérations d’installation et de lancement du serveur et des tâches annexes liées à celui-ci.
|
|
3. Création d’un lien symbolique et lancement de SteamCMD
|
|
4- Sur le shell SteamCMD
|
|
ou en une seule ligne :
|
|
5- Customiser le serveur
|
|
coller ce script :
|
|
6- Créer un service pour gérer le serveur
Gérer l’état du serveur à la main peut s’avèrer éreintant.
Pour s’astreindre d’une telle tâche, on va passer par la création d’un service qui sera piloté via systemctl
.
|
|
et y ajouter ce contenu :
|
|
Penser à recharger le daemon systemd
:
|
|
7- Gérer le service
|
|
8- Automatiser les redémarrage & les backups
On va créer un petit script qui servira à faire une sauvegarde du world et à redémarrer le serveur (pour vider la mémoire et éviter que le serveur rame)
|
|
Ce script devra être lancé chaque jour à 4h du matin pour s’assurer de ne perturber personne.
|
|
Bonus #1 - Importer une sauvegarde de monde existant
Si vous aviez un serveur hébergé sur votre machine perso est que vous ne voulez pas recommencer un nouveau monde, les sauvegardes se trouvent ici :
|
|
Bonus #2 - Ne pas s’ennuyer avec tout ça et utiliser AMP
AMP (pour Application Manager Protocol) et un outils développé par Cubecoders.
Son but est de rendre extrèmement simple la gestion de serveurs de jeux Steam en offrant la possibilité, via une interface graphique, de créer, lancer et monitorer des serveurs.

Les développeurs sont très actifs et répondent rapidement en cas de soucis via leur Discord. La license ‘perso’ coûte un peu moins de 10e et est valide à vie, pour 5 instances d’AMP en simultané.
L’avantage d’une telle solution est qu’elle permet de déployer facilement des serveurs de jeux qui ne tournent pas encore sous Linux (comme VRising lors de sa sortie par exemple) via un habile enrobage de WINE dans un conteneur Docker.
Rien d’insurmontable si on décide de le faire soit-même, mais ça reste un confort certain.
Outro
Amusez-vous bien !
Références
- https://gameplay.tips/guides/9765-valheim.html
- https://developer.valvesoftware.com/wiki/SteamCMD
- https://linuxgsm.com/lgsm/vhserver/
- https://github.com/respawner/docker-steamcmd
- https://www.cyberciti.biz/faq/how-to-open-firewall-port-on-ubuntu-linux-12-04-14-04-lts/
- http://www.stopitsomemore.com/tutorials/valheim.txt
- https://crontab.guru/