DayZ peut envoyer des messages à tout le monde sur ton serveur selon un planning, et cela ne demande ni outil RCON, ni BEC, ni mods. Toute la fonctionnalité tient dans un seul fichier de ton dossier de mission appelé messages.xml, et ce même fichier gère aussi le compte à rebours de redémarrage que la plupart des serveurs utilisent pour prévenir les joueurs avant l'arrêt. Ce guide passe en revue chaque tag, les unités qu'ils utilisent, et une configuration prête à coller et à modifier.
Où se trouve messages.xml
Ouvre ton serveur dans le panel de jeu, va dans l'onglet Files et navigue jusqu'à :
mpmissions/dayzOffline.chernarusplus/db/messages.xml
Sur Livonia le dossier de mission est mpmissions/dayzOffline.enoch/, et sur Sakhal mpmissions/dayzOffline.sakhal/. C'est le même dossier db qui contient types.xml et globals.xml.
Le fichier est livré avec ton serveur, mais tout son contenu se trouve dans un bloc de commentaire XML, donc un serveur neuf n'envoie aucun message. C'est normal, et cela veut dire que les exemples de Bohemia restent sous les yeux dans l'éditeur.

Les tags disponibles
| Tag | Ce qu'il fait | Unité |
|---|---|---|
deadline |
Lance un compte à rebours qui se termine ce délai après la disponibilité du serveur | minutes |
shutdown |
1 arrête le serveur quand le compte à rebours atteint zéro |
0 ou 1 |
repeat |
Renvoie le message à cet intervalle | minutes |
delay |
Avec onconnect : combien de temps après l'arrivée d'un joueur le message s'affiche |
minutes |
onconnect |
1 affiche le message à un joueur après sa connexion |
0 ou 1 |
text |
Le message lui-même | texte |
Dans text tu disposes de deux variables. #name est remplacé par le nom de ton serveur et #tmin par le nombre de minutes restantes sur le compte à rebours.
Toutes les valeurs de temps ici sont en minutes. Cela piège beaucoup de monde, car plusieurs guides en ligne parlent de secondes. Le modèle de Bohemia lui-même, commenté dans ton fichier en ce moment, décrit <deadline>600</deadline> comme "shuts down server in 10 hours" et <repeat>15</repeat> comme "displayed every 15 minutes".
Une configuration qui marche
Remplace le contenu de messages.xml par ceci et adapte les textes à ton serveur. Tu obtiens un message de bienvenue, un rappel récurrent toutes les 30 minutes et un compte à rebours de redémarrage quatre heures après le démarrage du serveur.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<messages>
<message>
<delay>1</delay>
<onconnect>1</onconnect>
<text>Welcome to #name. Read the rules in our Discord.</text>
</message>
<message>
<repeat>30</repeat>
<text>Server restarts every 4 hours. Log out safely before a restart.</text>
</message>
<message>
<deadline>240</deadline>
<shutdown>1</shutdown>
<text>#name restarts in #tmin minutes. Find a safe spot and log out.</text>
</message>
</messages>

Enregistre le fichier et redémarre le serveur une fois. messages.xml est lu au démarrage de la mission, donc les modifications ne s'appliquent jamais à une session déjà en cours.
Ce que fait vraiment le compte à rebours
deadline n'envoie pas un seul message à la fin. Le serveur répète l'avertissement à mesure que l'échéance approche, avec #tmin qui décompte, donc tu écris le message une fois et chaque joueur a plusieurs occasions de réagir.
Les avertissements se rapprochent à mesure que l'échéance approche. Lors d'un test sur un serveur réel avec un deadline de 12 minutes, le serveur a averti à 10, 5, 4, 3, 2 et 1 minute restantes, soit un avertissement par minute sur les cinq dernières. Les deadlines plus longs ajoutent des points de contrôle plus tôt, donc un cycle de 4 heures laisse largement le temps aux joueurs avec une seule entrée <message>.
Deux détails à connaître, tous deux confirmés sur un serveur réel :
- Le chrono démarre quand la mission a fini de charger, pas au moment où tu appuies sur Start. Un serveur DayZ moddé peut mettre deux ou trois minutes à démarrer, et ce temps ne compte pas dans ton deadline. Un
deadlinede 240 te donne donc quatre heures de temps de jeu utile, pas quatre heures entre deux redémarrages. - À une minute de la fin, le serveur sauvegarde les joueurs, se verrouille et expulse tout le monde, puis se termine. Ce dernier point compte plus qu'il n'y paraît : l'arrêt par deadline exécute la sauvegarde pour tous ceux encore connectés, au lieu de leur couper l'herbe sous le pied. Plus de détails dans redémarrer un serveur DayZ sans faire perdre l'équipement des joueurs.
Seul le deadline le plus élevé du fichier pilote le compte à rebours. N'ajoute pas plusieurs deadlines en espérant qu'ils s'enchaînent.
Le serveur revient-il tout seul ?
Oui. Chez DoomHosting, dès que shutdown a terminé le processus DayZ, le panel relance le serveur immédiatement et le compte à rebours repart de zéro. Une seule entrée deadline te donne donc un cycle de redémarrage complet et auto-répété avec avertissements, et il n'y a rien d'autre à configurer.
Si tu préfères piloter les redémarrages depuis le panel pour qu'ils tombent à heures fixes, mets shutdown à 0 et ajoute plutôt une action Restart dans l'onglet Schedule. Règle alors deadline quelques minutes plus court que l'intervalle du planning, pour que les avertissements soient passés avant que le panel n'arrête le serveur.
Problèmes courants
Aucun message n'apparaît. La cause la plus fréquente est que les nouveaux messages ont été collés à l'intérieur du bloc de commentaire livré avec le fichier. Tout ce qui se trouve entre <!-- et --> est ignoré. Tes entrées <message> doivent être après le --> et avant </messages>.
Le fichier ne se charge pas. messages.xml doit être du XML valide. Une balise fermante manquante ou un & isolé dans ton texte fait que le serveur ignore le fichier en silence, sans erreur dans la console. Les esperluettes doivent s'écrire &.
Le compte à rebours tombe au mauvais moment de la journée. deadline se mesure depuis le démarrage du serveur, pas depuis minuit, et il se réinitialise à chaque redémarrage. Si tu as besoin de redémarrages à heures fixes, pilote-les depuis l'onglet Schedule comme décrit plus haut.
Tu as modifié la mauvaise carte. Chernarus, Livonia et Sakhal ont chacune leur dossier de mission, et seul celui que ton serveur fait tourner est lu. Vérifie la valeur mpmissions dans l'onglet Startup si tu n'es pas sûr de celle qui est active.
Un joueur ne voit jamais le message de bienvenue. Les messages onconnect se déclenchent après le delay défini, donc quelqu'un qui rejoint et repart en moins d'une minute avec <delay>1</delay> le rate.
