Page 1 of 1

Metin2 Map File Formats: Chunks, Collision, and the Settings Pipeline

Posted: Sat Oct 17, 2026 4:32 am
by admin
Metin2 Map File Formats: Chunks, Collision, and the Settings Pipeline

Metin2 divides client maps into chunks, also called areas. Each chunk represents a portion of the map and has its own ID. The chunk size is defined in the Settings file. When you warp to a coordinate, the client divides your X and Y by the chunk size to generate chunk IDs, with the X ID multiplied by 1000.[1]

Indoor vs Outdoor Maps

There are two map types. Outdoor maps are open areas like villages. Indoor maps are closed spaces like the monkey dungeon or spider dungeon. Indoor maps do not load an environment file because the sky and sun should not exist in enclosed spaces.[1]

MapProperty.txt

This file defines the map type. It uses the Metin2 Script file format with the type set to MapProperty. The two key options are:[1]
  • MapType: Either "Indoor" or "Outdoor"
  • ParentMapName: The containing map, used for boss rooms and guild village zones per reign
Settings.txt

Settings.txt configures the map. It also uses the Metin2 Script format with type MapSetting. Key options include CellScale, HeightScale, ViewRadius, MapSize, BasePosition, TextureSet, and Environment.[1]

BasePosition is present in the client but only used by the server. It defines the base X and Y coordinates of the map, which form a square depending on the map size.[1]

Chunk Files

Each chunk folder contains several files:[1]
  • attr.atr: Collision data. The first 6 bytes are the file identifier (0x4A 0x0A), width (256), and height (256). The rest is collision data for each point.
  • water.wtr: Water height information with a 256x256 grid.
  • AreaData.txt: 3D objects in the chunk, using the Metin2 Script format with nodes.
  • AreaAmbienceData.txt: Additional object data, purpose not fully documented.
  • minimap.dds: 256x256 minimap texture for the chunk.
  • shadowmap.dds: 256x256 shadow texture for the minimap.
  • height.raw: Terrain height data, 131x131 pixels with 2 bytes per pixel (34322 bytes total).
  • tile.raw: Unknown usage, 258x258 pixels (66564 bytes total).
Collision Bits

Each collision byte in attr.atr contains bit flags:[1]
  • Bit 1: An entity can walk into that coordinate
  • Bit 2: The coordinate is filled with water
  • Bit 3: PVP is disabled in that coordinate
  • Bit 8: A guild building can be built in that coordinate
Adding a New Map

The Metin2Dev tutorial outlines the process: create a map folder with server_attr, settings.txt, and town.txt. Set a unique map index above 250. Add the map to CORE channel configs. Generate minimap .bmp in WorldEditor, convert to .dds, and place it in the pack. Create an atlas.sub file for the map name display. Pack everything into an .epk file and add it to pack/root/index.txt.[2]

Source
[1] Metin2Dev: Maps File Format Documentation
[2] Metin2Dev: Adding New Maps Tutorial