Brazil's biggest MU Online portal — since 2003
Tutorial Intermediate Tutoriais

How to Configure Custom Warp and Teleport on MU Server

Learn how to configure custom warps and teleports on your MU Online server by editing configuration files and SQL tables to create exclusive routes.

VI ViciadosMU Team · Updated on 3 jul 2026 · ⏱ 12 min read

How to Configure Custom Warp and Teleport on MU Online Server

The warp (teleport) system is one of the most frequently used features by MU Online players. Configuring custom warps lets you create exclusive routes, adjust Zen costs, restrict maps by character level, and add destinations that do not exist in the server's default configuration. This tutorial covers the complete process for Season 6 servers, with references to earlier and later versions.


Prerequisites

  • Access to the GameServer installation directory (e.g., C:\MuServer\GameServer\)
  • Access to SQL Server Management Studio (SSMS) with the MuOnline database
  • Server stopped or in maintenance mode before editing critical files
  • Backup of the database and configuration files

1. Locate the Warp Files

Season 1 to Season 4

On older servers, the warp system is controlled exclusively by a text file:

GameServer/Data/WarpList.txt

Each line represents a warp destination in the format:

// WarpName  MapNumber  PosX  PosY  ZenCost  MinLevel
Lorencia      0         125   125   0        0
Noria         3         172   98    0        0
Devias        2         197   35    0        1

Season 6 (Most Common)

In Season 6, the primary file is:

GameServer/Data/WarpList.txt

And the corresponding database table is:

USE MuOnline;
SELECT * FROM WarpInfo;
Nota: In some Season 6 builds, the GameServer ignores the .txt file and reads exclusively from the WarpInfo table. Check GameServer/GameServer.ini for the WarpListLoad= line to identify which mode is active.

2. Understand the WarpInfo Table Structure

Run the query below to view the current structure:

USE MuOnline;
SELECT
    Number,
    Name,
    MapNumber,
    GateX,
    GateY,
    RequestZen,
    LevelMin,
    LevelMax
FROM WarpInfo
ORDER BY Number;

The most important fields are:

FieldDescriptionExample
NumberUnique warp ID1, 2, 3...
NameName displayed in the clientLorencia
MapNumberDestination map index0 = Lorencia
GateX / GateYArrival coordinates125, 125
RequestZenZen cost0, 5000, 10000
LevelMinMinimum character level0, 150, 350
LevelMaxMaximum level (0 = no limit)0

3. Map the Correct Map Indexes

Before creating warps for custom maps, confirm the correct indexes on your server. The main default maps in Season 6 are:

0  = Lorencia
1  = Dungeon
2  = Devias
3  = Noria
4  = Lost Tower
6  = Atlans
7  = Tarkan
8  = Devil Square (Event)
10 = Icarus
11 = Blood Castle 1-7 (variation by sub-level)
12 = Chaos Castle
13 = Kalima
33 = Crywolf Fortress
34 = Kanturu
37 = Aida
38 = Vulcanus
56 = Swamp of Darkness
Atenção: Do not confuse MapNumber with the Gate ID (portal). MapNumber is the index of the destination map. GateX and GateY are the coordinates within that map where the character will appear.

4. Add a Custom Warp via SQL

Step 1: Check the next available Number

USE MuOnline;
SELECT MAX(Number) + 1 AS NextID FROM WarpInfo;

Step 2: Insert the new warp

Example adding a warp to a custom area in the Lorencia map (coordinates 55, 15 — a private server-specific area):

USE MuOnline;
INSERT INTO WarpInfo (Number, Name, MapNumber, GateX, GateY, RequestZen, LevelMin, LevelMax)
VALUES (150, 'VIP Area', 0, 55, 15, 10000, 200, 0);

Step 3: Verify the insertion

USE MuOnline;
SELECT * FROM WarpInfo WHERE Number = 150;
Dica: For event warps or restricted areas, set an appropriate LevelMin. For example, LevelMin = 350 ensures only high-level characters can access the area.

5. Edit the WarpList.txt File

If your server uses the .txt file, locate it at GameServer/Data/WarpList.txt and follow the format:

// Format: Name MapNumber GateX GateY RequestZen LevelMin LevelMax
end

