aslain.dev
0%
01 Hizmetler 02 Hakkımda 03 Projeler 04 Stack 05 Blog 06 İletişim
← Tüm makaleler Metin2

Liste des commandes GM Metin2 et niveaux d'autorité

Quand on administre un serveur Metin2, l'outil qui facilite le plus la vie reste les commandes que l'on tape dans la fenêtre de chat. Les commandes GM Metin2 permettent de presque tout faire en une seule ligne : distribuer des objets, faire apparaître des monstres, téléporter des joueurs ou recharger les fichiers proto. Mais ce pouvoir peut détruire votre économie entre de mauvaises mains ; apprendre les commandes compte donc autant que configurer correctement les autorisations. Dans ce guide, je présente les commandes les plus courantes, les niveaux d'autorité et comment accorder les droits GM à un compte en toute sécurité.

Comment fonctionnent les commandes GM

Dans le code source standard d'un serveur Metin2, les commandes sont enregistrées dans une table à l'intérieur du cœur du jeu (le processus game). Lorsqu'un joueur tape un texte commençant par / dans le chat, la couche input l'intercepte, résout le nom de la commande et appelle la fonction correspondante. Le point essentiel : chaque commande exige un niveau d'autorité minimal précis. Même si un joueur sans droits suffisants tape la commande, le cœur la rejette en silence. Conceptuellement, la table des commandes ressemble à ceci :

// logique d'enregistrement dans cmd_general / cmd_gm
{ "item",        do_item,        GM_IMPLEMENTOR },
{ "advance",     do_advance,     GM_HIGH_WIZARD },
{ "notice",      do_notice,      GM_LOW_WIZARD },
{ "warp",        do_warp,        GM_LOW_WIZARD },

Ce n'est donc pas l'existence de la commande qui compte, mais l'autorité du joueur. D'où l'intérêt de bien comprendre les niveaux d'autorité.

Niveaux d'autorité (GM authority)

Dans le code source de Metin2, l'autorité est définie par une énumération dans gm.h. Du plus bas au plus élevé, les paliers sont :

  • GM_PLAYER — joueur normal ; aucune commande GM ne fonctionne.
  • GM_LOW_WIZARD — droits de support limités (annonces, téléportation, etc.).
  • GM_WIZARD — droits d'événement de niveau intermédiaire.
  • GM_HIGH_WIZARD — gestion avancée (montée de niveau, gestion des mobs).
  • GM_GOD — droits quasi illimités.
  • GM_IMPLEMENTOR — le palier le plus élevé ; les commandes dangereuses comme la création d'objets et reload s'y trouvent.

La logique est simple : si une commande exige GM_HIGH_WIZARD, tous ceux à ce niveau et au-dessus peuvent l'utiliser. Accorder à une équipe de support l'autorité la plus basse possible et réserver le palier supérieur à vous-même reste l'approche la plus saine.

Les commandes GM Metin2 les plus courantes

Les commandes ci-dessous existent sur presque tous les serveurs standard. Pour les tests, ne commencez jamais sur le serveur live : essayez-les d'abord dans un environnement de test fermé.

  • /item <vnum> [quantité] — ajoute l'objet du vnum indiqué à votre inventaire.
  • /give <nom> <vnum> [quantité] — donne un objet à un joueur cible.
  • /mob <vnum> — fait apparaître un seul monstre à votre position.
  • /group <vnum> — fait apparaître un groupe de monstres (une meute).
  • /purge — supprime de la carte le PNJ ou le mob que vous ciblez.
  • /advance <nom> <niveau> — fait monter un joueur au niveau souhaité.
  • /transfer <nom> — téléporte un joueur jusqu'à vous.
  • /warp <x> <y> — vous téléporte aux coordonnées indiquées.
  • /notice <message> — envoie une annonce système jaune à tout le serveur.
  • /restart_here / /restart_town — réapparaître sur place ou en ville à la mort.
  • /reload <drapeau> — recharge la configuration ; par exemple /reload p rafraîchit le proto item/mob.

Un exemple de déroulé : pour récompenser des joueurs pendant un événement, vous sélectionnez d'abord la cible, puis envoyez l'objet :

