How to Add a Custom Boss Monster to Your Metin2 Private Server

A Metin2 boss is a mob with an elevated rank, high stats, a custom drop table, and usually a dungeon or timed spawn. This guide covers the full setup: mob_proto entry, regen spawn, drop table, and optional dungeon quest integration.

Use the Mob Proto Editor and Mob Drop Editor to configure both files visually.


Step 1 — Add the mob_proto Entry

Open mob_proto.txt and add your boss. Key columns:

ColumnValueNotes
vnume.g. 8001Pick an unused VNUM (bosses often use 8000–8999)
nameDragonBossInternal name
typeMONSTERMONSTER (not NPC or STONE)
rankBOSSBOSS rank — shows crown icon, no HP bar penalty
battle_typeMELEEOr MAGIC for a caster boss
level100Boss level (affects damage scaling)
max_hp5000000050 million HP — adjust to your server's power level
ai_flagAGGR|BERSERKAGGR=attacks on sight, BERSERK=enrages at low HP
exp500000EXP reward on kill
gold_min100000Minimum Yang drop
gold_max500000Maximum Yang drop
damage_min5000Minimum damage per hit
damage_max8000Maximum damage per hit

The rank field is critical — only BOSS or KING rank mobs display the crown icon and benefit from boss-specific mechanics. PAWN, S_PAWN, KNIGHT, S_KNIGHT are lower tiers used for regular mobs.

Step 2 — Configure ai_flag

Common ai_flag combinations for bosses:

FlagEffect
AGGRAttacks any player in range without being hit first
BERSERKAttack speed and damage increase at low HP (<30%)
STONEFALLKnocks back players on hit
MOVEActively moves toward target (remove NOMOVE if set)
NOMOVEStays stationary (useful for fixed-position boss encounters)
COWARDFlees when HP is low (not typical for bosses)

A common boss combination is AGGR|BERSERK|MOVE. Separate multiple flags with a pipe (|).

Step 3 — Set Up the Regen Spawn

Add a spawn entry to the regen file for your map:

f	3200	4800	50	50	3600	8001	1	0

Column breakdown:

  • f — fixed spawn type
  • 3200 4800 — X, Y spawn coordinates
  • 50 50 — spawn area (width x height in units)
  • 3600 — respawn timer in seconds (3600 = 1 hour)
  • 8001 — boss VNUM
  • 1 — number to spawn
  • 0 — level override (0 = use mob_proto level)

For dungeon-only bosses that should not spawn in the open world, skip the regen file and instead spawn the boss via the dungeon quest Lua:

d.spawn_mob_ac_dir(8001, x, y, direction)

Step 4 — Create the Drop Table

Boss drops are defined in mob_drop_item.txt. Use the Mob Drop Editor to create the group visually, or write it manually:

Group DragonBoss_drop
{
  Mob    8001
  Type   drop

  dragon_scale_item  50001  10
  rare_gem           50002  3
  boss_weapon        50003  1
}

Column format per drop line: internal_name ITEM_VNUM PCT_VALUE

PCT values use a 1-in-N system where the server rolls against the sum of all PCT values. Use the Drop Table Calculator to calculate actual drop rates from your PCT values before deploying.

Step 5 — Bind to a Dungeon Quest (Optional)

If this boss should live inside a dungeon, use the Dungeon Quest Generator to generate a full quest file. The generator produces boss kill handlers automatically:

when kill with d.is_map_dungeon() and npc.get_vnum() == 8001 begin
  d.notice("Dragon Boss has been defeated!")
  d.set_flag("boss_killed", 1)
  d.complete_dungeon()
end

Step 6 — Test In-Game

  1. Reload mob_proto and regen files (or restart game server)
  2. Travel to the boss spawn location and verify it appears
  3. Check: crown icon visible, correct level shown, AGGR behavior works
  4. Kill the boss and verify drops appear correctly
  5. Wait for respawn timer and confirm it respawns

Common Errors

  • No crown icon — rank not set to BOSS or KING in mob_proto
  • Boss does not attack players — AGGR flag missing from ai_flag
  • No drops — mob_drop_item group Mob VNUM mismatch, or drop file not reloaded
  • PCT values wrong — use the Drop Table Calculator to verify rates before testing
  • Boss spawns but wrong model — client model path wrong or mob_proto model column incorrect