aslain.dev
0%
← Tüm makaleler

Een Metin2 PvP-server opzetten vanaf nul (gids 2026)

Je eigen Metin2 PvP-server opzetten lijkt in het begin overweldigend: een C++ game-core, een MySQL-database, een Lua-questsysteem en een aparte client… Maar zodra de logica klikt, valt alles op zijn plaats. In deze gids loop ik stap voor stap door hoe je een Metin2-server tot leven brengt, op basis van het bouwen van mijn eigen PvP-server, Runa2.

Wat heb je nodig voor een Metin2 PvP-server?

  • Een server (VPS of dedicated) — de Metin2-core draait klassiek op FreeBSD. Om te beginnen zijn 2 vCPU's en 4 GB RAM genoeg; schaal op naarmate je spelersaantal groeit.
  • MySQL/MariaDB — accounts, personages, items en logs staan hier.
  • De serverbestanden — de auth-, db- en game-cores plus hun configuratiebestanden.
  • Een client — de spelbestanden die spelers downloaden, met een interface op basis van Python 2.7.
  • Basiskennis van Linux/FreeBSD — SSH, bestandsrechten en buildtools.

De structuur van de serverbestanden

Een Metin2-server is niet één programma; het zijn meerdere cores die samenwerken:

  • auth — login en accountverificatie.
  • db — de brug tussen de database en het spel; beheert personage- en itemdata.
  • game (ch1, ch2…) — de kanalen waar de eigenlijke spellogica draait. PvP, NPC's, maps en quests zitten hier.

Deze cores praten via poorten met elkaar, dus de IP- en poortinstellingen in elk CONFIG-bestand moeten consistent zijn.

Stapsgewijze installatie

  1. Bereid het systeem voor. Werk FreeBSD bij en installeer de pakketten die nodig zijn om te bouwen. Een aparte gebruiker aanmaken in plaats van de cores als root draaien is een goede gewoonte.
  2. Installeer MySQL en importeer de database. Importeer de meegeleverde .sql-dumps (account, player, common, log):
    mysql -u root -p account < account.sql
    mysql -u root -p player  < player.sql
  3. Bouw of start de cores. Heb je de broncode, compileer dan met gmake; gebruik je kant-en-klare binaries, stel dan rechten in en start in volgorde: dbauthgame. Belangrijk: Metin2-cores zijn 32-bit; op 64-bit FreeBSD compileer je in een 32-bit jail/VM en verplaats je de binaries naar je server. Compileer ook je Lua-quests met de qc-compiler.
  4. Pas de configuratie aan. Zet in het CONFIG van elke core het server-IP, de poorten en de databasegegevens. Een verkeerde poort is oorzaak nummer één van de fout "server niet zichtbaar in de lijst".
  5. Verbind de client. Zet het IP en de poort van je server in de serverinfo.py van de client. De client verbindt nu met je eigen server.

PvP-balans: een 55–120-server instellen

Wat een PvP-server bijzonder maakt, is niet de technische installatie maar de balans. Ik ontwierp Runa2 voor het niveaubereik 55–120. Let op:

  • Ervaring (EXP) rates — hoog genoeg om snel het PvP-niveau te bereiken, maar gebalanceerd genoeg om het spel betekenisvol te houden.
  • Item- en skillwaarden — stem aanval/verdediging af door op klassebalans te testen. Als één klasse domineert, sterft de server snel.
  • Sturen via quests — gebruik het Lua-questsysteem om spelers naar de juiste uitrusting te leiden.

Voor de lancering: beveiliging en prestaties

  • Gebruik sterke databasewachtwoorden en een firewall die alleen de nodige poorten opent.
  • Maak regelmatig back-ups — een cron-job die personage- en accounttabellen automatisch back-upt.
  • Controleer je MySQL-indexen; trage queries kunnen de server op drukke momenten vastzetten.
  • Houd logs aan tegen aanvallen (DDoS, item-dupe) en let op afwijkend gedrag.

Veelgestelde vragen

Moet ik kunnen programmeren om een Metin2 PvP-server op te zetten?

Voor de basisinstallatie volstaat kennis van Linux/FreeBSD-commando's. Maar Lua en wat C++ kennen om quests te schrijven, items toe te voegen of te balanceren maakt je onafhankelijk.

Welk besturingssysteem heb ik nodig?

FreeBSD wordt traditioneel gebruikt omdat de cores ervoor zijn gecompileerd. Moderne distributies kunnen werken, maar FreeBSD is de meest compatibele keuze.

Hoeveel spelers aan de server aan?

Dat hangt af van hardware en optimalisatie. Met een goed geïndexeerde MySQL en enkele kanalen draagt een middelgrote VPS makkelijk honderden gelijktijdige spelers.

Wil je je eigen game lanceren? Van Metin2-serverinstallatie tot balans en Discord-bot-integratie kan ik helpen — neem contact op.

Devamı için