User Tools

Site Tools


serveur:todo

This is an old revision of the document!


# 🛡️ TODO Final - Développement OpenDAOC & Amtenaël

Ce document fusionne et priorise les listes TODO_DOL.txt et TODO_OPENDAOC.txt.

## 🐞 0. Bugs Constatés (Priorité Correction)

- [X] Instabilité Serveur : Crash lors de la commande `/rel` (Release). *Stacktrace: MimicNPC.RemoveFromWorld() / ReaperService*. - [x] Factions Thidranki : Fixé (les gardes n'attaquent plus leur propre royaume). ✅ - [x] Erreurs au démarrage (SkillBase) : ✅ Patché via `SkillBase.cs` (mécanisme de repli pour les préfixes `X` et `AtlasOF_`). - [x] Sorts/Potions manquants : ✅ Injectés (IDs 8982, 8983, 31024, 31028, 31032). - [x] Scripts manquants : Restaurer les classes `TextNPCMerchant`, `AmteMob`, etc. ✅ Solutionné par l'implémentation de la classe générique `AvalonExchangerNPC`. - [ ] Optimisation Bots : Population réduite à 5 par royaume (15 total). ✅ - [ ] Visuel Mobs : Placeholders (“New mob”/Modèle 408) supprimés définitivement en Région 51 (Local & Prod). ✅ - [ ] Combat Aquatique : Corriger l'impossibilité pour les joueurs de se battre dans l'eau. - [ ] Bug Attaque Bots : La majorité des bots ne sont pas attaquables (erreur “trop loin”) alors que le joueur est au corps à corps. - [x] [RÉGRESSION] Encodage Noms : Réapparition du bug d'encodage UTF-8 sur les noms (ex: “R??mi le palefroi” au lieu de “Rémi”). ✅ RÉSOLU EN LOCAL & PROD - [x] [PRIORITÉ] Redémarrage Auto : Script opérationnel sur VPS via `up.sh` et configuré avec CI/CD (Git Pull). ✅

## 🚀 1. Quick-Wins & Prérequis (Actions Immédiates) *Tâches rapides pour poser les bases (communication, docs, nettoyage).*

- [x] Système de Bots (Thidranki) :

  1. [x] Initialisation automatique au démarrage.
  2. [x] Population maximisée (15 bots total, 5 par royaume) dès le lancement.
  3. [x] [TEMP] Désactiver le mode Swarm (le temps de l'améliorer).
  4. [ ] Rétablir la population de bots variable comme sur le repo SPB officiel (actuellement fixe pour la beta) → Difficulté croissante en fonction du nombre de joueurs → Voir si possible dynamique sans recompiler le serveur
  5. [ ] Étudier et implémenter un système de sécurité (Dynamic Scaling) :
    1. [ ] Surveiller la charge CPU/TPS en réel pour brider ou réduire le nombre de bots si le serveur sature.
    2. [ ] Ajuster automatiquement la population de “SwarmBots” (Ultra-Légers) selon le nombre de joueurs réels présents dans la zone.
  6. [ ] Optimisation Mémoire & Performance :
    1. [ ] Optimisation “Spatial Hashing” : Remplacer les scans de zone par une grille de collision (Cible : 2000+ bots sans lag).
    2. [ ] Limiter le chargement des mobs aux régions actives (Map 51 et Thidranki).
    3. [ ] Nettoyage d'objets et optimisation des structures de données des bots.
    4. [ ] À vérifier : Amélioration Bots (Siège & Eau) : implémenter le siège des forts (ouverture des portes) et corriger les bugs aquatiques restants (Voir `ProjetsAnnexes/DossierPortage/PLAN_AMELIORATION_BOTS.md` et `ProjetsAnnexes/Projet BOTS/AMELIORATIONS_BOTS.md`).
    5. [ ] Intelligence Tactique : IA avancée pour les casters (focus tissus) et les soigneurs (soins prédictifs).
    6. [ ] Formations de Bataillon : Déplacement en formations de combat (ligne de front, protection casters) au lieu de la file indienne.
  7. [ ] Ciblage : Rendre les bots (Mimics) ciblables avec la touche Tabulation (actuellement impossible car leur nom s'affiche en bleu ciel, il faut forcer l'affichage en rouge).
  8. [/] Optimisation SwarmBots (Ultra-Légers) :
    1. [x] Comportement : IA corrigée pour s'arrêter et combattre les ennemis rencontrés. ✅
    2. [x] Ciblage : Hibernation relaxée dans `SwarmBrain.cs` pour autoriser les combats Bot vs Bot. ✅
    3. [x] Factions : Factions hostiles par royaume assignées. ✅
    4. [x] Diversité Visuelle : Modèles (skins) randomisés par royaume. ✅
    5. [ ] Performance : Tester la montée en charge à 500+ SwarmBots.
    6. [ ] Équipement : Habiller visuellement les bots (armures/équipements).
    7. [ ] Contrôle de zone : Forcer les bots à rester au centre de Thidranki une fois arrivés pour déclencher des batailles massives entre royaumes.
  9. [x] Rôles des Bots & Équilibrage PR :
    1. [x] Désigner les bots Lourds (Mimics) comme des Champions. ✅
    2. [x] Restreindre le gain de Points de Royaume (PR) à ces Champions uniquement. ✅ (0 PR pour Légers et Ultra-Légers).
  10. [x] Fix : Crash NRE (Groupes PvP) et Stats (/mbstats).
  11. [x] Fix : Crash au démarrage (accès joueurs non connectés).

- [x] Documentation Wiki :

  1. [ ] Recenser ce qui fonctionne en craft/classes sur DOL (par les joueurs)
  2. [ ] Recenser monstres et quêtes (et page loot Boss Ma'ati) (par les joueurs)
  3. [ ] Expliquer le fonctionnement des armes Ma'ati sur le Wiki (Obtention, paliers, statistiques).
  4. [x] Créer `ai_context.md` dans `C:\OpenDAOC_server\ProjetsAnnexes\datas diverses` pour instruire la mise à jour de la liste des factions.
  5. [x] Lister les commandes (Admin/GM/Player) et les publier sur le wiki.

- [x] PNJs & Services :

  1. [x] Création d'un PNJ spécifique pour l'Instant 50 en artisanat (Légendaire).
  2. [x] Mettre à jour le Héraut des dieux pour permettre de passer au rang de royaume 13L0.
  3. [x] Mettre en place un PNJ de création de guilde (1 personne minimum, tous les emblèmes disponibles pour tous les royaumes). ✅ Implémenté via `GuildRegistrarNPC.cs`.
  4. [x] Réparer l'encodage UTF-8 des noms de PNJs (Région 51) en local. ✅

- [x] Déploiement VPS : Appliquer la réparation d'encodage sur le serveur en ligne (Import SQL validé). ✅

  1. [x] Remettre en place les menus et inventaires des marchands (Zone 51). ✅ Validé en jeu (187 marchands chargés en région 51).
  2. [x] Retirer la guilde de base automatiquement attribuée aux nouveaux personnages. ✅ Désactivé via ServerProperty `starting_guild`.
  3. [x] Virer le portail rouge téléporteur. ✅ ZonePoint 154 supprimé (visuel conservé).
  4. [x] Passer tous les gardes dans la faction “Gardes” sur la carte 51. ✅ Faction ID 1000 créée et assignée.

- [ ] Infrastructure & QA :

  1. [ ] Script PowerShell de sauvegarde/restauration automatisé.
  2. [x] Diagnostiquer la lenteur au démarrage de la branche SPB (36s vs OpenDAOC natif). ✅ (Optimisation faite : warnings d'équipement et de zone corrigés).
  3. [ ] À vérifier :
    1. [ ] Optimisation des performances (corriger les warnings `Long TimerService.Tick`).
    2. [ ] Indexation régulière de la base de données pour accélérer la recherche des joueurs et objets.
  4. [ ] Développer un programme surveillant le dépôt GitHub pour poster un récapitulatif des mises à jour sur un channel Discord.
  5. [x] Audit & Documentation (Basse Priorité) :
    1. [x] Documenter la structure de la base de données Breamor pour faciliter les requêtes IA et éviter les recherches répétitives chronophages.
    2. [x] Créer un récapitulatif détaillé de la migration Avalon (PNJs, SkillBase, Fixes).

- [x] Config Serveur : Activation du changement de langue (`/language set`), passage par défaut en FR et alignement de 86 propriétés avec le CSV SPB.

  1. [ ] Support complet des commandes et dialogues en Anglais, Français et Espagnol (EN/FR/ES).
  2. [ ] Supprimer la classe de base (via `ServerProperty` ?) pour permettre de choisir sa classe finale dès le niveau 1.

- [x] Stabilisation du Build (SPB) :

  1. [x] Réparation de `House.cs` (propriété `ConsignmentMerchant` décommentée).
  2. [x] Bridage temporaire du `MarketService` manquant pour permettre le démarrage.
  3. [x] Correction de l'encodage et des erreurs de syntaxe sur les scripts custom (`Aerto.cs`).
  4. [ ] Traduction : Vérifier en jeu la correspondance des noms d'objets en Français.

- [ ] Tous les chevaux ont le même skin marron, remettre la correspondance entre les items achetés et les skins correspondant - [ ] Client & Patches :

  1. [ ] Appliquer le patch pour changer l'écran de chargement en amtenaTEST.
  2. [ ] Fin de Beta : Refaire un patch pour remettre l'écran de chargement Amtenael (Logo : “Le temps n'existe plus”).

## 🛠️ 2. Core Serveur & Migration (Moyen Terme) *Fonctionnalités nécessaires pour avoir un serveur jouable sur une base saine.*

- [x] Initialisation OpenDAOC : Repartir sur un OpenDAOC sain et importer la database copie offi. - [ ] Portage des Données Joueurs : Exporter inventaires, argent, classes depuis l'ancienne base DOL. - [ ] Système Predator : Intégrer les systèmes de type “Predator” disponibles dans le repo `OpenDAoC-Core-master`. - [ ] Mapping/Monde :

  1. [x] Importer le mobilier Lot B (tables `worldobject` et `door`) depuis Breamor.
  2. [ ] Importer les scripts de DOL vers Avalon Isle (pas tous) → Vérifier la doc sinon la liste des scripts et choisir lesquels
  3. [x] Audit & Import Loots Avalon (Map 51) :
    1. [x] Croiser les mobs Map 51 entre Breamor et SPB.
    2. [x] Vérifier si les mobs de Breamor ont des loots et évaluer la faisabilité de l'import.
    3. [x] Importer les loots validés. ✅ Automatisé via `AvalonExchangerNPC.cs` et `echangeur_final.txt`.

- [x] Groupage Inter-Royaume (Client 1.127) :

  1. [x] Bypass des filtres clients via `CustomDialog`.
  2. [x] Implémentation du `/gjoin` global (pas de limite de distance).
  3. [x] Correction Bug UI : Corriger la visibilité partielle/incomplète des membres de groupe inter-royaumes dans l'interface.
    1. [x] Problème HP : Les barres de vie ne descendent pas dans la fenêtre de groupe lors de la prise de dégâts (cross-realm).
    2. [x] Problème Map : Les groupés n'apparaissent pas sur la carte.
  4. [ ] Améliorations futures : Remplacer `/invite` par `/gjoin` (ou intégrer la logique) pour proposer une popup UI de confirmation au joueur invité.

- [ ] Guildage Inter-Royaume : À vérifier in game - [x] Bases PvP & GvG :

  1. [x] Activer Thidranki avec bots Niveau 50 (Auto-start au démarrage). ✅ Configuré dans `MimicManager.cs`.
  2. [x] Rendre les gardes de Thidranki agressifs envers les joueurs (PvP). ✅ Propriété `PVP_UNCLAIMED_KEEPS_ENEMY` activée.
  3. [x] Système de Téléportation “Aerto” : Dialogue et téléportation vers Thidranki (Niveau 50) pour les deux PNJs Aerto (Région 51). ✅ Implémenté via Global Hook.
  4. [ ] Porter les colliers de téléportation régionaux (NPC Ansall - Region 51) depuis Breamor/DOL vers OpenDAoC (Attention : compatibilité scripts DOL à vérifier).
  5. [x] Mettre un PNJ de sortie pour chacun des royaumes dans Thidranki (Aertis). ✅

- [ ] Amélioration Thidranki : Téléportation de sortie basée sur le Karma (Constructeur/Neutre → Wearyall Village, Destructeur → Prios).

  1. [ ] Jamtland Mountains avec capture de forts.
  2. [ ] Ouvrir PvP H24 (fait) avec bonus de PR en soirée.
  3. [x] Réparer les médecins qui ne rendent pas la constitution (healer.cs de mémoire)
  4. [ ] Vérifier que les bots (Mimics) dans Thidranki attaquent correctement les joueurs (agressivité PvP).
  5. [ ] Investigation Thidranki : Identifier l'utilité des PNJs Void Merchant et Pazz (consulter les clones de `core master` et `database` en sous-dossier).

- [ ] Économie & RP :

  1. [x] Centraliser le point de spawn de toutes les races sur la map historique.
  2. [ ] Terminer le système de /shop (max 25 objets).
  3. [ ] Désactiver les gains de PRs liés aux meurtres (PvP) sur la Carte 51 / Avalon Isle (le Rôleplay et les maps dédiées comme Thidranki doivent être les seules sources de PRs).
  4. [x] Implémenter la récompense PR automatique via base de mots-clefs RP (Top Rôlistes).
  5. [ ] Bonus RP incrémental : Augmentation progressive du bonus PR en fonction de la durée de la session RP active.
  6. [x] Sécurité Récompenses RP (Anti-Cheat) : Surveillance automatique et limitation horaire implémentée via Cooldowns par mots. ✅
  7. [ ] Restaurer le système d'échange des armes de Ma'ati (Essences/Tokens) auprès des marchands dédiés.

- [ ] Générateur de Quêtes / Animation : Outil ig pour permettre aux joueurs de créer des quêtes (0 XP, 0 PR) pour leur rôleplay. - [ ] Quêtes OpenDAOC : Traduction des quêtes de la db OpenDAOC une fois l'essentiel en place. - [ ] Lore & Immersion :

  1. [ ] Rédiger et intégrer le Lore pour le Golem de Glace : Jormag.
  2. [ ] Rédiger et intégrer le Lore pour les Démons de Khorne.

## ✨ 3. Expérience Dynamique & Events (Moyen - Long Terme) *Transformer le gameplay classique avec des événements vivants.*

- [ ] Karma Serveur : Jauge influencée par les joueurs (débloquant accès, PNJ, donjons et buffs Equilibre ou malus). - [ ] Système de Réputations Multi-Factions (Style WoW) :

  1. [ ] Audit Avalon (Map 51) : Inventorier les mobs et PNJs pour définir 10 à 20 micro-factions cohérentes (ex: Druides de la Forêt vs Champignons Vénéneux, Milice de Wearyall vs Bandits).
  2. [ ] Moteur de Réputation : Implémenter le gain/perte automatique de points de faction lors du kill d'un mob (ex: Tuer un mob de la faction A donne +X à la faction B et -Y à la faction C).
  3. [ ] Documenter les interactions entre factions sur le wiki
  4. [ ] Marchands de Prestige : Créer des PNJs dont l'inventaire se débloque selon le palier de réputation (Amical, Honoré, Exalté) avec des consommables et objets uniques.

- [ ] Événements Auto (PvE) :

  1. [ ] Objectif : Atteindre une fréquence de 1 événement par heure.
  2. [ ] Foire de Sombrelune (pop semi-aléatoire).
  3. [ ] World Boss (Boss paliers Constructeur/Destructeur attaquant les villes).
  4. [ ] Invasions de capitales orientées défense de PNJ/Cristal (ex: Fils Fraenir).
  5. [ ] Marchands déclencheurs de Donjons (ex : ramener 100 ongles Guarks pour ouvrir un event temporaire).
  6. [ ] Zones corrompues temporairement et Chariots à escorter.
  7. [ ] Système de quêtes “Pokémon” : Capturer des monstres pour qu'ils suivent le joueur (s'inspirer du code MimicNPC) / quêtes d'escorte

- [ ] Événements PvP :

  1. [ ] Chasse à l'homme (proie avec pactole cumulatif).
  2. [ ] Gauntlet (champion tournant) & tournois semi-auto.
  3. [ ] Régulation Automatique : malus ou TP Battle Royale si une guilde gagne trop de PR (pour éviter de rouler sur le serveur) / à voir si d'autres idées
  4. [ ] Quand on tue un joueur (par exemple un troll) sur la map 51 (avalon) uniquement, on récupère 2 objets : sang de troll + tête de NomDuJoueur (à faire avec toutes les races)

- [ ] Événements Dynamiques Thidranki :

  1. [ ] Déclenchement de patrouilles de gardes et mini-bosses mobiles en fonction de l'activité (kills/population).
  2. [ ] Pop rare d'un Dragon (Boss mondial) au centre de Thidranki pour forcer la coopération ou le chaos entre les royaumes.
  3. [ ] Thidranki Inversé (Mode Horde/Défense) : Les joueurs occupent le fort central et doivent repousser des vagues successives de centaines de soldats (PNJs/Bots) assaillants.

- [ ] Sécurité & RP (Modération Dynamique) :

  1. [ ] Système Anti-Insultes : Si un joueur profère des insultes (3 fois), il reçoit des avertissements des gardes à proximité. Au-delà, les gardes perdent patience et viennent l'éliminer.

- [ ] Créateurs de Contenus (CCP) : Récompenser les joueurs postant sur YouTube/TikTok par des cosmétiques. Workflow Make.com pour post auto et reward in-game. - [ ] Équipe Animation Joueur : Animateurs (ex: Thorkal) avec avantages de statuts (titres, capes) sans farm pour encadrer et créer du jeu. - [ ] Nouveautés Gameplay (Long Terme) :

  1. [ ] Bounty Board : Panneau de primes quotidiennes (3 cibles aléatoires/jour) avec monnaie dédiée.
  2. [ ] Météo Dynamique : Impacts sur le gameplay (Brouillard = -portée, Orage = +dégâts foudre).
  3. [ ] Restauration de Hameaux : Apporter des matériaux de craft pour “réparer” les villages d'Avalon et débloquer des services.
  4. [ ] Mercenaires Solo : Location d'un bot PNJ d'appoint (Mimic bridé) pour aider au leveling PvE.
  5. [ ] Fragments d'Artéfacts : Combiner des loots rares pour créer des objets avec pouvoirs actifs.
  6. [ ] GvG Avalon : Possibilité pour les guildes de revendiquer des camps/tours sur la map 51 pour des bonus passifs.
  7. [ ] Hauts Faits & Auras : Débloquer des auras visuelles permanentes via des exploits (Kills, Exploration).
  8. [ ] Paris d'Arène : Système de paris en or sur les vainqueurs des tournois et duels.

- [ ] Immersion & Monde Vivant :

  1. [ ] Barks & Emotes Bots : Système de phrases de combat (“Bark”) et emotes automatiques lors des victoires/défaites pour rendre les bots plus organiques.
  2. [ ] Réflexion globale : Comment rendre le monde plus vivant ? (PNJs d'ambiance, interactions aléatoires, sons d'ambiance, scripts de vie quotidienne).

## 🔮 4. Vision Futuriste & Projets IA (Très Long Terme) *Outils d'exploitation surpuissants et révolutions graphiques/gameplay.*

  1. [ ] Tester le pack de textures 'DAOC Camelot Unfunded' pour la production de contenu vidéo de haute qualité.

- [ ] Usine à Agents IA (Wiki/Dev/Discord) :

  1. [ ] Un agent écoute Discord (Requêtes joueurs / doutes stats).
  2. [ ] Il consulte l'Agent Wiki (nourri de l'offi) et l'Agent Logs pour confronter les stats.
  3. [ ] L'Agent Ticket convertit la conclusion en TODO assignée à l'Agent de Développement.
  4. [ ] L'Agent Test valide le fix, met à jour le Wiki et notifie le joueur.

- [ ] Extensions Thématiques Saisonnières (Tous les 3 mois) :

  1. [ ] *Flying Age Of Camelot / LOTR* : Montures volantes, tir du dragon (bolt eldritch), système d'Anneau Unique (Invisibilité, raid 20 ou 40 selon le pouvoir). Modèles Sauron/Nazghuls. Créer un patch client pour les musiques d'ambiance (ex: Thème de l'Isengard qui se déclenche à l'entrée de la map).
  2. [ ] *Saison Dune.*

- [ ] Mécaniques Dynamiques Globales : Maps débloquées en fonction de la population ou du karma. - [ ] Rénovation Technique Ultime : Etudier la viabilité du portage sous Unreal Engine.

— *(Note récurrente : Penser éventuellement à un serveur de Test séparé pour implémenter ces feature et faire du “Bug Bounty”)*

serveur/todo.1778501187.txt.gz · Last modified: by guillaume.marques

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki