Mod réaliste de sol et d'engrais pour Farming Simulator 25
Ajoute une profondeur significative à l’agriculture sans une complexité écrasante. Chaque champ a sa propre santé du sol – azote, phosphore, potassium, matière organique et pH – qui change en fonction de ce que vous cultivez, de ce que vous appliquez et des conditions météorologiques. Ignorez votre sol et les rendements en souffriront. Gérez-le bien et votre ferme fonctionnera plus efficacement.
NUTRIMENTS DU SOL
Chaque champ suit indépendamment cinq valeurs :
- Azote (N) — s'épuise fortement dans la plupart des cultures, en particulier le maïs et le blé.
- Phosphore (P) — s'épuise plus lentement, ce qui est le plus important pour les plantes-racines
- Potassium (K) — perdu en grande quantité lors de récoltes à haut rendement
- Matière Organique (MO) — améliore la fertilité à long terme ; le fumier et le compost l'accumulent
- pH — affecte la façon dont les nutriments sont absorbés ; la chaux et le gypse l'ajustent
Les cultures extraient différentes quantités de chaque nutriment. Les champs en jachère se rétablissent lentement d’eux-mêmes.
TYPES D'ENGRAIS
Le mod reconnaît tous les principaux types d'engrais utilisés dans le jeu de base et les mods courants :
Synthétique :
- Engrais liquide — N/P/K équilibré, absorption rapide
- Engrais solide — phosphore plus élevé, coût standard
- Digestat – sous-produit du biogaz, forte teneur en azote et en potassium
Biologique :
- Fumier — à libération lente, construit de la matière organique
- Bouillie — liquide organique, riche en potassium
- Compost – excellent apport en matière organique
- Biosolides – bonne option biologique globale
- Fumier de poulet — nutriments concentrés, construit de la matière organique
- Fumier granulé — traité pour une application plus facile
Gestion du pH :
- Chaux – augmente considérablement le pH
- Chaux liquide – légèrement plus douce que la chaux sèche
- Gypse — stabilise le pH, améliore la structure du sol
Chaque type présente des profils nutritionnels réalistes avec des taux d'application appropriés en unités métriques ou impériales.
CONTRÔLE DU DÉBIT DE PULVÉRISATION
Contrôlez exactement la quantité d'engrais que vous appliquez par passage :
- Les raccourcis clavier Rate Up / Rate Down vous permettent de régler à la volée lorsque vous êtes dans la cabine
- Le mode Auto-Rate définit automatiquement le taux d'application en fonction de l'épuisement du champ : les déficits importants augmentent, les sols sains diminuent.
- Le tarif persiste par véhicule afin que vous ne perdiez pas votre réglage à votre sortie
ATH
Un panneau de sol en temps réel montre en un coup d'œil les niveaux de nutriments actuels du champ :
- 6 préréglages de position (en haut à droite, en haut à gauche, en bas à droite, en bas à gauche, au centre à droite ou personnalisé)
- La position personnalisée peut être déplacée : placez-la exactement là où vous le souhaitez
- 4 thèmes de couleurs : Vert, Bleu, Ambre, Mono
- 3 tailles de police
- 5 niveaux de transparence
- Mode compact pour les écrans plus petits
- Activer/désactiver le HUD avec une combinaison de touches
- Tous les paramètres du HUD sont par joueur et n'affectent pas les autres joueurs en multijoueur
Un rapport de sol complet est également disponible via la liaison clavier, montrant une répartition détaillée du champ actuel.
PARAMÈTRES
Tous les paramètres se trouvent dans le jeu sous Sol et engrais dans le menu du jeu. En multijoueur, les paramètres de jeu sont contrôlés par l'administrateur. Les paramètres du HUD/affichage sont toujours par joueur.
Systèmes commutables :
- Système de fertilité (activer/désactiver tout le mod)
- Cycles de nutriments
- Coûts des engrais
- Effets saisonniers (le comportement de l'azote change selon la saison)
- Effets de la pluie (la pluie provoque le lessivage des nutriments)
- Bonus de labour (le labour améliore la santé des sols)
- Contrôle automatique du taux
- Notifications (avertissements de faibles nutriments)
Niveaux de difficulté :
- Simple : épuisement réduit, coûts réduits, plus indulgent
- Réaliste : taux standard équilibrés (par défaut)
- Hardcore : épuisement rapide, coûts plus élevés, pas de place à la négligence
Unités : Basculez entre le système métrique (kg/ha) et le système impérial (lb/ac) par joueur.
COMPATIBILITÉ AVEC L'AGRICULTURE DE PRÉCISION
Si le DLC officiel Precision Farming est actif, ce mod passe automatiquement en mode lecture seule. Il n’interfère pas avec les données PF du sol – il se contente d’observer. Aucun conflit.
MULTIJOUEUR
Entièrement pris en charge. Le serveur contrôle les paramètres de jeu. Chaque joueur contrôle ses propres préférences HUD. Les données de sol sur le terrain sont synchronisées avec tous les clients. Les nouveaux joueurs rejoignant la mi-session reçoivent automatiquement une synchronisation complète de leur état.
COMMANDES DE LA CONSOLE
Tapez earthfertility dans la console du développeur (touche tilde) pour voir toutes les commandes. Les clés :
fertilité du sol — afficher toutes les commandes disponibles
SoilEnable / SoilDisable – activez le mod
SoilSetDifficulty 1/2/3 — définir la difficulté
SoilFieldInfo <fieldId> — affiche les données de sol pour un champ spécifique
SoilShowSettings — affiche les paramètres actuels
SoilResetSettings - réinitialiser tout aux valeurs par défaut
SoilSaveData — force la sauvegarde des données du sol sur le disque
SoilDebug – activer la journalisation du débogage
COMPATIBILITÉ
- Fonctionne avec toutes les cartes
- Fonctionne avec tous les véhicules et pulvérisateurs
- Compatible avec les mods de rotation des cultures
- Aucun conflit connu avec d'autres mods
- Compatible avec les sauvegardes : les sauvegardes existantes se chargent normalement
INSTALLATION
Extrayez le zip dans votre dossier mods. Configurez dans le jeu sous Sol et engrais dans le menu des paramètres. Aucune étape supplémentaire requise.
====================================================================
Dépôt GitHub :
https://github.com/TheCodingDad-TisonK/FS25_SoilFertilizer
====================================================================
AVIS DE COPYRIGHT :Tous droits réservés. Redistribution, copie,
toute modification ou revendication de ce mod comme étant le vôtre est strictement interdite.
Auteur original : TisonK
====================================================================
Les changements de fertilité des sols étaient calculés indépendamment sur chaque machine en multijoueur, provoquant une désynchronisation des champs entre l'hôte et les autres joueurs au fil du temps. Ce correctif garantit que seul le serveur exécute les calculs.
Ce qui est corrigé :
- Les effets de récolte, de labour, de météo et de propriété des champs s'appliquent désormais uniquement sur le serveur et se synchronisent correctement avec tous les joueurs.
- Fini la désynchronisation de la fertilité en multijoueur ou sur serveurs dédiés
Aucune migration de sauvegarde n’est nécessaire.
NOUVELLES FONCTIONNALITÉS :
- Contrôle automatique du débit (taux variable) : les pulvérisateurs et les épandeurs peuvent désormais ajuster automatiquement les taux d'application en fonction des besoins en nutriments du champ. Basculez ce mode avec Left Alt + Z.
- Support Gypse : Un nouveau type d'engrais a été ajouté ! Le gypse aide à stabiliser le pH du sol vers un niveau neutre (7,0) et fournit un subtil coup de pouce à la matière organique (MO) pour améliorer la structure du sol.
- HUD de pulvérisation amélioré : le panneau de débit de pulvérisation comporte désormais un indicateur vert "AUTO" lorsque le contrôle de débit variable est actif et affiche vos cibles nutritionnelles spécifiques (N, P, K, pH ou OM).
AMÉLIORATIONS TECHNIQUES :
- Synchronisation multijoueur : ajout d'événements réseau dédiés pour garantir que le statut de taux automatique est parfaitement synchronisé pour tous les joueurs d'un serveur.
- Mathématiques variables : implémentation d'un système de multiplicateur dynamique qui calcule la "dette nutritionnelle" exacte d'un champ pour éviter une sous-application ou une sur-application en mode automatique.
- Localisation : traductions complètes ajoutées pour Auto-Rate et Gypsum dans toutes les langues prises en charge.
Auparavant, faire glisser le HUD vers une nouvelle position fonctionnait en session, mais la liste déroulante des paramètres de position n'avait aucun moyen de refléter cela – et la sélection d'un préréglage ramènerait le HUD en arrière.
Quoi de neuf :
- Nouvelle option personnalisée dans le paramètre Position HUD
- Faites glisser ou redimensionnez le HUD dans le jeu → le paramètre passe automatiquement à Personnalisé
- Votre position personnalisée est enregistrée et restaurée à chaque rechargement
- La sélection d'un préréglage dans la liste déroulante accroche toujours le HUD à cette position comme auparavant
Aucune migration de sauvegarde n'est nécessaire : les sauvegardes existantes fonctionnent telles quelles.
La position, l'échelle et la visibilité du Soil HUD étaient perdues à chaque fois que vous rechargeiez votre sauvegarde. Le HUD reviendrait à sa position par défaut et réapparaîtrait même si vous l'aviez masqué avec la touche J.
Ce qui est corrigé :
- La position et l'échelle du HUD sont désormais enregistrées à chaque sauvegarde de jeu et à la sortie du jeu
- Le masquage du HUD avec la touche J persiste désormais lors des rechargements
Aucune migration de sauvegarde n’est nécessaire.
Deux bugs provoquaient discrètement des résultats erronés lors de l'application d'engrais et du suivi des cultures, sans erreur évidente dans le jeu. Cette mise à jour garantit que votre travail sur le terrain est réellement pris en compte.
Ce qui est corrigé :
- Les épandeurs d'engrais sec (fumier granulé, etc.) mettent désormais correctement à jour les valeurs de votre sol - auparavant, le mod échouait silencieusement dans l'enregistrement de l'application.
- La détection des cultures reflète désormais toujours ce qui pousse actuellement dans un champ, et non ce qui s'y trouvait la saison dernière.
Aucune migration de sauvegarde n'est nécessaire : les sauvegardes existantes se chargent normalement.
Le HUD et le rapport sur les sols montraient toujours la dernière récolte récoltée au lieu de ce qui pousse actuellement dans le champ. Plantez du blé après le maïs et les deux panneaux indiquaient toujours "Maïs" - c'est maintenant corrigé.
Ce qui est corrigé :
- Le HUD et le rapport sur les sols affichent désormais correctement la culture qui pousse actuellement dans le champ. - Les champs en jachère affichent toujours "Jachère" comme prévu.
Aucune migration de sauvegarde n'est nécessaire : les sauvegardes existantes fonctionnent sans modifications.
Journal des modifications complet -> https://github.com/TheCodingDad-TisonK/FS25_SoilFertilizer/releases/tag/v1.1.0.0
v1.0.9.0 -> v1.0.10.0 (mais KM n'autorise pas le numéro 10)
Le HUD a été entièrement reconstruit. Il affiche désormais les données de champ en direct pour le champ sur lequel vous vous trouvez – plus de légende statique qui ne vous dit rien d'utile.
Quoi de neuf :
- Le HUD affiche désormais les niveaux N/P/K, le pH et la matière organique en temps réel pour votre champ actuel, avec des barres d'état codées par couleur (Bon/Faible/Critique).
- Affiche le nom du champ, la culture actuelle et si de l'engrais a été appliqué
- Le HUD est désormais mobile et redimensionnable : cliquez dessus avec le bouton droit pour passer en mode édition, faites glisser pour repositionner, faites glisser un coin pour redimensionner, cliquez à nouveau avec le bouton droit pour enregistrer
- Contrôle du taux d'application d'engrais par véhicule : ajustez la quantité appliquée par chaque pulvérisateur directement depuis la cabine (nouvelles combinaisons de touches)
- Bibliothèque de profils d'engrais étendue avec des types agronomiques réels (urée, DAP, MAP, potasse, dolomite, digestat, etc.)
- Correction d'un crash lors de l'utilisation des liaisons de touches de taux de pulvérisation
- Correction de nouveaux champs commençant avec des valeurs de sol incorrectes (correspond désormais au jeu de base)
Aucune migration de sauvegarde n'est nécessaire : les sauvegardes existantes se chargent normalement.
Le mod affichait des valeurs de sol saines dès le début d'un nouveau jeu, tandis que le jeu de base vous indiquait simultanément que vos champs avaient besoin de chaulage et de fertilisation. Les deux systèmes avaient raison : ils ne partaient tout simplement pas du même endroit. Cette mise à jour corrige cela.
Ce qui est corrigé :
- Les champs démarrent désormais légèrement acides (pH ~ 6,0) et avec des nutriments modérés, correspondant à l'état de départ du jeu de base « a besoin de chaux / a besoin de fertilisation ».
- L'application de chaux ou d'engrais met désormais les deux systèmes en accord en même temps
- Ajout de la licence CC BY-NC-ND 4.0
- README actualisé avec des instructions plus claires et des descriptions de fonctionnalités
Vos sauvegardes existantes ne sont pas affectées. Les champs déjà suivis dans votre sauvegarde conservent leurs valeurs actuelles — seuls les champs nouveaux ou non suivis utilisent les valeurs de départ mises à jour.
- Correction d'un bug silencieux où les champs n'étaient pas suivis correctement.
Les objets de champ FS25 n'exposent pas directement un identifiant de champ numérique - le mod cherchait au mauvais endroit, donc les données de fertilité des champs n'ont jamais été initialisées et les événements de labour ont été silencieusement ignorés.
Ce qui est corrigé :
- La fertilité des champs s'initialise désormais correctement pour tous les champs au chargement du jeu
- Le labour s'enregistre désormais correctement sur le bon champ, appliquant les bonus de matière organique du sol comme prévu
- Aucune migration de sauvegarde nécessaire : les données seront réinitialisées automatiquement
Si vous voyiez des données de fertilité qui n'ont jamais changé, ou des labours qui semblaient n'avoir aucun effet, cette mise à jour
résout les deux problèmes.
[Correctif multijoueur]
Bug 1 - Paramètres verrouillés définitivement sur le serveur dédié :
L'interface utilisateur des paramètres n'a capturé le statut d'administrateur qu'une seule fois (à la première ouverture), gardé par `soilFertilizer_initDone`. Si la base de données utilisateur n'était pas encore remplie lors de la jointure, tous les contrôles restaient désactivés pour la session. Désormais, `updateAdminState()` est appelé à chaque image ouverte afin que le statut d'administrateur soit toujours actuel.
Bug 2 — Les modifications des paramètres du HUD affectaient tous les joueurs :
`hudPosition`, `hudColorTheme`, `hudFontSize`, `hudTransparency`, `hudCompactMode` et `showHUD` ont été acheminés via le serveur et diffusés à chaque client. Déplacer votre HUD a également déplacé le HUD de tous les autres. Ces paramètres sont désormais marqués « localOnly = true » dans le schéma — ils contournent le réseau au niveau des trois couches (envoi client, application/diffusion serveur, réception synchronisée). Chaque joueur contrôle son propre HUD indépendamment, aucun administrateur requis.
Le caractère de coche ✓ (Unicode U+2713 / décimal 10003) a été utilisé dans cinq messages de journal HookManager.lua imprimés lorsque les hooks sont installés au démarrage. La police bitmap de FS25 n'inclut pas ce glyphe - le moteur s'est arrêté lors d'une recherche de caractère manquant à chaque fois que le journal était affiché à l'écran, provoquant un gel notable juste après le chargement du mod.
Les cinq occurrences ont été remplacées par du ASCII simple [OK]. L'avertissement "Caractère '10003' introuvable dans la police de texture" a disparu, tout comme le gel.
Le HUD (touche J) a été reconverti en passant d'un affichage de données en direct par champ à une légende de référence rapide. Les données complètes du champ sont désormais correctement servies par la boîte de dialogue Rapport de sol.
- Correction de l'injection de la page de paramètres qui faisait apparaître les pages de paramètres d'autres mods (Graphiques, Meilleurs contrats, etc.) en blanc/vide lorsque SoilFertilizer était chargé
- Correction d'une erreur d'exécution latente dans le HUD où self:getActionName() était appelé mais la méthode n'existait pas sur SoilHUD
- Ajout de g_fieldManager:getFieldAtWorldPosition() comme recherche de champ principal (niveau 0) — l'API FS25 la plus précise, résolvant les incohérences sur les cartes complexes ou denses
- Ajout d'un code couleur pour N/P/K
- Ajout d'une conversion de chaîne sécurisée pour les identifiants de champ nuls
- Implémentation du modèle RVB (Register-Validate-Bind) approprié avec tous les paramètres requis
- Ajout de la déclaration <actions> manquante dans modDesc.xml
- Implémentation du modèle de détection de champ éprouvé de NPCFavor avec un repli de 500 m
- Ajout d'une variation naturelle du sol (± 10 % de nutriments, ± 0,5 pH, ± 0,5 % de MO) avec semis déterministe
- Ajout d'une protection de sécurité multijoueur - seul le serveur crée des champs, les clients attendent la synchronisation
- Ajout de fonctions de validation de modèle pour tous les types d'éléments
- Mise en cache des modèles pour assurer la cohérence
- Ajout de l'analyse des candidats avec validation avant d'accepter les modèles
- Ajout de la validation post-clonage pour détecter les problèmes structurels
- Le cache se réinitialise lors d'une nouvelle tentative pour gérer les modifications de l'ordre de chargement des mods
- Amélioration des messages d'erreur pour les échecs de modèle de débogage
Cette version corrige des problèmes critiques d'injection et de validation de l'interface graphique qui empêchaient le menu des paramètres d'apparaître de manière fiable. Le mod fonctionne désormais correctement en mode solo et multijoueur, même lorsque d'autres mods sont installés.
- Correction du menu des paramètres n'apparaissant pas dans le jeu
- Correction d'erreurs de paramètres réseau en multijoueur
- Correction des erreurs de chargement du module (NetworkEvents.lua)
Refactorisation de l'architecture et améliorations multijoueurs
Nouveaux modules :
- HookManager — Gestion appropriée du cycle de vie des hooks (installation/désinstallation) pour tous les hooks de jeu
- SettingsSchema — Source unique de vérité pour toutes les définitions de paramètres, réduisant les points de contact pour les nouveaux paramètres d'environ 10 à 1
- Constantes (SoilConstants) — Tous les nombres magiques extraits dans une configuration centralisée (taux de récolte, profils d'engrais, taux de récupération, seuils, timing, multiplicateurs de difficulté)
- Logger (SoilLogger) — Préfixe de journal [SoilFertilizer] cohérent dans tous les fichiers
Multijoueur :
- Ajout de SoilFieldUpdateEvent — synchronisation des données de sol par champ faisant autorité sur le serveur lors de la récolte/fertilisation
- Les données de terrain sont désormais incluses dans l'événement de synchronisation complète pour rejoindre les joueurs
- Logique de nouvelle tentative de synchronisation réseau (3 tentatives, intervalles de 5 secondes) pour les demandes de synchronisation complète
Corrections de bugs :
- Conversion des remplacements de fonctions directes dangereuses (Sprayer.spray, Environment.update) en Utils.appendedFunction pour une meilleure compatibilité avec les mods
- Ajout du nettoyage des données de terrain lors du changement de propriétaire (correctif de fuite de mémoire)
Qualité du code :
- SoilFertilitySystem refactorisé avec des méthodes déléguées propres (onHarvest, onFertilizerApplied, onFieldOwnershipChanged, onEnvironmentUpdate)
- Paramètres simplifiés, Paramètres et SoilSettingsUI en les pilotant à partir du schéma
- Mise à jour du descripteur de version modDesc de 92 à 105
- Ajout d'améliorations de localisation communautaire (PR #9)
- Ajout de 6 fonctions manquantes
- Amélioration de la gestion des erreurs avec pcall()
- Système de journalisation cohérent amélioré
- Ajout de contrôles de sécurité nuls
- Gestion améliorée des hooks pour éviter les doublons
- Ajout de 3 nouveaux paramètres (Effets saisonniers, Effets de pluie et Bonus de labour)
- Initialisation améliorée de l'interface graphique
- Contrôles de compatibilité améliorés
Journal des modifications :
- Correction de la commande `SoilFieldInfo` qui initialise et renvoie désormais correctement les données de terrain
- Amélioration des mises à jour quotidiennes du sol avec effets météo/saison
- Correction d'un petit bug dans l'interface utilisateur des paramètres
Ne fonctionne pas :
- Indicateurs visuels du sol sur la carte (pas encore de changement de couleur)
- Effets sur le rendement des cultures (ne change pas les quantités de récolte)
- Ajustements du coût des engrais (paramètre existant mais non implémenté)
- Usure des équipements due aux conditions du sol
- Effets texture du sol/sable/argile
Prévu :
- Bonus de rotation des cultures - ne donne pas de bonus de rendement pour de bonnes rotations
- Effets des cultures de couverture - ne reconnaît pas les cultures de couverture
- Compactage du sol – à partir d'équipement lourd
- Effets de l'irrigation - sur la disponibilité des nutriments
- Les champs peuvent être analysés, mais donneront des valeurs par défaut pour l'instant
- Precision Farming est désormais correctement détecté et définit le mode lecture seule.
- Onglet Paramètres corrigés (lorsque vous rencontrez des problèmes FS25_WorkerCosts, cela apparaîtra dans le jeu)*
- Initialisation paresseuse ajoutée pour éviter les plantages sur les serveurs/clients.
*Sera bientôt corrigé !
!!! Veuillez lire ceci attentivement !!!
Lorsque le mod est utilisé avec des mods comme Precision Farming, les paramètres ne sont pas disponibles dans le menu pause pour le moment. Vous pouvez le configurer à l'aide de la console. Je travaille sur un correctif approprié pour cela.
Vous pouvez toujours utiliser le mod avec d'autres mods, mais il n'y aura pas d'onglet de paramètres dans le menu pause. Gardez cela à l'esprit.
Il se peut qu'il y ait encore des problèmes, mais je l'ai testé sur ma propre machine et je n'ai reçu aucune erreur après les modifications. C'est pour cette raison que j'ai poussé cette version.
Veuillez créer un problème sur le dépôt GitHub si vous obtenez des erreurs après ce journal des modifications !
- Correction de l'onglet Paramètres se chevauchant avec d'autres mods dans le menu pause
- Correction d'un crash du jeu lors de la mise à jour avant l'analyse des champs
- Correction de l'erreur "table paires () attendue, obtenue nulle" dans SoilFertilitySystem
- Correction de la compatibilité multijoueur et serveur dédié
- Correction des échecs d'injection de l'interface graphique provoquant des problèmes dans le menu des paramètres
- Ajout d'une compatibilité totale avec le mod Precision Farming
- Ajout de la compatibilité du mod Used Tires (interface graphique désactivée, les commandes de la console fonctionnent)
- Ajout du support du serveur dédié avec désactivation automatique de l'interface graphique
- Ajout d'un fichier de configuration pour les options de personnalisation de l'utilisateur
- Ajout de la détection des conflits de mod et du mode de compatibilité automatique
- Ajout du mode console uniquement pour les environnements de serveur
- Espacement GUI amélioré pour éviter les chevauchements avec d'autres mods
- Analyse de terrain améliorée avec aucun contrôle de sécurité
- Gestion des erreurs améliorée dans tout le mod
- Amélioration de la stabilité multijoueur et de la détection serveur/client
- Amélioration des informations de journalisation et de débogage
- Amélioration de la disposition du menu des paramètres et de la persistance des boutons
- FieldData assuré s'initialise toujours en tant que table (pas nul)
- Modification de l'ordre d'initialisation pour éviter les mises à jour prématurées
- Modification de l'injection GUI pour éviter les conflits avec d'autres mods
- Correction d'un problème majeur avec l'écran de la boutique et la carte du jeu
- Paramètres temporairement désactivés via le menu pause en raison de conflits en cours
- Ajout de la compatibilité pour l'agriculture de précision
- Garantit que `self.fieldData` est toujours initialisé en tant que table (et non `nil`)
- Ajout de la vérification de type avant d'utiliser `pairs()` pour itérer
- Ajout d'une journalisation des erreurs améliorée pour le débogage
- Correction d'un crash du jeu lorsque le mod tentait de se mettre à jour avant que les champs ne soient analysés