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.
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
MuOnlinedatabase - 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;
.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:
| Field | Description | Example |
|---|---|---|
Number | Unique warp ID | 1, 2, 3... |
Name | Name displayed in the client | Lorencia |
MapNumber | Destination map index | 0 = Lorencia |
GateX / GateY | Arrival coordinates | 125, 125 |
RequestZen | Zen cost | 0, 5000, 10000 |
LevelMin | Minimum character level | 0, 150, 350 |
LevelMax | Maximum 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
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;
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
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);
| Field | Description |
|---|---|
GateX/GateY to GateX2/GateY2 | Rectangular area of the portal on the source map |
DestMapNumber | Destination map |
DestX/DestY | Arrival 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:
- Close the GameServer
- Save changes in SQL and the
.txtfiles - Start the GameServer again
9. Troubleshooting
Warp does not appear in the NPC list
- Confirm that the
Numberinserted 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.txthas been updated - Restart the GameServer after database changes
"Teleport Failed" when using the warp
- Verify that
GateX/GateYcoordinates are valid for the destination map using your map editor's visualization tool - Confirm that
MapNumbercorresponds to a map enabled inGameServer.ini(look forMap[N]=1) - Ensure the character meets the
LevelMinconfigured
Warp name appears corrupted
- Save
WarpList.txtwith ANSI encoding using Notepad or Notepad++ - In SQL, verify that the
Namefield usesVARCHARand notNVARCHARwith 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
WarpInfotable 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.