/notice Un événement commence sur la place centrale dans 30 minutes !
/transfer JoueurGagnant
/give JoueurGagnant 71001 5

La commande /reload est très puissante : elle permet d'appliquer les modifications apportées à item_proto ou mob_proto sans arrêter le serveur. Cela dit, pour de grandes modifications de schéma, un redémarrage complet reste plus sûr.

Accorder les droits GM à un compte

Pour que les commandes fonctionnent, il faut savoir d'où l'autorité est lue. Metin2 charge les droits depuis la table gmlist de la base player. Ajouter une ligne à cette table transforme le compte concerné en GM. Les colonnes typiques sont :

  • mID — la clé primaire.
  • mAccount — le nom de connexion du compte à autoriser.
  • mName — le nom du personnage à autoriser (souvent * pour tous les personnages).
  • mContactIP — une restriction pour que les commandes ne fonctionnent que depuis cette IP.
  • mAuthority — le niveau d'autorité (IMPLEMENTOR, GOD, HIGH_WIZARD ...).

Un exemple d'enregistrement :

INSERT INTO player.gmlist (mAccount, mName, mContactIP, mServerIP, mAuthority)
VALUES ('compteadmin', '*', '85.100.20.10', 'ALL', 'IMPLEMENTOR');

Après avoir ajouté la ligne, vous devez redémarrer le serveur (ou, si votre source le permet, recharger la liste GM) pour que le changement prenne effet. Dans la plupart des configurations, laisser le champ mContactIP vide ouvre la commande depuis n'importe où ; pour la sécurité, indiquez-y votre propre IP fixe.

Sécurité : ne laissez pas fuiter les droits GM

Les commandes GM sont la surface la plus sensible d'un serveur. Une seule fuite de /item peut effondrer toute l'économie. Quelques règles de base :

  • Moindre privilège : donnez à votre équipe de support le niveau le plus bas qui suffit, pas GM_IMPLEMENTOR.
  • Restriction IP : remplissez toujours mContactIP afin qu'un compte volé ne puisse pas exécuter de commandes GM depuis une IP étrangère.
  • Journalisation : Metin2 écrit les commandes GM dans la table command_log de la base log. Examinez ce journal régulièrement ; suivez qui a donné quoi et quand.
  • Compte séparé : ne soyez pas GM sur le personnage avec lequel vous jouez tous les jours ; gardez un compte distinct uniquement pour l'administration.
  • Environnement de test : essayez les nouvelles commandes et les tests de /reload d'abord sur un serveur de test fermé.

En appliquant ces règles, vous profitez de la puissance des commandes tout en réduisant le risque au minimum.

Questions fréquentes

J'ai tapé une commande GM mais rien ne se passe, pourquoi ?

La cause la plus courante est que votre niveau d'autorité est insuffisant ou que votre enregistrement gmlist n'a pas encore été lu. Vérifiez la valeur mAuthority de votre compte et redémarrez le serveur après la modification. De plus, si mContactIP ne correspond pas à l'IP depuis laquelle vous vous connectez, les commandes échouent en silence.

Où trouver la liste complète de toutes les commandes ?

La liste exacte dépend de la source que vous utilisez. La méthode la plus fiable est de lire la table d'enregistrement dans les fichiers cmd.cpp / cmd_general.cpp / cmd_gm.cpp de votre source serveur ; le nom de chaque commande et le niveau d'autorité requis y sont écrits explicitement.

La commande /reload fait-elle planter le serveur ?

Utilisée correctement, non : elle est conçue pour rafraîchir le proto et la configuration. Cependant, l'exécuter avec un item_proto corrompu ou un fichier manquant peut provoquer des erreurs. C'est pourquoi vous devez valider les grandes modifications dans un environnement de test avant de passer en production.

Vous voulez configurer votre serveur Metin2 en toute sécurité ? Si vous avez besoin d'aide sur l'autorité GM, l'infrastructure de logs et la sécurité des commandes, contactez-moi — renforçons ensemble votre serveur.

Bu kategorideki tüm yazılar →

Devamı için