# Configuration Documentation Ce dossier contient toute la documentation relative à la configuration du système Warfactory. ## Fichiers de Configuration ### `transport-economic-system.md` **Points 251-290 - Configuration Parameters** Configuration économique complète avec paramètres JSON : #### Transport Configuration - Coûts par mode de transport (ship/train/air/truck) - Seuils de volume et temps de livraison - Optimisation multi-modale #### Storage Configuration - Coûts de stockage (€0.02/kg/day) - Seuils d'inventaire (urgent/normal/oversupplied) - Capacités maximales #### Market Configuration - Phases économiques (6h cycles) - Multiplicateurs de rareté - Limites de coûts de transport #### Infrastructure Configuration - Coûts de construction (rail/port/airport) - Périodes de retour sur investissement (max 15 ans) - Déclencheurs d'investissement #### Economic Complexity Configuration (Point 31) **Progressive Sophistication - 5 Phases configurables :** - **Phase 1** : Basic transport cost differences - **Phase 2** : Order stacking and volume optimization - **Phase 3** : Trading companies and arbitrage - **Phase 4** : Infrastructure investment and regional development - **Phase 5** : Complex economic simulation (Victoria 3-level) **Configuration JSON-driven :** ```json { "complexity_level": "basic|intermediate|advanced|victoria3", "enabled_modules": ["population", "market", "money", "trade", "policy"], "simulation_frequency": "daily|hourly|realtime", "economic_phases": { "phase_1": { "enabled": true, "transport_costs": true }, "phase_2": { "enabled": false, "order_stacking": false }, "phase_3": { "enabled": false, "trading_companies": false }, "phase_4": { "enabled": false, "infrastructure_roi": false }, "phase_5": { "enabled": false, "victoria3_complexity": false } } } ``` **Victoria 3-Level Modules (Phase 5) :** - **PopulationModule** : Demographics (Workers/Engineers/Managers classes) - **MarketModule** : Supply/demand dynamics, price discovery - **MoneyModule** : Currency, inflation, banking systems - **TradeModule** : International commerce, tariffs, trade agreements - **PolicyModule** : Government intervention, taxation, regulation #### Mode-Based Security Configuration (Point 32) **Sécurité adaptative selon contexte d'usage :** **Configuration JSON-driven :** ```json { "security_mode": "dev|solo|multiplayer", "dev_mode": { "unrestricted_access": true, "debug_tools_enabled": true, "hot_reload_validation": false, "modding_allowed": true }, "solo_mode": { "modding_allowed": true, "local_authority": true, "config_modification": true, "network_validation": false }, "multiplayer_mode": { "server_authority": true, "anti_cheat_active": true, "strict_validation": true, "zero_tolerance": true } } ``` **Mode Security Levels :** - **Dev Mode (Unrestricted)** : Full access, debug tools, hot-reload sans restriction - **Solo Mode (Modding)** : Player modifications autorisées, local authority, config freedom - **Multiplayer Mode (Authoritative)** : Server authority strict, anti-cheat complet, validation totale **Architecture adaptative :** ```cpp enum SecurityMode { DEV_MODE, SOLO_MODE, MULTIPLAYER_MODE }; class SecurityManager { void configureMode(SecurityMode mode); // Adaptive security enforcement }; ``` ### `module-configuration.md` **Configuration Système Modulaire** Configuration des modules et systèmes de dépendances : #### Smart Dependencies (Point 33) **Dependency graphs avec recalculation intelligente :** ```cpp class ConfigDependencyGraph { // Mapping ConfigKey → ComponentID avec dépendances std::map> dependencies = { {"materials.steel_plating.weight", {tank_mk1, tank_mk2, heavy_tank}}, {"materials.steel_plating.cost", {economy_steel, factory_line_2}}, {"weapons.cannon_75mm.damage", {tank_mk1, artillery_piece}} }; void onConfigChange(ConfigKey key, json newValue) { auto affected = dependencies[key]; for(auto component : affected) { component.recalculate(key, newValue); markForUpdate(component); } } }; ``` **Intelligent Propagation Flow :** ``` Config Change → Dependency Resolution → Background Recalculation → Live Update ``` **Example concret :** - **Change** : `steel_plating.weight = 15.0` (au lieu de 10.0) - **Affected** : `tank_mk1`, `tank_mk2`, `heavy_tank` automatiquement détectés - **Recalculation** : Weight/performance tous tanks recalculés en background - **Live Update** : Changes instantanés sans restart ni rebuild #### Module Config Patterns - A/B testing via configuration - Hot-swapping de systèmes - Configuration adaptable par environnement #### Avantages Modulaires - Config changes instantanés (vs restart) - Testing et debugging surgical - Déploiement microservices-like ### `error-handling.md` **Points 291-310 - Error Handling** Gestion complète des erreurs et fiabilité système : #### Engine Crash/Restart - Health check HTTP (30s intervals) - Redis heartbeat monitoring - Recovery automatique avec state restoration #### Redis Failover - Persistence avec snapshots + append-only - Multiple instances (primary/replica) - Message replay après restart #### Anti-cheat & Validation - Server authoritative design - Anti-cheat psychologique (bugs simulés) - Input validation V1/V2 #### Network & Module Failures - Graceful degradation avec cache fallback - Module isolation (pas de cascade) - Timeout handling resilient ### `security-measures.md` **Points 311-330 - Security Measures** Mesures de sécurité complètes et anti-cheat avancé : #### Server Authority - Server contrôle simulation complète - Zero game logic côté client - Mode-based security (dev/solo/multiplayer) #### Anti-cheat System - Anti-cheat psychologique avec bugs simulés - Design-based prevention structurelle - Guerre psychologique contre cheaters #### Client Prediction - V1 Thin Client (server authoritative) - V2 Shared Logic (prediction + validation) - Migration progressive sans réécriture #### Psychological Warfare - Escalation progressive contre cheaters - Retention joueurs légitimes - Stratégies comportementales adaptatives ### `deployment-strategies.md` **Points 331-350 - Deployment Strategies** Stratégies de déploiement et migration progressive : #### Progressive V1→V2 Migration - Migration zero-risk avec A/B testing - Fallback automatique vers V1 - Forward-compatible architecture #### Hot-reload Production - Updates sans downtime en production - State preservation durant updates - Rollback rapide si problème #### A/B Testing Strategies - Testing dynamique via configuration - User segmentation et metrics collection - Gradual expansion 5% → 100% #### Risk Mitigation - Backward compatibility préservée - Progressive enhancement sans régression - Mode-based deployment (dev/staging/prod) ## Intégration Ces paramètres correspondent aux **Points 251-350** de la master integration list et sont prêts pour intégration dans les systèmes de jeu. **Status :** ✅ **SPÉCIFIÉS ET VÉRIFIÉS** **Localisations originales :** - `docs/toCheck/transport-economic-system.md` → Paramètres économiques (251-290) - `docs/toCheck/architecture-modulaire.md` → Configuration modulaire + Anti-cheat (311-330) - `docs/global/architecture-technique.md` → Error handling (291-310) + Server authority (311-330) - `docs/architecture-technique.md` → Client prediction (311-330) + Migration V1→V2 (331-350) - `docs/configuration/` → A/B testing et deployment patterns (331-350) **Points couverts :** 100+ paramètres de configuration, error handling, sécurité et déploiement détaillés