De dag van een Metin2 server launch is het moment waarop maanden voorbereiding in één nacht worden getest. Zodra de eerste paar honderd spelers tegelijk proberen te registreren, in te loggen en te spelen, kan zelfs het kleinste detail dat je over het hoofd zag uitlopen op een crisis: het registratieformulier crasht, het betaalsysteem schrijft geen yang bij, de eerste metin-steen dropt het verkeerde item, of de game core sterft tijdens de allereerste guild war. In deze gids heb ik elk systeem dat je vóór de opening moet doorlopen verzameld als een geordende checklist. Het doel: van de launch-nacht een routinematige inspectieronde maken in plaats van een verrassing.
Serverinfrastructuur en processen
Voor alles moet je zeker weten dat de machine overeind blijft. Launch-belasting betekent vele malen meer verbindingen dan een normale testdag. Wat te controleren:
- Starten de auth-, db-, game- en channel-processen in volgorde en zonder fouten? Er mag geen enkele
SYSERR-regel in de startlogs achterblijven. - Als je meerdere channels draait, controleer dan de poort- en core-mapping van elk. Een verkeerde mapping dumpt spelers in een leeg channel.
- Hoe gedragen CPU en RAM zich op één channel onder 100-200 nep-/testverbindingen? Volg met
topofhtop. - Automatische herstart: zorg voor een watchdog (een simpele bash-lus of een systemd-service) die de game core weer opstart als hij crasht.
# Controleer of de processen echt draaien
ps aux | grep -E "auth|db|game" | grep -v grep
# Controleer de luisterende poorten
netstat -tlnp 2>/dev/null | grep -E "1100[0-9]|net"
Registratie, login en accountbeveiliging
De registratiepagina is het eerste contact van een speler met jou; een fout daar betekent ter plekke een verloren speler. Loop vóór de opening de hele aanmeldflow van begin tot eind door in een echte browser:
- Werken het aanmaken van een nieuw account, e-mailverificatie (indien aanwezig) en de eerste login soepel?
- Worden wachtwoorden gehasht opgeslagen, niet in platte tekst in de database? Gebruik een moderne
password_hash(); het oudemysql_passwordalleen is onvoldoende bescherming. - Is het registratieformulier beschermd tegen pogingen tot SQL-injectie en XSS? Zorg dat je prepared queries gebruikt.
- Is er een eenvoudige rate limit of captcha tegen bots die binnen seconden honderden accounts vanaf hetzelfde IP openen?
Betaal- en cash shop-systeem
De meeste servers openen hun inkomstenbron op de launch-avond. Een bug hier verbrandt zowel vertrouwen als geld. Speel bij het testen zowel geslaagde als mislukte scenario's:
- Schrijft de callback/webhook van de betaalprovider het juiste bedrag cash/coin bij op het juiste account?
- Als dezelfde betaalmelding twee keer binnenkomt, voorkomt het systeem dan een dubbele bijschrijving? (Idempotentie — verwerk elk transactie-id maar één keer.)
- Zijn de stappen van een item kopen in de cash shop, het in de inventory afleveren en het van het cash-saldo afschrijven allemaal consistent?
- Bij een mislukte betaling mag de speler geen item krijgen, maar mag het saldo ook niet verlaagd worden.
Doe indien mogelijk een kleine testtransactie met echt geld en verifieer de end-to-end flow één keer met eigen ogen.
Items, drops en economisch evenwicht
De launch-economie laat in de eerste weken een blijvende afdruk achter. Een te gulle drop of een kapotte bonus kan de economie onomkeerbaar opblazen. Controleer:
- Zijn item_proto en mob_proto consistent? Een ontbrekende vnum, een verkeerde anti-flag of een foutieve bonusdefinitie kan de game core laten crashen.
- Droppen de droptabellen van metin-stenen, bosses en grandbosses de items die je verwacht tegen de percentages die je verwacht? Breek een paar metins en observeer.
- Zijn yang- en item-duplicatie (dupe)-exploits gesloten? Stress vooral handel, market/offline shop en mail-systemen.
- Komen de EXP-, drop- en yang-multipliers (
CONFIGen bijbehorende instellingen) exact overeen met de waarden die je adverteerde? Spelers merken dit op dag één.
PvP, systemen en quests
Het hart van een Metin2-server is zijn PvP en systemen. Test vóór de opening elke prominente mechaniek met een live character:
- Skill-balans: geen enkele klasse one-shot anderen of is volledig nutteloos. Laat een paar verschillende klassen tegen elkaar uitkomen.
- Guild war en arena: crasht het onder een menigte? Dit is meestal waar de eerste grote crash gebeurt.
- Actieve systemen (kostuum, mount, pet, alchemie, riem, switchbot enz.): opent en werkt elk afzonderlijk?
- Leveling en starterquests: kan een vers character vanaf nul door een speelbare flow vorderen? Werken dialogen, beloningen en quest timers?
Back-ups, beveiliging en monitoring
Dit is de meest verwaarloosde maar meest kritieke stap vóór de launch. Als er op dag één iets misgaat, heb je een punt nodig waarnaar je kunt terugrollen.
- Is een automatische MySQL-back-up ingesteld en draait die echt? Instellen alleen is niet genoeg; test dat je een back-up kunt herstellen.
- Zijn DDoS-bescherming en een firewall (bijv.
iptables-regels) actief? De launch-dag is een aanvalsmagneet. - Is SSH-toegang op sleutel gebaseerd met root-wachtwoordlogin uitgeschakeld?
- Staat op de launch-avond een terminal klaar om
syserr.txtensyslog.txtlive te volgen? Je wilt een probleem zien zodra het in de log verschijnt.
# Koppel de back-up aan een geplande taak (voorbeeld)
mysqldump -u root -p --single-transaction player account > backup_$(date +%F).sql
# Volg de logs live op de launch-avond
tail -f syserr.txt syslog.txt
Veelgestelde vragen
Hoe lang vóór de launch moet ik een testserver openen?
Idealiter open je minstens een week vóór de launch een gesloten beta-/testserver en simuleer je echte omstandigheden met een paar vertrouwde spelers. Zonder stresstest betekent een systeem dat met één speler werkt niet dat het onder launch-belasting standhoudt.
Welk systeem crasht het vaakst bij de launch?
Naar mijn ervaring gebeuren de eerste grote crashes meestal op twee plekken: het zware registratie-/loginverkeer dat in één keer binnenkomt, en de eerste drukke guild war/arena. Live gaan zonder beide met een echte menigte te simuleren is riskant.
Kan ik drop- en multiplier-instellingen later wijzigen?
Technisch ja, maar instellingen die de economie raken (yang, drop, EXP) na de launch verlagen leidt tot een grote reactie van spelers. Kies daarom je launch-waarden van het begin af aan zorgvuldig; ze later verhogen is altijd makkelijker dan verlagen.
Bereid je je voor op een launch, dan kan ik je helpen elk systeem van je server vóór livegang te auditen en de kritieke gaten te dichten. Voor Metin2 server-installatie, stabiliteit en een launch-checklist, neem contact met me op.