Metin2 mob_proto.txt Complete Reference: Stats, Ranks, Resistances and Boss Abilities Explained
mob_proto.txt defines every creature, NPC, boss, and interactive object in Metin2. With over 60 columns per row, it is one of the most complex configuration files on any private server setup. This reference covers every field you will actually need to edit, with concrete examples for common tasks like boss design, NPC setup, and mob balancing.
1. File Format Overview
Like item_proto.txt, the mob proto file is tab-separated text where each row defines one mob. Modern servers store this in MySQL instead, but the column order is identical. You can convert between formats using the TXT to SQL Converter.
The first four columns identify every mob:
| Column | Description |
|---|---|
vnum | Unique mob ID. Referenced in spawn files, drop files, and quest scripts. |
name | Internal identifier used in quests (mob.name). No spaces allowed. |
type | MONSTER, NPC, STONE, WARP, DOOR, or BUILDING |
rank | PAWN, S_PAWN, KNIGHT, S_KNIGHT, BOSS, or KING |
2. The Rank System Explained
Rank is more than a label — the game engine applies automatic HP and damage multipliers based on rank:
- PAWN — Standard mob. Base stats from proto applied as-is.
- S_PAWN — Slightly stronger normal mob. Minor multiplier.
- KNIGHT — Mini-boss tier. Noticeably higher effective HP.
- S_KNIGHT — Strong mini-boss. Appears in mid-tier dungeons.
- BOSS — Full boss. Gets ×1.5 drop rate values bonus and shows boss health bar UI.
- KING — World boss tier. Highest multipliers. Rare in official content.
Setting a mob as BOSS automatically gives it the boss drop bonus — keep this in mind when balancing your drop rates.
3. Combat Stats
| Column | Description |
|---|---|
st | Strength — affects physical attack damage |
dx | Dexterity — affects hit chance and dodge |
ht | Constitution (CON) — determines base HP |
iq | Intelligence — affects magic damage and resistance |
damage_min / damage_max | Direct attack damage range. Set both for attack variation. |
max_hp | Maximum hit points. The most commonly adjusted value. |
def | Defence value. Reduces incoming physical damage. |
exp | Experience points awarded on kill. |
gold_min / gold_max | Yang (gold) drop range on kill. |
attack_speed | How fast the mob attacks. Higher = faster. |
move_speed | Movement speed. Affects how quickly mobs chase players. |
4. Resistance Values
All resist_* columns accept integer values representing percentage damage reduction:
- 0 = No resistance (takes full damage)
- 50 = Takes 50% damage from that type
- 100 = Takes 0 damage (complete immunity)
- >100 = Heals from that damage type
- Negative = Extra vulnerability
The resistance columns are: resist_sword, resist_twohand, resist_dagger, resist_bell, resist_fan, resist_bow, resist_fire, resist_elect, resist_magic, resist_wind, resist_poison.
Common mistake: Setting resist_magic = 100 to make a boss "tanky" — this makes it completely unkillable by Shaman and Sura classes. Use 60–80 for a tough but fair boss.
5. Immune Flags
The setImmuneFlag column is a bitfield that controls which status effects cannot be applied to the mob:
| Flag Value | Effect |
|---|---|
| 1 | Immune to stun |
| 2 | Immune to slow |
| 4 | Immune to fall/knockback |
| 8 | Immune to curse |
| 16 | Immune to poison |
Combine flags by adding the values. For a boss immune to both stun and slow: setImmuneFlag = 3 (1 + 2). A typical raid boss should have at least stun immunity to prevent trivial crowd-control strategies.
6. AI Behaviour Flags
The ai_flag column controls how the mob behaves:
- aggressive — Attacks players on sight (within
aggressive_sightradius) - aggressive_hp_pct — HP percentage at which a passive mob becomes aggressive. 0 = always passive.
- aggressive_sight — Aggro detection radius in game units. Typical values: 500–2000.
- attack_range — How close the mob needs to be to make a melee attack.
7. Boss Special Abilities
Five columns control HP-threshold-triggered boss abilities. Each value is an HP percentage (0–100) at which the ability activates:
| Column | Effect | Typical value |
|---|---|---|
sp_berserk | Boss enters berserk mode — massively increased attack speed and damage | 30–50 |
sp_stoneskin | Boss gains greatly reduced incoming damage | 60–70 |
sp_godspeed | Boss moves and attacks at extreme speed | 20–40 |
sp_deathblow | Boss attacks deal instant-kill damage | 10–15 |
sp_revive | Boss revives at this HP percentage | 1 (one-time revive) |
Set these to 0 to disable an ability. A well-designed raid boss might use sp_stoneskin = 70 (goes defensive at 70% HP), sp_berserk = 30 (goes aggressive at 30%), and sp_deathblow = 10 (dangerous final phase).
8. Resurrection VNUM — Multi-Phase Bosses
The resurrection_vnum field spawns a different mob at the same location when this mob dies. This is how multi-phase bosses work:
- Phase 1 boss (vnum 9001) has
resurrection_vnum = 9002 - When phase 1 dies, phase 2 boss (vnum 9002) spawns immediately
- Phase 2 can have different stats, skills, and Drop Table Calculators
Set to 0 to disable resurrection.
9. Editing mob_proto Efficiently
With 60+ columns per row and thousands of mobs, editing mob_proto.txt in a plain text editor is error-prone. The Metin2 Mob Proto Editor provides a searchable table interface with dropdown menus for type, rank, and battle_type fields — no more memorising string values. Export back to TXT or SQL when done.
For converting between TXT and SQL formats, use the TXT to SQL Converter. For balancing drop rates alongside mob edits, use the Drop Table Calculator.
All tools are available in the Metin2 Tools hub.