„Spawn” înseamnă apariția unui monstru sau NPC pe hartă. În Metin2, fiecare hartă are câteva fișiere text care spun **ce** apare, **unde**, **câți** și **cât de des** revin după ce sunt omorâți. Cel mai cunoscut e `regen.txt`. Dacă înțelegi un singur rând din el, poți pune un NPC nou în sat, poți adăuga monștri pe o hartă goală sau poți muta un boss.
regen.txt are 11 coloane: tip, X, Y, rază X, rază Y, Z, direcție, timp, procent, număr și VNUM. Copiezi un rând care merge, schimbi coordonatele (luate din joc cu /state), VNUM-ul și timpul, apoi repornești serverul de test.Cuvinte pe care le vei întâlni
| Cuvânt | Ce înseamnă |
|---|---|
| Spawn | Apariția unui monstru sau NPC pe hartă. |
| Respawn | Reapariția după ce a fost omorât. |
| Coordonate locale | Poziția pe hartă, în „metri”, socotită de la colțul hărții. |
| Rază | Cât de departe de punctul ales poate apărea monstrul. |
| Grup | Mai mulți monștri care apar împreună (un lider și însoțitorii lui). |
Unde sunt fișierele
Fiecare hartă are folderul ei. În pachetul verificat, calea e de forma:
share/locale/english/map/metin2_map_a1/(La tine, english poate fi romania, germany sau altul.) În folderul unei hărți găsești, printre altele:
| Fișier | Ce pui de obicei în el |
|---|---|
regen.txt | Monștrii obișnuiți |
npc.txt | NPC-urile (negustori, gardieni, învățători) |
boss.txt | Boși și monștri rari |
stone.txt | Pietrele Metin |
Setting.txt | Mărimea și poziția hărții |
Vestea bună: în sursa verificată, toate patru (regen, npc, boss, stone) au exact același format și sunt citite la fel. Separarea e doar pentru ordine. Un NPC pus în regen.txt ar merge la fel, dar e mai ușor de găsit în npc.txt.
Pasul 1: citește un rând, coloană cu coloană
Iată un rând real din boss.txt al hărții metin2_map_a3 din pachetul verificat:
m 625 870 10 10 0 0 3600s 100 1 591Între valori sunt TAB-uri, nu spații. Pe rând:
| Poziție | Valoare | Ce înseamnă |
|---|---|---|
| 1 | m | Tipul: un monstru (vezi tabelul de tipuri mai jos) |
| 2 | 625 | X, în metri, pe harta respectivă |
| 3 | 870 | Y, în metri |
| 4 | 10 | Raza pe X: poate apărea între 615 și 635 |
| 5 | 10 | Raza pe Y: între 860 și 880 |
| 6 | 0 | Z (de obicei 0) |
| 7 | 0 | Direcția în care privește: 0 = aleatoare, 1–8 = una din 8 direcții |
| 8 | 3600s | Timpul de regenerare: 3600 de secunde, adică o oră |
| 9 | 100 | Procent (vezi mai jos) |
| 10 | 1 | Câți să fie în viață în același timp |
| 11 | 591 | VNUM-ul monstrului (aici, un boss) |
Chiar fișierul npc.txt din pachetul verificat are un rând-comentariu care confirmă ordinea:
//type cx cy sx sy z dir time percent count vnumRândurile care încep cu // sunt comentarii și sunt ignorate.
Timpul
Timpul se scrie cu litere: s = secunde, m = minute, h = ore. Se pot combina: 1h30m. Un rând de NPC tipic are 1m.
Capcană importantă: în sursa verificată, un rând cu timpul 0 nu face spawn deloc. Dacă vrei un NPC care stă mereu acolo, pune un timp mic, de exemplu 1m.
Procentul
Coloana 9 apare peste tot cu 100. În sursa verificată, serverul o citește și o ignoră. Păstreaz-o ca în celelalte rânduri; în alte surse modificate ar putea avea efect.
Tipurile de rând
| Litera | Ce face (în sursa verificată) |
|---|---|
m | Un monstru sau NPC după VNUM, din mob_proto |
g | Un grup din group.txt (VNUM-ul e numărul grupului) |
ga | La fel ca g, dar grupul atacă singur |
r | Un grup ales la întâmplare dintr-o listă din group_group.txt |
s | Un monstru pus oriunde pe hartă, la întâmplare |
e | O „zonă de excepție”; e citită, dar în sursa verificată verificarea ei e dezactivată, deci nu are efect |
Grupurile (g, ga, r) le explicăm în lecția despre group.txt. Rânduri cu ma apar și ele în fișiere, dar în sursa verificată sunt tratate exact ca m.
Atenție: dacă scrii o literă necunoscută la început de rând (de exemplu o greșeală de tipar), serverul verificat se oprește la pornire. Copiază mereu tipul dintr-un rând existent.
Pasul 2: cum funcționează respawnul
E util să știi ce face serverul cu un rând:
- La pornire, pune imediat pe hartă numărul cerut (coloana 10).
- Apoi, la fiecare interval din coloana 8, verifică: „câți mai sunt în viață?” și completează până la numărul cerut.
Deci un boss cu 3600s nu revine exact la o oră după moarte. Revine la următoarea verificare, adică oricând între câteva secunde și o oră după moarte. Și, important: după fiecare restart, bossul apare imediat. Vom folosi asta în lecția despre boss de lume.
Pasul 3: află coordonatele locului dorit
Intră în joc cu GM-ul și mergi exact unde vrei să apară NPC-ul. Scrie în chat:
/stateÎn sursa verificată, comanda îți arată și un text de forma Local Position (602 x 690). Acestea sunt numerele pentru coloanele 2 și 3. Detalii despre coordonate în lecția despre coordonate și hărți.
Pasul 4: adaugă rândul
Exemplu: vrei NPC-ul 20011 (Uriel, în pachetul verificat) în satul hărții metin2_map_a1, la poziția locală 602 × 690, cu fața într-o direcție fixă.
- Fă backup:
cp npc.txt npc.txt.2026-11-02.bak. - Deschide
npc.txtîn Notepad++, cu Show All Characters pornit. - Copiază un rând de NPC existent, lipește-l la final și schimbă doar valorile:
m 602 690 0 0 0 1 1m 100 1 20011Raza 0 0 înseamnă „exact în punctul ăsta”. Direcția 1 îl face să privească mereu în aceeași parte.
- Verifică diferențele:
diff -u npc.txt.2026-11-02.bak npc.txtCe ar trebui să vezi: un singur rând nou, cu + în față.
Pentru monștri pui de obicei o rază mai mare și un număr mai mare. De exemplu, 4 lupi (102) într-o zonă de 30 × 30 metri, verificați la fiecare 60 de secunde:
m 450 520 15 15 0 0 60s 100 4 102Pasul 5: aplică și verifică
În sursa verificată nu am găsit o comandă care să reîncarce fișierele de spawn fără restart, deci repornește serverul de test.
Apoi:
- Uită-te în
syserr. Dacă VNUM-ul nu există, apare un mesaj de formaNo mob data by vnum 20011. - Intră în joc și mergi la coordonate. NPC-ul trebuie să fie acolo.
- Pentru monștri, omoară-i și cronometrează în cât timp revin. Trebuie să fie cel mult intervalul din coloana 8.
Comanda GM /purge șterge monștrii și NPC-urile din jurul tău (la aproximativ 10 metri). Cei puși prin fișierele de spawn revin la următoarea verificare. E utilă ca să testezi respawnul fără să lupți.
Ține minte și asta: o hartă se încarcă doar pe procesele de joc care o au în MAP_ALLOW (vezi CONFIG, porturi și canale). Dacă ai 4 canale, rândul tău apare de 4 ori, câte o dată pe fiecare canal.
Greșeli des întâlnite
| Ce vezi | Cauza probabilă |
|---|---|
| Serverul nu mai pornește după editare | Literă de tip greșită la început de rând |
| NPC-ul nu apare deloc | Timpul e 0, VNUM-ul nu există sau harta nu e în MAP_ALLOW |
| NPC-ul apare în zid sau în apă | Coordonate copiate de pe altă hartă |
| Monștrii nu apar, deși rândul e corect | Zona e blocată (zid, obiect) sau e zonă sigură, ca satul; acolo serverul nu pune monștri |
| Monștrii revin prea des | Intervalul e mic sau ai pus același rând de două ori |
| Rândul e ignorat | Spații în loc de TAB-uri sau ai editat alt folder de locale |
Întrebări frecvente
Care e diferența dintre regen.txt și npc.txt?
În sursa verificată, niciuna tehnică: au același format și sunt citite la fel. E doar o convenție de organizare. Unele pachete modificate pot avea reguli în plus.
Pot face un monstru să apară doar o dată, fără respawn?
Nu prin aceste fișiere: timpul 0 înseamnă „nu apare deloc”. Pentru apariții unice se folosesc questuri; vezi lecția despre boss de lume.
Pot pune un NPC care vorbește?
Da. Îl pui pe hartă cu npc.txt, iar dialogul i-l dai printr-un quest (vezi primul tău quest).
Ce urmează
Lecția următoare: grupuri de monștri cu group.txt și group_group.txt. Toate lecțiile sunt în lista tutorialelor Metin2.
Server Metin2 gata de joc
Găzduire Metin2 în România, cu instalare de serverfiles, bază de date MySQL și protecție Anti-DDoS inclusă.