Lorencia    0   125  125  0      0    0
Noria       3   172  98   0      0    0
Devias      2   197  35   0      1    0
Atlans      6   15   27   5000   100  0
VIPArea     0   55   15   10000  200  0
Nota: The end line marks the end of the list in some server formats. If your WarpList.txt does not have this line, simply add entries sequentially.

Save the file with ANSI encoding (not UTF-8). Incorrect encoding can cause failure when reading names with special characters.


6. Configure Warps via NPC (Gate Master)

For the warp to appear in the Gate Master NPC menu in-game, the client also needs an updated list. On the client side, edit the file:

Client/Data/WarpList.txt

The structure must exactly mirror the server file. If the indexes differ, players will select a destination and arrive at an incorrect location.

Sync client and server

Server: GameServer/Data/WarpList.txt  →  line 150: VIPArea  0  55  15  10000  200  0
Client: Client/Data/WarpList.txt      →  line 150: VIPArea  0  55  15  10000  200  0

7. Create a Warp with a Direct Map Portal (Physical Gate)

To create a physical portal on the map (gate), edit the JoinsInfo table or the corresponding gate file:

USE MuOnline;
INSERT INTO JoinsInfo (Number, Name, MapNumber, GateX, GateY, GateX2, GateY2, DestMapNumber, DestX, DestY, LevelMin, LevelMax, Item, Type)
VALUES (200, 'VIP Area Portal', 0, 50, 10, 60, 20, 0, 55, 15, 200, 0, 0, 0);
FieldDescription
GateX/GateY to GateX2/GateY2Rectangular area of the portal on the source map
DestMapNumberDestination map
DestX/DestYArrival coordinates

8. Reload Without Restarting the Server

Some MuServer builds support dynamic configuration reload via the GameServer Console command:

/reloadwarp
/reload warplist

If your server does not support this, the correct procedure is:

  1. Close the GameServer
  2. Save changes in SQL and the .txt files
  3. Start the GameServer again
Atenção: Never edit configuration files while the server is running with players connected unless you have confirmed the server supports hot reload. Edits to files opened by the process can cause corruption.

9. Troubleshooting

Warp does not appear in the NPC list

  • Confirm that the Number inserted in SQL is within the range read by the server (generally 1-255 or 1-500 depending on the build)
  • Verify that the client WarpList.txt has been updated
  • Restart the GameServer after database changes

"Teleport Failed" when using the warp

  • Verify that GateX/GateY coordinates are valid for the destination map using your map editor's visualization tool
  • Confirm that MapNumber corresponds to a map enabled in GameServer.ini (look for Map[N]=1)
  • Ensure the character meets the LevelMin configured

Warp name appears corrupted

  • Save WarpList.txt with ANSI encoding using Notepad or Notepad++
  • In SQL, verify that the Name field uses VARCHAR and not NVARCHAR with an incorrect collation

10. Best Practices

  • Keep a document with all custom warps and their coordinates to simplify maintenance
  • Use reserved Number ranges: 1-100 for default warps, 101-200 for custom, 201+ for events
  • Test each new warp on a character of the appropriate level before opening it to players
  • Back up the WarpInfo table before any bulk changes:
USE MuOnline;
SELECT * INTO WarpInfo_Backup_20260703 FROM WarpInfo;

Perguntas frequentes

Which file controls warps in Season 6?

In Season 6, warps are primarily controlled by GameServer/Data/WarpList.txt (or WarpList.cfg depending on the build) and the WarpInfo SQL table in the MuOnline database. Both must be kept in sync.

Can I add warps only through the database without editing files?

In some MuServer builds (especially S6EP3 and S13+), the system reads exclusively from the WarpInfo table in SQL Server. In that case, inserting a row via INSERT INTO WarpInfo is sufficient. Check the GameServer startup log to confirm which source is active.

Why does the warp display 'Teleport Failed' even with a correct configuration?

The most common causes are: X/Y coordinates out of bounds for the target map (check the map attributes file), the character not meeting the minimum level requirement, or the destination map not being enabled on the server. Also verify that the MapNumber matches the correct index.

How do I set a Zen cost for a warp?

In the WarpInfo table, the RequestZen field defines the Zen cost. In WarpList.txt, the fifth parameter on the line is the cost. Example: Lorencia = 1, Noria = 0, Atlans = 5000. Set 0 for free teleportation.

VI

ViciadosMU Team

Equipe editorial do ViciadosMU — portal de MU Online no ar desde 2003.

Keep reading

Related articles