Ce qu’est EML
EML, l’Enshrouded Mod Loader, est un projet open source de Brabb3l (kfc-parser sur GitHub). Il est distribué sous forme de fichier nommé dbghelp.dll. Placé à côté de enshrouded_server.exe, il est chargé par le serveur au démarrage, exécute chaque mod du dossier des mods et écrit le résultat dans les données du jeu avant le chargement du monde. Les mods sont écrits en Lua, et chacun est un dossier (ou un zip) contenant un mod.json et un dossier src.
Aujourd’hui, EML modifie les données du jeu avant le démarrage du serveur : tailles de piles, emplacements des coffres, quantités fabriquées et butin, endurance, et valeurs similaires. Il n’ajoute ni commandes, ni chat, ni carte en direct. Enshrouded est en grande partie piloté par le serveur, donc un mod installé sur le serveur s’applique à tous les joueurs qui rejoignent. Certains mods modifient aussi ce que le joueur voit sur son propre écran ; ceux-ci doivent aussi être installés dans le jeu de chaque joueur, et leur page Nexus l’indique.
Les mods EML et les patchs ne sont pas la même chose
| Type | Comment ça marche | Sur un serveur dédié |
|---|---|---|
| Mod EML | Un dossier contenant mod.json et du Lua, chargé par EML à chaque démarrage | Installez EML une fois, puis ajoutez ou retirez des mods librement |
| Patcher | Un outil que vous lancez sur votre PC et qui réécrit enshrouded_server.kfc | Annulé par chaque mise à jour ou vérification de fichiers Steam, il doit donc être réappliqué |
| Table de triche, préréglage Reshade | Tourne sur le PC d'un joueur | Rien à installer sur le serveur |
| Sauvegarde du monde | Un fichier de monde et son fichier _info | Envoyé dans le dossier de sauvegarde, et non comme mod |
Installer EML sur un serveur auto-hébergé
- Arrêtez le serveur et sauvegardez le dossier de sauvegarde.
- Téléchargez dbghelp.dll depuis la dernière version sur la page GitHub de kfc-parser.
- Placez dbghelp.dll dans le dossier du serveur, à côté de enshrouded_server.exe.
- Créez un dossier nommé mods au même endroit, et placez-y chaque mod : soit son dossier (avec mod.json directement à l’intérieur), soit son zip, à condition que mod.json soit à la racine du zip.
- Sous Linux avec Wine ou Proton, lancez le serveur avec WINEDLLOVERRIDES=«dbghelp=native,builtin» devant la commande. Sans cela, Wine charge sa propre dbghelp et EML ne s'exécute jamais, sans aucune erreur visible.
- Démarrez le serveur. Un fichier eml.json apparaît dans le dossier du serveur une fois EML chargé.
EML s'arrête au premier problème rencontré : un mod.json illisible, deux mods ayant le même identifiant, ou une erreur Lua dans un mod. Dans ce cas, il ouvre une fenêtre d'erreur, et un serveur sans écran ne démarre tout simplement jamais. Si le serveur reste bloqué au démarrage après l'ajout de mods, consultez le journal d'EML, un fichier se terminant par eml.log dans le dossier logs à côté du serveur, qui indique le mod et l'erreur ; sinon, retirez le mod le plus récent et réessayez.
Retirer les mods proprement
EML écrit ses modifications dans enshrouded_server.kfc et conserve l’original à côté sous le nom enshrouded_server.kfc.bak. Supprimer les mods et dbghelp.dll arrête les nouvelles modifications, mais celles déjà écrites restent. Pour revenir au jeu d’origine, supprimez dbghelp.dll et les mods, puis laissez Steam vérifier les fichiers : app_update 2278520 validate dans SteamCMD restaure les données de jeu d’origine.
Mods sur un serveur Flux
Chaque serveur Enshrouded sur Flux intègre EML, il n'y a donc rien à télécharger hormis les mods eux-mêmes :
- Téléchargez le zip du mod depuis Nexus Mods.
- Ouvrez votre serveur dans le tableau de bord, allez dans l'onglet Mods et choisissez le zip. Les archives qui contiennent le mod dans un dossier, plusieurs mods à la fois, ou une copie d'EML sont tous acceptés : chaque mod est ajouté séparément, et tout ce qu'EML refuserait est signalé avant d'atteindre le serveur.
- Redémarrez le serveur. L’onglet Mods indique quels mods ont été chargés et combien de modifications EML a effectuées.
Les mods vivent dans un dossier propre qui suit le monde, ils sont donc transférés si le serveur passe sur son nœud de secours. Désactiver, retirer ou désactiver tous les mods prend effet au prochain redémarrage, et le serveur restaure lui-même les données d’origine du jeu lorsque les mods sont retirés. Si un mod bloque le serveur, celui-ci redémarre sans mods et l’onglet Mods indique le mod en cause : un mod défaillant coûte donc un redémarrage, pas une soirée.
Mods et mises à jour du jeu
Les mods sont créés par la communauté, et non par Keen Games, et une mise à jour du jeu peut modifier les données attendues par un mod. Après une grosse mise à jour, y compris Enshrouded 1.0, vérifiez sur la page de chaque mod qu’une version compatible existe avant de le réactiver. Si le serveur ne démarre pas avec un mod après une mise à jour, c’est ce mod qu’il faut retirer en premier.
Questions fréquentes
Peut-on utiliser des mods sur un serveur Enshrouded dédié ?
Oui, via EML, l’Enshrouded Mod Loader communautaire. Il n’est pas officiellement pris en charge par Keen Games, mais il fonctionne sur un serveur dédié, et comme le jeu est en grande partie piloté par le serveur, la plupart de ses modifications s’appliquent à chaque joueur qui rejoint.
Les joueurs doivent-ils aussi installer les mods ?
En général non. Un mod installé sur le serveur s’applique à tout le monde pour tout ce que le serveur décide, comme les tailles de piles, les emplacements des coffres ou le butin. Quelques mods modifient aussi ce que le joueur voit sur son propre écran, et leur page Nexus précise alors que les joueurs doivent aussi les installer.
Pourquoi mon serveur Enshrouded ne démarre-t-il pas après l'ajout d'un mod ?
EML s’arrête au premier problème rencontré, comme un mod.json invalide, deux mods portant le même id ou une erreur Lua, et ouvre une fenêtre d’erreur qu’un serveur sans écran ne peut pas afficher. Retirez le mod le plus récent et relancez. Sur Flux, le serveur le fait tout seul : il démarre sans mods et l’onglet Mods indique le mod en cause.
Comment retirer des mods d’un serveur Enshrouded ?
Supprimez dbghelp.dll et le dossier des mods, puis exécutez app_update 2278520 validate dans SteamCMD. EML écrit ses modifications dans les données du jeu, donc supprimer les fichiers seuls les laisse en place ; la vérification des fichiers restaure l’original. Un serveur Flux le fait tout seul lorsque les mods sont retirés.
EML fonctionne-t-il sur un serveur Enshrouded Linux ?
Oui, sous Wine ou Proton, si le serveur est lancé avec WINEDLLOVERRIDES="dbghelp=native,builtin". Sans ce réglage, Wine utilise son propre dbghelp et EML ne se charge jamais, sans aucun message.