Contexte
Sur un serveur 7 Days to Die, être propriétaire du serveur ne donne aucun privilège en jeu. Les droits d'administration se déclarent dans un fichier dédié, serveradmin.xml, et tant que votre compte n'y figure pas, la console en jeu vous refusera la plupart des commandes.
Deux particularités surprennent souvent. D'abord, l'identifiant utilisé n'est pas forcément votre SteamID, le jeu s'appuie sur des identifiants de plateforme dont l'EOS. Ensuite, l'échelle de permissions est inversée par rapport à l'intuition, 0 correspond aux droits les plus élevés et 1000 au joueur ordinaire.
Ce guide couvre la méthode recommandée par le jeu lui-même, le passage par les commandes de console depuis le panel gaming Winheberg, ainsi que la structure du fichier pour ceux qui veulent comprendre ce qui se passe derrière.
Prérequis
- Un serveur 7 Days to Die actif sur le panel gaming Winheberg
- Le joueur à promouvoir doit s'être connecté au moins une fois au serveur
- Un accès à l'onglet Console du serveur sur panel.winheberg.com
Le fichier serveradmin.xml indique lui-même qu'il est recommandé de le modifier uniquement via les commandes de console plutôt qu'à la main. C'est la méthode retenue dans ce guide.
1. Relever l'identifiant du joueur
Le jeu identifie un joueur par un couple plateforme et identifiant. Pour un joueur PC connecté via Steam, l'identifiant utilisé côté serveur est le plus souvent son EOS ID.
Un joueur ne peut pas lire son propre EOS ID depuis le jeu. Il faut donc qu'il se connecte une première fois au serveur, puis relever son identifiant côté serveur.
Dans l'onglet Console du panel, avec le serveur démarré, exécutez la commande suivante.
listplayers
La sortie liste les joueurs connectés. L'identifiant apparaît sous la forme crossid=EOS_0002a2eacfff46808543ffdab9380672, et c'est la partie située après le préfixe EOS_ qui sert d'identifiant.
Deux commandes complémentaires sont utiles.
| Commande | Résultat |
|---|---|
listplayers ou lp |
Liste les joueurs connectés avec leurs identifiants, positions et état |
listplayerids ou lpi |
Liste les joueurs et leurs identifiants, sortie plus courte |
pplist |
Affiche les données des joueurs persistants, y compris ceux hors ligne |
L'identifiant est également écrit dans le log du serveur à chaque connexion. Si le joueur n'est plus en ligne, la console du panel ou le fichier de log restent exploitables.
2. Ajouter l'administrateur depuis la console
La commande admin gère les droits. Sa syntaxe accepte un nom de joueur, un identifiant d'entité ou un identifiant de plateforme, suivi du niveau de permission souhaité.
admin add <joueur> <niveau>
Pour accorder les droits complets à un joueur connecté, le plus simple est de passer par son nom.
admin add Maxime 0
Si le pseudonyme contient des espaces, entourez le de guillemets.
admin add "Mon Pseudo Avec Espaces" 0
Le retrait suit la même logique.
admin remove Maxime
Et la liste des administrateurs déclarés s'obtient avec la commande suivante.
admin list
Les commandes s'écrivent sans barre oblique dans la console du panel, contrairement au tchat en jeu.
3. Comprendre les niveaux de permission
C'est le point qui piège le plus de monde. L'échelle va de 0 à 1000, et un chiffre plus bas signifie plus de droits.
| Valeur | Signification |
|---|---|
0 |
Niveau le plus élevé, accès à toutes les commandes |
| Valeurs intermédiaires | À vous de définir vos propres paliers, par exemple un niveau de modération |
1000 |
Niveau attribué par défaut à tout joueur non déclaré dans le fichier |
Le principe est le suivant. Chaque commande porte elle même un niveau requis, et un joueur peut exécuter toute commande dont le niveau est supérieur ou égal au sien. Un joueur en 0 peut donc tout faire, un joueur en 1000 ne peut exécuter que les commandes ouvertes à tous.
Les commandes qui ne sont pas listées dans le fichier reçoivent par défaut un niveau 0, autrement dit elles sont réservées aux administrateurs complets.
4. Vérifier le résultat dans serveradmin.xml
Après un ajout, le fichier serveradmin.xml contient une entrée dans la section <users>, sous cette forme.
<adminTools>
<users>
<user platform="EOS" userid="0002a2eacfff46808543ffdab9380672" name="Maxime" permission_level="0" />
</users>
</adminTools>
L'attribut platform accepte les valeurs EOS, Steam, XBL et PSN. L'attribut name est purement décoratif, il sert uniquement à vous rappeler de qui il s'agit.
De nombreux tutoriels encore en ligne présentent une syntaxe <user steamID="..." /> dans une section <admins>. Cette écriture correspond à une ancienne version du jeu et ne fonctionne plus. La forme actuelle utilise bien platform et userid dans une section <users>.
Pour localiser le fichier, le plus fiable est de lire la ligne UserDataFolder affichée en tête du log de démarrage du serveur, le fichier se trouvant dans le sous dossier Saves de ce répertoire. Vous pouvez aussi utiliser la recherche du gestionnaire de fichiers du panel sur le nom serveradmin.xml.
Sur les serveurs Winheberg, ce dossier est .local/share/7DaysToDie/Saves, à ouvrir depuis l'onglet Files en affichant les dossiers cachés.
En cas de problème
❌ Les commandes sont refusées malgré l'ajout
- Vérifiez que le joueur s'est déconnecté puis reconnecté après l'ajout
- Confirmez que le niveau attribué est bien
0et non1000, l'échelle est inversée - Contrôlez que l'identifiant relevé correspond au bon joueur, en le comparant avec la sortie de
lpi
❌ L'identifiant saisi n'est pas reconnu
- Retirez le préfixe
EOS_, seul l'identifiant qui suit doit être renseigné - Évitez de recopier l'identifiant depuis une capture d'écran, une erreur de caractère suffit
- Passez plutôt par le nom du joueur pendant qu'il est connecté, c'est la méthode la plus sûre
❌ Le fichier serveradmin.xml reste vide
- Le fichier n'est complété qu'à la première utilisation de la commande
admin - Vérifiez que vous consultez bien le fichier dans le dossier de sauvegarde du serveur et non une copie ailleurs
- Confirmez que le serveur a été arrêté avant votre lecture, les modifications peuvent n'être écrites qu'à l'arrêt
Bonnes pratiques
Accordez le niveau
0avec parcimonie, il donne accès à des commandes capables de modifier durablement le mondeDéfinissez un niveau intermédiaire pour vos modérateurs plutôt que de leur donner les pleins pouvoirs
Notez la correspondance entre pseudonymes et identifiants dans un document à part, les pseudonymes changent, pas les identifiants
Passez par les commandes de console plutôt que par l'édition manuelle du fichier, comme le recommande le jeu lui même
Faites une copie de
serveradmin.xmlavant toute modification manuelle, une erreur de syntaxe XML peut empêcher son chargementCombinez les droits d'administration avec la whitelist si vous ouvrez le serveur à des inconnus, voir Comment activer la whitelist sur un serveur 7 Days to Die ?
Besoin d'aide ?
Si les droits ne s'appliquent pas malgré une entrée correcte dans le fichier, ouvrez un ticket auprès de notre support depuis votre espace client, département Technique, avec le serveur concerné dans le champ Produit lié. Notre équipe pourra vérifier le contenu du fichier et les journaux de connexion avec vous.
Vous avez la main sur votre serveur. 🎮


