Releases: Ashfall-Codex/MasterEvent
V1.4.1
🔄 MasterEvent · Mise à jour 1.4.1
Build 4030 • 30/04/2026
Cette mise à jour assure la compatibilité avec Dalamud API 15 (qui fait suite au patch 7.5).
⚙️ Compatibilité Dalamud API 15
• Migration vers Dalamud.NET.Sdk 15.0.0.
• DalamudApiLevel du manifest passé de 14 à 15.
• Adaptation au nouveau type IClientState.TerritoryType (uint) pour le cache météo et la détection de zone.
• Adaptation au nouveau type IPartyMember.ContentId (ulong) pour l'identification des membres du groupe et la détection du leader.
• Adaptation au déplacement de WindowSizeConstraints dans le namespace Dalamud.Interface.Windowing.
♻️ Refacto' & qualité de code
• Suppression des conversions de type devenues redondantes sur ContentId (SessionManager, PartyWatcher).
• Élargissement cohérent des clés de cache liées à la zone courante (WeatherService, GmWindow).
📄 Documentation
• Mention explicite de Dalamud API 15 dans le README.
• Tableau d'architecture et prérequis de build mis à jour.
V1.4.0
🔄 MasterEvent · Mise à jour 1.4.0
Build 4021 • 21/04/2026
Cette mise à jour introduit les annonces MJ, la gestion des modèles abonnés avec publication de mises à jour, les groupes de participants dans les tours, les seuils critiques personnalisables, et de nombreux renforcements côté serveur (rate limiting, métriques, tokens de leadership).
📢 Annonces du Maître du Jeu
• Nouveau bouton Annonce dans l'interface MJ.
• Pop-up de saisie, diffusion via WebSocket à tous les joueurs de la room.
• Affichage en overlay rouge plein écran côté joueur + message dans le chat.
• Idéal pour les rebondissements, interruptions narratives ou annonces hors tour.
👥 Groupes de participants (Tours)
• Fusionnez plusieurs participants dans une même phase de tour (boutons "Fusionner avec le suivant / précédent").
• Label de groupe éditable (par défaut "Groupe N").
• Icône chaîne + indentation visuelle pour les membres d'un groupe.
• Une seule case "A joué" partagée par groupe, déplacement groupé, retrait d'un membre possible.
• Compteur de progression recalculé par bloc (groupe = 1 bloc, solo = 1 bloc).
🎲 Seuils critiques personnalisables
• Nouveaux champs Réussite critique et Échec critique par modèle.
• Option "Plus c'est haut, mieux c'est" / "Plus c'est bas, mieux c'est".
• Prévisualisation dynamique ("Un résultat de X ou plus/moins compte comme…").
• Fallback legacy conservé (valeur 0 = seul le max/le 1 compte).
:satellite_antenna: Modèles abonnés & publication
• Nouvelle section Mes modèles / Modèles abonnés dans l'éditeur.
• Bouton Publier la mise à jour pour pousser une nouvelle version au serveur.
• Bannière "Modèle publié/abonné — code X, version Y" pour chaque modèle lié.
• Bouton Se désabonner pour couper le lien avec un modèle distant.
• Notifications WebSocket temps réel aux abonnés lors d'une publication.
• Vérification automatique des mises à jour des modèles abonnés à la connexion.
♻️ Synchronisation fiches ↔ modèles
• Quand un modèle est mis à jour, les fiches RP liées se réalignent automatiquement.
• Rapport détaillé dans le chat : stats +N/-N/≈N, compteurs +N/-N/≈N par fiche.
• Avertissement en cas de fiches non synchronisables à vérifier manuellement.
🎲 Animation des dés
• Nouvelle option Animation des dés (activable/désactivable).
• Curseur de vitesse de l'animation.
• Désactiver pour n'afficher que le résultat brut dans le chat (utile en gros raid).
🔍 Recherche dans les stats
• Nouveau champ "Rechercher une stat..." dans l'éditeur de modèle.
• Filtre en temps réel pour les modèles avec beaucoup de stats.
:white_sun_cloud: Météo
• Restauration propre de la météo naturelle après désactivation de l'override.
• Avertissement explicite en cas de conflit avec d'autres plugins météo (Weatherman, Brio, etc.) + info-bulle détaillée.
🛡️ Sécurité & Relay (serveur)
• Tokens de leadership : revendication du rôle MJ sécurisée par un token persistant, protection contre l'usurpation de room.
• Rate limiting par IP pour prévenir les abus.
• Validation des origines CORS côté HTTP.
• Plafond global du nombre de rooms simultanées.
• Route /metrics pour le monitoring (Prometheus-friendly).
• Route /health enrichie (état détaillé du serveur).
• Rejet de connexion explicite pour les versions obsolètes : [MasterEvent] Connexion refusée : votre version (X) est obsolète. Version minimale requise : Y.
• Signal de shutdown propre : les WebSockets se ferment correctement à l'arrêt du serveur.
🔧 Refactorisations & qualité de code
• Nouvelle classe JsonFileStore mutualisant toutes les lectures/écritures JSON (SaveManager, TemplateManager, GmCache).
• Nouvelle classe GmCacheStore déléguant la persistance du cache MJ.
• TemplateSyncHelper dédié à la logique de synchronisation des modèles.
• Meilleure gestion des erreurs de sérialisation côté relay.
• Synchronisation améliorée des compteurs côté joueur.
⌨️ Commande
• Création de l'alias /mevent.
📄 Autres améliorations
• Mise à jour du README.
• Suppression des conflits ImGui dans les listes de modèles.
• Résolution du décalage des en-têtes d'onglets.
• Divers nettoyages et optimisations.
V1.3.1 build 4006
🔧 v1.3.1.4006
Météo & Heure Indépendance totale
Le contrôle de la météo et de l'heure ne dépend plus du plugin Weatherman. MasterEvent gère désormais tout en autonomie :
- Météo : hook direct sur la fonction de mise à jour du jeu + écriture dans EnvManager (inspiré de Brio)
- Heure : patch mémoire sur la fonction de rendu (seule méthode affectant le rendu visuel du ciel/éclairage)
- Données météo : chargées depuis les fichiers Lumina du jeu (plus besoin d'IPC)
- Revert météo : la météo du jeu est restaurée instantanément à la désactivation (appel de la fonction originale)
- Synchronisation relay : les messages weatherUpdate et timeUpdate sont désormais correctement relayés aux joueurs du groupe
Ni le MJ ni les joueurs n'ont besoin de Weatherman installé.
Mode Raid Alliance : Améliorations
- Indicateurs visuels par groupe : chaque joueur affiche un badge coloré [A], [B], [C]... selon son groupe d'origine
- Compteur par groupe : affiché à côté du titre "Joueurs" (ex: A:4 | B:3)
- Persistance du code alliance : le code survit aux reloads et crashes du plugin, et n'est effacé qu'à la dissolution explicite de l'alliance
- Auto-rejoin : les joueurs reconnectés automatiquement à la room alliance après un crash ou un changement de zone
- Kick de joueur : le MJ peut retirer un joueur spécifique de l'alliance (bouton dans la liste des joueurs). Le joueur kické est notifié et déconnecté proprement
- Indicateurs dans la fenêtre joueur : le badge de groupe et le compteur sont aussi visibles côté joueur
Autres corrections
- Correction des en-têtes décalés dans les onglets Paramètres (Vie privée / Avancé affichaient le mauvais titre)
- Retour à la ligne automatique pour les textes longs dans l'onglet Vie privée
- Suppression de la section "Compatibilité plugins" dans l'onglet Avancé (plus nécessaire)
- Mise à jour des tooltips : suppression des mentions "Nécessite Weatherman"
Serveur Relay
- Ajout du routage des messages weatherUpdate, timeUpdate et allianceKick
- Transmission du groupId d'origine dans les messages playerJoined
- Logs de diagnostic : traçabilité complète des messages relayés (émetteur, nombre de destinataires, échecs)
V1.3.1
🔄 MasterEvent · Mise à jour 1.3.1
Cette mise à jour apporte un assistant de configuration complet, le support multi-dés avec animation, la gestion des partages de modèles, l'intégration du RGPD v2 et de nombreuses améliorations d'interface.
🪄 Assistant de configuration
• Nouvel assistant guidé au premier lancement.
• Présentation de MasterEvent, consentement RGPD, création de modèle, import par code, création de fiche de personnage, test de dés interactif.
• Création de modèle intégrée avec éditeur complet (PV, PE, dés, stats, compteurs, initiative, bouclier).
• Création de fiche avec pré-remplissage du nom du personnage actuel et liaison automatique.
• Accessible à tout moment depuis Réglages > Guide.
🎲 Support multi-dés
• Les formules XdY (ex: 2d20, 5d6) affichent désormais les résultats individuels.
• Résultats affichés dans le chat et l'historique :14 + 13 = 27/40 (+5) = 32.
• Nouvel éditeur de formule avec deux champs "Nombre de dés" et "Nombre de faces".
🔗 Gestion des partages de modèles
• Nouveau listing des modèles partagés avec code, type (permanent/temporaire) et bouton copier.
• Historique des partages persistant entre les redémarrages.
• Protection contre le double partage (bouton grisé si déjà partagé).
• Séparation "Partager au groupe" et "Créer un code de partage" pour le modèle actif.
🛡️ RGPD v2
• Texte mis à jour avec les nouvelles données : fiches, jets de dés, modèles, météo.
• Mention du stockage permanent des modèles partagés sur le serveur.
• Version 2 de consentement (re-consentement requis).
👤 Mode MJ + Joueur
• La fenêtre joueur s'ouvre automatiquement en cochant "Participer en tant que joueur".
• Nouveau bouton "Vue joueur" dans l'onglet Groupe.
🔧 Autres améliorations
• Mise à jour du lien Discord.
• Mise à jour complète du README.
• Nettoyage et optimisation du code.
V1.3.0
🔄 MasterEvent · Mise à jour 1.3.0
Build 4004 • 04/04/2026
Cette mise à jour apporte le contrôle de la météo et de l'heure éorzéenne, une animation 3D des jets de dés, ainsi que d'importantes améliorations de stabilité réseau.
☁️ Contrôle météo & heure en jeu
• Nouvel onglet Météo pour contrôler la météo et l'heure en jeu.
• Sélecteur de météo, filtré par les météos disponibles dans la zone courante.
• Contrôle direct de l'heure éorzéenne via Weatherman.
• Synchronisation météo/heure entre le MJ et les joueurs connectés.
🎲 Animation 3D des jets de dés
• Animation d'un jet de dé lors de chaque lancer.
📡 Stabilité réseau améliorée
• Vérification périodique du réseau pour détecter les connexions mortes.
• Détection des connexions instables côté client.
🛡️ Suspension automatique en instance
• Déconnexion automatique du relay lors de l'entrée en instance.
• Reconnexion automatique à la sortie de l'instance si un groupe est actif.
• Nouvelle option dans les réglages pour activer/désactiver ce comportement.
🔧 Autres améliorations
• Amélioration, nettoyage du code et suppression des appels et propriétés inutilisés.
V1.2.0
🔄 MasterEvent · Mise à jour 1.2.0
Build 8004 • 22/03/2026
Cette mise à jour apporte un système complet de statistiques, de fiches personnage, de jets de dés avec modificateurs, un mode raid alliance, ainsi que de nombreuses améliorations de la vue joueur et de la gestion des événements.
🎲 Système de dés & statistiques
• Jets de dés avec modificateurs de statistiques appliqués automatiquement.
• Formule de dé configurable par modèle (ex : 1d20, 2d6, 1d100).
• Résultat détaillé en chat : nom, stat, roll brut, modificateur et total.
• Historique des 20 derniers jets consultable et effaçable.
• Diffusion en temps réel à tous les joueurs connectés dans le groupe.
📜 Fiches personnage
• Création de fiches liées à un modèle avec PV, PE, stats et compteurs personnalisés.
• Fiche par défaut : définissez un favori chargé automatiquement au démarrage.
• Sélection de fiche filtrée par le modèle actif du MJ dans la vue joueur.
• Nouvel onglet Fiches dans la fenêtre MJ pour gérer les profils.
⚔️ Initiative améliorée
• L'initiative utilise désormais la formule de dé du modèle.
• Possibilité de lier une stat à l'initiative (ex : Agilité) dans le modèle.
• Détail du jet visible au survol : roll brut + modificateur de stat = total.
• Ordre d'initiative affiché dans le chat au lancement et au re-tirage.
🪄 Bonus / Malus temporaires
• Appliquez des bonus ou malus temporaires aux joueurs et marqueurs.
• Nombre de tours configurable (0 = illimité), décrémenté automatiquement à chaque nouveau round.
• Visible côté MJ et côté joueur avec indicateur coloré et tours restants.
• Pris en compte dans tous les jets de dés.
👤 Vue joueur repensée
• Sidebar avec 2 onglets : Événement et Dés.
• Titre "Vue joueur" affiché dans la sidebar.
• Grille de tuiles pour les jets de dés (un bouton par stat).
• Popup de statistiques en lecture seule (bouton dédié avec infobulle).
• Affichage des marqueurs visibles même pendant les tours.
• Bouton "Appliquer les marqueurs" réservé aux MJ / Co-MJ.
🛡️ Stats sur les marqueurs
• Le MJ peut définir les stats des marqueurs (modificateurs par stat du modèle).
• Invisible pour les joueurs : les stats sont retirées avant la diffusion.
• Jets de dés des marqueurs avec prise en compte des stats.
📋 Modèles enrichis
• Stat d'initiative configurable par modèle.
• Les éléments liés à l'éther se désactivent quand la barre d'éther est masquée.
• Export/import de modèles via code court sur le serveur relais.
⚔️ Ajout de participants en cours de combat
• Nouveau bouton « + » dans la barre d'outils de l'onglet Tours.
• Permet d'ajouter un marqueur ou un joueur en plein combat sans tout recommencer.
• L'initiative est lancée automatiquement et l'ordre de passage est recalculé.
🧑🤝🧑 Mode Raid Alliance
• Permet de connecter jusqu'à 24 joueurs (3 groupes de 8) sur la même session.
• Le MJ génère un code de salle 6 caractères depuis l'onglet Groupe.
• Les joueurs des autres groupes saisissent ce code dans leur vue joueur pour rejoindre.
• Synchronisation complète : marqueurs, tours, jets de dés et PV entre tous les groupes.
• Les joueurs alliance apparaissent dans l'onglet Groupe du MJ avec gestion complète.
🔧 Autres améliorations
• Commande /masterevent joueur accessible à tous les joueurs (plus besoin du mode debug).
• Bouton "Afficher la vue joueur" dans les réglages.
• Migration du serveur relais de Node.js vers Rust pour de meilleures performances et une meilleure fiabilité.
• Améliorations de la lisibilité et de la stabilité du code.
V1.1.0
📦 MasterEvent - Version 1.1.0
Build 3002
Cette mise à jour introduit la gestion des tours et des initiatives, améliore les fonctionnalités de connexion et apporte plusieurs nouvelles options de personnalisation.
⚔️ Suivi des tours & initiatives
Ajout d'un système complet de suivi des tours et des initiatives, permettant une meilleure gestion du déroulement des combats et des événements.
🔗 Connexions & mode joueur
- Nouveau mode "jouer en tant que joueur" avec ouverture automatique de la fenêtre joueur
- Ajout de l'option "ouvrir automatiquement la fenêtre en groupe"
- Gestion améliorée des connexions au relay
📊 Barres de statut
- Meilleure personnalisation des barres d'état avec prise en charge des compteurs
- Valeurs par défaut personnalisables pour les PV et PE
🔧 Corrections & améliorations
- Correction du calcul de l'effet de pulsation lumineuse
- Correction de la diffusion automatique des marqueurs
- Nettoyage du code et ajustements internes
v1.0.0
Release 1.0.0