Cómo Configurar Warp y Teletransporte Personalizado en el Servidor de MU
Aprende a configurar warps y teletransportes personalizados en tu servidor de MU Online editando archivos de configuración y tablas SQL para crear rutas exclusivas.
Cómo Configurar Warp y Teletransporte Personalizado en el Servidor de MU Online
El sistema de warp (teletransporte) es una de las funcionalidades más utilizadas por los jugadores de MU Online. Configurar warps personalizados te permite crear rutas exclusivas, ajustar costos en Zen, restringir mapas por nivel de personaje y agregar destinos que no existen en la configuración predeterminada del servidor. Este tutorial cubre el proceso completo para servidores Season 6, con referencias a versiones anteriores y posteriores.
Requisitos Previos
- Acceso al directorio de instalación del GameServer (ej:
C:\MuServer\GameServer\) - Acceso a SQL Server Management Studio (SSMS) con la base de datos
MuOnline - Servidor detenido o en modo mantenimiento antes de editar archivos críticos
- Copia de seguridad de la base de datos y de los archivos de configuración
1. Localizar los Archivos de Warp
Season 1 a Season 4
En servidores más antiguos, el sistema de warp está controlado exclusivamente por un archivo de texto:
GameServer/Data/WarpList.txt
Cada línea representa un destino de warp en el formato:
// NombreWarp MapNumber PosX PosY CostoZen NivelMin
Lorencia 0 125 125 0 0
Noria 3 172 98 0 0
Devias 2 197 35 0 1
Season 6 (Más Común)
En Season 6, el archivo principal es:
GameServer/Data/WarpList.txt
Y la tabla correspondiente en la base de datos es:
USE MuOnline;
SELECT * FROM WarpInfo;
.txt y lee exclusivamente de la tabla WarpInfo. Revisa el archivo GameServer/GameServer.ini buscando la línea WarpListLoad= para identificar el modo activo.2. Entender la Estructura de la Tabla WarpInfo
Ejecuta la siguiente consulta para ver la estructura actual:
USE MuOnline;
SELECT
Number,
Name,
MapNumber,
GateX,
GateY,
RequestZen,
LevelMin,
LevelMax
FROM WarpInfo
ORDER BY Number;
Los campos más importantes son:
| Campo | Descripción | Ejemplo |
|---|---|---|
Number | ID único del warp | 1, 2, 3... |
Name | Nombre mostrado en el cliente | Lorencia |
MapNumber | Índice del mapa de destino | 0 = Lorencia |
GateX / GateY | Coordenadas de llegada | 125, 125 |
RequestZen | Costo en Zen | 0, 5000, 10000 |
LevelMin | Nivel mínimo del personaje | 0, 150, 350 |
LevelMax | Nivel máximo (0 = sin límite) | 0 |
3. Mapear los Índices de Mapas
Antes de crear warps para mapas personalizados, confirma los índices correctos en tu servidor. Los principales mapas predeterminados del Season 6 son:
0 = Lorencia
1 = Dungeon
2 = Devias
3 = Noria
4 = Lost Tower
6 = Atlans
7 = Tarkan
8 = Devil Square (Evento)
10 = Icarus
11 = Blood Castle 1-7 (variación por subnivel)
12 = Chaos Castle
13 = Kalima
33 = Crywolf Fortress
34 = Kanturu
37 = Aida
38 = Vulcanus
56 = Swamp of Darkness
4. Agregar un Warp Personalizado vía SQL
Paso 1: Verificar el siguiente Number disponible
USE MuOnline;
SELECT MAX(Number) + 1 AS SiguienteID FROM WarpInfo;
Paso 2: Insertar el nuevo warp
Ejemplo agregando un warp hacia un área personalizada en el mapa de Lorencia (coordenadas 55, 15 — área exclusiva del servidor privado):
USE MuOnline;
INSERT INTO WarpInfo (Number, Name, MapNumber, GateX, GateY, RequestZen, LevelMin, LevelMax)
VALUES (150, 'Area VIP', 0, 55, 15, 10000, 200, 0);
Paso 3: Verificar la inserción
USE MuOnline;
SELECT * FROM WarpInfo WHERE Number = 150;
LevelMin adecuado. Por ejemplo, LevelMin = 350 garantiza que solo los personajes de alto nivel puedan acceder al área.5. Editar el Archivo WarpList.txt
Si tu servidor usa el archivo .txt, localízalo en GameServer/Data/WarpList.txt y sigue el formato:
// Formato: 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
AreaVIP 0 55 15 10000 200 0
end marca el final de la lista en el formato de algunos servidores. Si tu WarpList.txt no tiene esta línea, simplemente agrega las entradas de forma secuencial.Guarda el archivo con codificación ANSI (no UTF-8). Una codificación incorrecta puede causar fallos al leer nombres con caracteres especiales como tildes o la letra ñ.
6. Configurar Warps por NPC (Gate Master)
Para que el warp aparezca en el menú del NPC Gate Master dentro del juego, el cliente también necesita tener la lista actualizada. En el cliente, edita el archivo:
Client/Data/WarpList.txt
La estructura debe reflejar exactamente el archivo del servidor. Si los índices difieren, el jugador seleccionará un destino y llegará a una ubicación incorrecta.
Sincronizar cliente y servidor
Servidor: GameServer/Data/WarpList.txt → línea 150: AreaVIP 0 55 15 10000 200 0
Cliente: Client/Data/WarpList.txt → línea 150: AreaVIP 0 55 15 10000 200 0
7. Crear un Warp con Portal Directo en el Mapa (Gate Físico)
Para crear un portal físico en el mapa (gate), edita la tabla JoinsInfo o el archivo de gates correspondiente:
USE MuOnline;
INSERT INTO JoinsInfo (Number, Name, MapNumber, GateX, GateY, GateX2, GateY2, DestMapNumber, DestX, DestY, LevelMin, LevelMax, Item, Type)
VALUES (200, 'Portal Area VIP', 0, 50, 10, 60, 20, 0, 55, 15, 200, 0, 0, 0);
| Campo | Descripción |
|---|---|
GateX/GateY a GateX2/GateY2 | Área rectangular del portal en el mapa de origen |
DestMapNumber | Mapa de destino |
DestX/DestY | Coordenadas de llegada |
8. Recargar Sin Reiniciar el Servidor
Algunas compilaciones del MuServer soportan recarga dinámica de configuraciones mediante un comando en la consola del GameServer:
/reloadwarp
/reload warplist
Si tu servidor no lo soporta, el procedimiento correcto es:
- Cerrar el GameServer
- Guardar los cambios en SQL y en los archivos
.txt - Iniciar el GameServer nuevamente
9. Solución de Problemas
El warp no aparece en la lista del NPC
- Confirma que el
Numberinsertado en SQL está dentro del rango leído por el servidor (generalmente 1-255 o 1-500 según la compilación) - Verifica que el
WarpList.txtdel cliente haya sido actualizado - Reinicia el GameServer después de cambios en la base de datos
"Teleport Failed" al usar el warp
- Verifica que las coordenadas
GateX/GateYsean válidas para el mapa de destino usando la herramienta de visualización de mapa de tu editor - Confirma que el
MapNumbercorresponde a un mapa habilitado enGameServer.ini(buscaMap[N]=1) - Asegúrate de que el personaje cumple el
LevelMinconfigurado
El nombre del warp aparece corrupto
- Guarda el
WarpList.txtcon codificación ANSI usando Notepad o Notepad++ - En SQL, verifica que el campo
NameuseVARCHARy noNVARCHARcon una intercalación incorrecta
10. Buenas Prácticas
- Mantén un documento con todos los warps personalizados y sus coordenadas para facilitar el mantenimiento
- Usa rangos de Number reservados: 1-100 para warps predeterminados, 101-200 para personalizados, 201+ para eventos
- Prueba cada warp nuevo en un personaje del nivel adecuado antes de abrirlo a los jugadores
- Realiza una copia de seguridad de la tabla
WarpInfoantes de cualquier cambio masivo:
USE MuOnline;
SELECT * INTO WarpInfo_Backup_20260703 FROM WarpInfo;
Perguntas frequentes
¿Qué archivo controla los warps en Season 6?
En Season 6, los warps son controlados principalmente por el archivo GameServer/Data/WarpList.txt (o WarpList.cfg según la compilación) y por la tabla SQL WarpInfo de la base de datos MuOnline. Ambos deben mantenerse sincronizados.
¿Puedo agregar warps solo desde la base de datos sin editar archivos?
En algunas compilaciones de MuServer (especialmente S6EP3 y S13+), el sistema lee exclusivamente desde la tabla WarpInfo del SQL Server. En ese caso, insertar una fila con INSERT INTO WarpInfo es suficiente. Revisa el log de inicio del GameServer para confirmar qué fuente está activa.
¿Por qué el warp muestra 'Teleport Failed' incluso con la configuración correcta?
Las causas más comunes son: coordenadas X/Y fuera de los límites del mapa de destino (revisa el archivo de atributos del mapa), el personaje no cumple el nivel mínimo requerido, o el mapa de destino no está habilitado en el servidor. También verifica que el MapNumber corresponda al índice correcto.
¿Cómo establezco un costo en Zen para el warp?
En la tabla WarpInfo, el campo RequestZen define el costo en Zen. En WarpList.txt, el quinto parámetro de la línea es el costo. Ejemplo: Lorencia = 1, Noria = 0, Atlans = 5000. Coloca 0 para teletransporte gratuito.