Mettre en place son propre serveur PvP Metin2 semble intimidant au premier abord : un cœur de jeu en C++, une base de données MySQL, un système de quêtes en Lua et un client séparé… Mais une fois la logique comprise, tout s'emboîte. Dans ce guide, j'explique étape par étape comment donner vie à un serveur Metin2, à partir de mon expérience sur mon propre serveur PvP, Runa2.
De quoi avez-vous besoin pour un serveur PvP Metin2 ?
- Un serveur (VPS ou dédié) — le cœur de Metin2 tourne classiquement sous FreeBSD. Pour démarrer, 2 vCPU et 4 Go de RAM suffisent ; on augmente selon le nombre de joueurs.
- MySQL/MariaDB — comptes, personnages, objets et journaux y sont stockés.
- Les fichiers serveur — les cœurs auth, db et game ainsi que leurs fichiers de configuration.
- Un client — les fichiers de jeu que les joueurs téléchargent, avec une interface basée sur Python 2.7.
- Des bases en Linux/FreeBSD — SSH, permissions de fichiers et outils de compilation.
La structure des fichiers serveur
Un serveur Metin2 n'est pas un seul programme ; c'est un ensemble de cœurs qui travaillent ensemble :
- auth — connexion et vérification des comptes.
- db — le pont entre la base de données et le jeu ; il gère les données des personnages et des objets.
- game (ch1, ch2…) — les canaux où s'exécute la logique du jeu. PvP, PNJ, cartes et quêtes s'y trouvent.
Ces cœurs communiquent via des ports : les réglages d'IP et de port de chaque fichier CONFIG doivent donc être cohérents.
Installation étape par étape
- Préparez le système. Mettez FreeBSD à jour et installez les paquets nécessaires à la compilation. Créer un utilisateur dédié plutôt que de lancer les cœurs en root est une bonne habitude.
- Installez MySQL et importez la base. Importez les fichiers
.sqlfournis (account, player, common, log) :mysql -u root -p account < account.sql mysql -u root -p player < player.sql - Compilez ou lancez les cœurs. Avec le code source, compilez via
gmake; avec des binaires prêts, réglez les permissions et démarrez dans l'ordre :db→auth→game. Important : les cœurs Metin2 sont en 32 bits ; sous FreeBSD 64 bits, compilez dans un jail/VM 32 bits puis déplacez les binaires vers votre serveur. Compilez aussi vos quêtes Lua avec le compilateurqc. - Modifiez la configuration. Dans le
CONFIGde chaque cœur, renseignez l'IP du serveur, les ports et les identifiants de base. Un mauvais port est la première cause de l'erreur « serveur absent de la liste ». - Connectez le client. Indiquez l'IP et le port de votre serveur dans le
serverinfo.pydu client. Le client se connecte alors à votre serveur.
Équilibrage PvP : configurer un serveur 55–120
Ce qui rend un serveur PvP spécial, ce n'est pas l'installation technique, mais l'équilibre. J'ai conçu Runa2 pour la tranche de niveaux 55–120. À surveiller :
- Les taux d'expérience (EXP) — assez élevés pour atteindre vite le niveau PvP, mais équilibrés pour ne pas vider le jeu de son sens.
- Les valeurs d'objets et de compétences — ajustez attaque/défense en testant l'équilibre des classes. Si une classe domine, le serveur meurt vite.
- Le guidage par les quêtes — utilisez le système de quêtes en Lua pour orienter le joueur vers le bon équipement.
Avant la mise en ligne : sécurité et performance
- Utilisez des mots de passe forts et un pare-feu qui n'ouvre que les ports nécessaires.
- Faites des sauvegardes régulières — un cron qui sauvegarde automatiquement les tables des personnages et des comptes.
- Vérifiez les index MySQL ; des requêtes lentes peuvent bloquer le serveur aux heures de pointe.
- Gardez les journaux actifs contre les attaques (DDoS, duplication d'objets) et surveillez les comportements anormaux.
Questions fréquentes
Faut-il savoir coder pour monter un serveur PvP Metin2 ?
Pour l'installation de base, connaître les commandes Linux/FreeBSD suffit. Mais maîtriser le Lua et un peu de C++ pour écrire des quêtes, ajouter des objets ou équilibrer vous rend autonome.
Quel système d'exploitation faut-il ?
FreeBSD est traditionnellement utilisé car les cœurs y sont compilés. Les distributions modernes sont possibles, mais FreeBSD reste le choix le plus compatible.
Combien de joueurs le serveur supporte-t-il ?
Cela dépend du matériel et de l'optimisation. Avec un MySQL bien indexé et plusieurs canaux, un VPS de taille moyenne supporte facilement des centaines de joueurs simultanés.
Vous voulez lancer votre propre jeu ? De l'installation d'un serveur Metin2 à l'équilibrage et à l'intégration d'un bot Discord, je peux vous aider — contactez-moi.