Sur un serveur Metin2, rien ne façonne davantage l'économie et la boucle de jeu que des réglages des drops Metin2 correctement configurés. Quel objet tombe de quel mob, à quel niveau et avec quelle probabilité : tout cela est stocké dans deux fichiers texte principaux, common_drop_item.txt et mob_drop_item.txt. Dans ce guide, je détaille la structure de ces fichiers, le sens des colonnes, le calcul des taux et surtout comment tester vos changements en toute sécurité avant de les mettre en production.
Où se trouvent les fichiers de drop et à quoi servent-ils
Les tables de drop sont des fichiers texte que le core game lit au démarrage. Ils se trouvent généralement sous share/locale/<langue>/ ou dans le répertoire où tourne le core. Quatre fichiers complémentaires existent :
common_drop_item.txt— Une table de drop générique pilotée par la tranche de niveau et le rang du mob. Elle n'est liée à aucun mob précis ; elle pose la règle « tous les monstres autour de ce niveau peuvent lâcher cet objet à ce taux ».mob_drop_item.txt— Des drops propres à un mob. Il fonctionne par groupes et permet de définir plusieurs règles pour un même mob via différents types commekilletdrop.etc_drop_item.txt— Des entrées de probabilité simples et indépendantes du mob pour des objets isolés (par exemple un matériau rare).drop_item_group.txt— Des drops de contenu par groupe : creusage, pêche, coffres.
Beaucoup de débutants tentent d'équilibrer tout via le seul mob_drop_item.txt, alors que gérer le flux général de matériaux et d'argent via common_drop_item.txt est une conception bien plus propre.
common_drop_item.txt : drops génériques par niveau et rang
Dans ce fichier, chaque ligne est une règle d'objet. Une ligne typique contient : niveau de début, niveau de fin, nom de l'objet, vnum de l'objet, quantité, et des colonnes de probabilité par rang de mob (généralement Pawn, S_Pawn, Boss, King dans cet ordre, en pourcentage). Exemple :
# Lev_min Lev_max ItemName Vnum Count Pawn S_Pawn Boss King
1 15 Yang_Coin 1 1 30.0 40.0 60.0 100.0
20 35 Healing_Potion 27002 1 2.5 3.0 5.0 10.0
30 50 Stone_Fragment 30019 1 0.5 0.8 1.5 4.0
La logique est claire : le même objet tombe plus souvent sur les mobs de rang supérieur à mesure que le niveau monte. Comme le nombre et l'ordre des colonnes peuvent varier selon la version du core, vérifiez la disposition d'après l'en-tête et les lignes d'exemple de votre propre fichier ; ajouter une colonne inventée fait ignorer toute la ligne en silence. Utilisez des tirets bas au lieu d'espaces dans les noms d'objets et faites correspondre le vnum exactement à item_proto.
mob_drop_item.txt : groupes, types kill et drop
Ce fichier est composé de groupes délimités par des accolades. Chaque groupe est rattaché à un ou plusieurs mobs et un Type définit son comportement. Les deux types les plus utilisés sont drop et kill.
Avec le type drop, chaque objet a une probabilité indépendante ; à la mort du mob, chaque ligne lance son propre dé, donc plusieurs objets peuvent tomber du même groupe :
Group Wolfman_Drop
{
Mob 2090
Type drop
1 72723 1 30
2 27993 1 5
3 30019 1 1
}
Avec le type kill, la dernière colonne est un poids ; le core répartit ces poids sur leur total et choisit un seul objet par mort (ou aucun). C'est idéal pour distribuer les objets de boss à raison d'« un par kill » :
Group Boss_Kill
{
Mob 1093
Type kill
1 19 1 1000
2 20 1 500
3 25 1 100
}
L'échelle de la colonne de probabilité varie d'un core à l'autre : dans certains fichiers 30 signifie directement 30 %, dans d'autres une échelle plus fine est utilisée. Ne le supposez pas ; vérifiez l'échelle vous-même en vous appuyant sur le taux d'un objet connu du même fichier.
Calculer et équilibrer le taux de drop
On estime grossièrement la quantité d'un objet tombant par heure ainsi : probabilité effective × mobs tués par heure × multiplicateur de drop global. La plupart des fichiers serveur ont un multiplicateur global de taux de drop (dans la configuration du core ou CONFIG). Tenez toujours compte de ce multiplicateur en réglant les valeurs des tables ; sinon un nombre « petit » en apparence détruit le marché en production.
- Rattachez les objets rares au boss concerné avec le type
killplutôt qu'àcommon_drop_item.txt, afin de garder le farm sous contrôle. - Ajustez le flux d'argent et de matériaux de base via
common_drop_item.txt; c'est plus durable que d'éditer les mobs un par un. - Si vous définissez le même objet dans plusieurs fichiers, les taux s'additionnent ; assurez-vous de ne pas dupliquer une entrée par accident.
Charger et tester vos modifications
Les tables de drop sont chargées en mémoire au démarrage du core ; pour qu'un changement prenne effet, il faut donc généralement redémarrer le core game (la commande en jeu /reload recharge les quêtes, pas les fichiers de drop sur la plupart des cores). Un flux de test sûr ressemble à ceci :
- Faites d'abord le changement sur un serveur de test, jamais en production. Éditez le fichier, redémarrez
game. - Faites apparaître en masse le mob cible avec un compte GM (commandes du style
/m <vnum>) et tuez-le des dizaines de fois pour observer de façon statistique. Un seul kill ne prouve rien. - Confirmez que le vnum existe bien en vous donnant l'objet avec
/i <vnum>; un vnum erroné est ignoré en silence. - Surveillez le fichier
syslogdu core ; si un fichier de drop a une erreur d'analyse, vous verrez une ligne d'avertissement au démarrage.
Pendant le test, mettez temporairement le taux à une valeur élevée (par exemple 100 %) pour confirmer que le mécanisme fonctionne, puis redescendez à la vraie valeur équilibrée. Ainsi, vous distinguez si « l'objet ne tombe jamais » est un problème de taux ou une erreur de configuration.
Erreurs fréquentes
- Mauvais séparateur : Les colonnes de ces fichiers sont séparées par des
TAB; utiliser des espaces casse la ligne. Réglez votre éditeur pour afficher les tabulations. - vnum invalide : Un vnum absent de
item_protone lève aucune erreur, il ne tombe simplement jamais. Vérifiez le vnum d'abord. - Oublier de redémarrer : Enregistrer le fichier et dire « ça ne marche pas » est l'erreur la plus courante ; le core utilise encore l'ancienne table.
- Oublier le multiplicateur : Si le multiplicateur de drop global est 5x, 2 % dans la table valent en réalité 10 %.
Questions fréquentes
Quelle est la différence entre common_drop et mob_drop ?
common_drop_item.txt est une table générique pilotée par le niveau et le rang ; elle n'est liée à aucun mob précis. mob_drop_item.txt définit des drops pour des mobs individuels ou des groupes de mobs et offre un contrôle plus fin via les types kill et drop.
J'ai changé le taux de drop mais rien ne tombe, pourquoi ?
Les trois causes les plus probables : vous n'avez pas redémarré le core, vous avez séparé les colonnes par des espaces au lieu de TAB, ou vous avez saisi un vnum inexistant. Vérifiez le syslog et confirmez le vnum en faisant apparaître l'objet avec /i.
Comment tester que les taux sont corrects ?
Tuez le même mob de nombreuses fois avec un compte GM et comptez les objets tombés. Un test ponctuel est trompeur ; il faut au moins quelques centaines de kills pour un résultat statistique. Mettez d'abord le taux à 100 % pour vérifier le mécanisme, puis validez l'équilibre avec la vraie valeur.
Vous voulez construire l'équilibre des drops de votre serveur de zéro ou nettoyer des tables existantes ? Si vous avez besoin d'aide pour l'installation d'un serveur Metin2, les quêtes et les réglages système, contactez-moi — nous pouvons planifier ensemble les tables de drop adaptées à votre économie.