How to configure Kanturu (Nightmare and Maya) in MU Online
Complete technical guide to configuring the Kanturu event on your MU Online server, covering the three stages (Maya Hands, the Maya boss, and Nightmare), INI files, SQL tables, and troubleshooting.
Kanturu is one of the most complex events in MU Online because it is not a single event: it is three chained stages that take place on different maps and depend on one another to progress. Unlike linear events such as Blood Castle or Devil Square, Kanturu requires the server to manage a state machin
Kanturu is one of the most complex events in MU Online because it is not a single event: it is three chained stages that take place on different maps and depend on one another to progress. Unlike linear events such as Blood Castle or Devil Square, Kanturu requires the server to manage a state machine — the Maya Hands, the Maya boss (also called the Maya's Hand mechanic), and finally Nightmare, the reincarnation of Kundun. Configuring this flow correctly is what separates an amateur server from a well-run one. This guide covers the complete configuration on Season 6 Episode 3-based servers, with notes on variations between emulators.
Prerequisites
Before touching any file, confirm that your environment meets these requirements:
- A MuServer Season 4, 5, or 6 Episode 3 with the EventServer installed and functional
- SQL Server 2008 or higher with the
MuOnlinedatabase accessible - Administrative access to the
EventServer/,GameServer/Data/directories and to SSMS - A MU client with the Kanturu maps (
Kanturu_1,Kanturu_2,Kanturu_3) present in theDatafolder - A full backup of the database and the configuration folders
> If you don't have a server running yet, start with the base guide on how to create a MU Online server before configuring advanced events like Kanturu.
The file names and IDs below are presented as a typical example of a Season 6 build. Every emulator detail (IWZ, MuEMU, X-Team, original Season 6) may differ — this varies by emulator, so always confirm against your server's files.
Understanding the Kanturu state machine
Before configuring, it is essential to understand the flow, because nearly every configuration error comes from treating Kanturu as a simple event. The complete cycle has three phases:
- Kanturu Remains (Maya Hands) — on the Kanturu_1 map, three Maya Hands appear and must be destroyed. While active, they summon Berserker monsters that attack players. Destroying the three hands within the time opens the next phase.
- Maya (boss) — after the hands fall, the Maya boss manifests. Defeating it within the time limit unlocks access to the core.
- Nightmare (Kanturu Core) — on the Kanturu_3 map, a player activates the Kanturu device and Nightmare (Kundun reincarnated) is summoned as the final boss, with high-value item drops such as the Kanturu Set and jewels.
Each transition depends on a success condition. If a phase fails (time runs out or players die), the event resets from scratch at the next scheduled time.
| Stage | Map (example) | Objective | Advance condition |
|---|---|---|---|
| Maya Hands | Kanturu_1 (Remains) | Destroy the 3 Maya Hands | 3 hands destroyed in time |
| Maya Boss | Kanturu_1 / Kanturu_2 | Defeat the Maya boss | Boss killed in time |
| Nightmare | Kanturu_3 (Core) | Defeat Nightmare | Player activates the device |
Step 1: Verify the EventServer file structure
Kanturu is orchestrated by the EventServer. Confirm that the files exist:
EventServer/
├── EventServer.exe
├── EventServer.cfg
├── Kanturu.ini
└── Log/
└── Kanturu.log
If the Log/ folder does not exist, create it manually — many builds don't create the directory automatically and, without it, you are blind to errors. If Kanturu.ini does not exist, create it as in Step 2.
Step 2: Configure the Kanturu.ini file
Open or create EventServer/Kanturu.ini with Notepad++ and always save it as ANSI (UTF-8 encoding breaks the parser of many EventServers). A typical example:
[Kanturu]
KanturuEnable=1
KanturuStartTime=04:00,10:00,16:00,22:00
KanturuStandbyTime=15
KanturuMayaHandTime=30
KanturuMayaHandHP=100
KanturuMayaHandCount=3
KanturuMayaBossTime=30
KanturuNightmareTime=30
KanturuUserMin=1
KanturuBerserkerCount=20
KanturuRewardEnable=1
Description of the most important parameters:
| Parameter | Example value | Description |
|---|---|---|
KanturuEnable | 1 | Enables (1) or disables (0) the event |
KanturuStartTime | HH:MM | Start times, separated by commas |
KanturuStandbyTime | 15 | Minutes of standby before the hands appear |
KanturuMayaHandTime | 30 | Time (min) to destroy the 3 hands |
KanturuMayaHandCount | 3 | Number of Maya Hands |
KanturuMayaBossTime | 30 | Time (min) to defeat the Maya boss |
KanturuNightmareTime | 30 | Time (min) of the Nightmare phase |
KanturuBerserkerCount | 20 | Support monsters summoned by the hands |
> The exact name of each key varies by emulator. If your Kanturu.ini uses MayaHandCount without the Kanturu prefix, keep your build's convention. What matters is the concept: each stage has a time and a success condition.
Step 3: Configure the connections in EventServer.cfg
Open EventServer/EventServer.cfg and confirm the connections:
[Connect]
GameServerIP=127.0.0.1
GameServerPort=55960
ConnectServerIP=127.0.0.1
ConnectServerPort=44405
[DataBase]
DSN=MuOnline
ID=event_user
PWD=your_strong_password
DBName=MuOnline
[Event]
KanturuEventEnable=1
Never use the sa account in production. Create a dedicated SQL account with permissions only on the MuOnline database:
CREATE LOGIN event_user WITH PASSWORD = 'SenhaForte#2024';
USE MuOnline;
CREATE USER event_user FOR LOGIN event_user;
GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA::dbo TO event_user;
Step 4: Configure the state tables in the database
Kanturu keeps its state in a control table. In many builds it is called T_KanturuInfo or MU_Kanturu. Verify and prepare it:
-- Check whether the table exists
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'T_KanturuInfo';
-- Typical structure (varies by emulator)
CREATE TABLE [dbo].[T_KanturuInfo] (
[KanturuState] TINYINT NOT NULL DEFAULT 0,
[MayaHandKilled] TINYINT NOT NULL DEFAULT 0,
[MayaBossKilled] TINYINT NOT NULL DEFAULT 0,
[NightmareKilled] TINYINT NOT NULL DEFAULT 0,
[LastEventDate] DATETIME NULL
);
-- Initial record
INSERT INTO MuOnline..T_KanturuInfo (KanturuState) VALUES (0);
Before any test, reset the state to prevent the event from starting "in the middle":
UPDATE MuOnline..T_KanturuInfo
SET KanturuState = 0,
MayaHandKilled = 0,
MayaBossKilled = 0,
NightmareKilled = 0;
> KanturuState = 0 means the event is inactive/on standby. The intermediate values (1, 2, 3) represent each stage. If the server crashes during an event, the state can get "stuck" — resetting via SQL unsticks it.
Step 5: Configure the monster spawns
The Kanturu monsters (Berserkers, Maya Hands, the Maya boss, and Nightmare) are defined in GameServer/Data/MonsterSetBase.txt. A typical block:
// Kanturu Remains - Map 37 (example)
// MapNumber / MonsterIndex / X / Y / Direction / SpawnType
37 362 100 120 1 0 // Berserker
37 362 110 130 1 0 // Berserker
37 363 120 140 3 0 // Persona / support
// Maya's Hand and the Maya boss are summoned dynamically by the EventServer,
// not by a fixed spawn. Do not place them manually here.
// Kanturu Core - Map 39 (example)
39 361 090 090 3 1 // Nightmare (Kundun)
A critical detail: the Maya Hands and the Maya boss are normally summoned dynamically by the EventServer, not by a static spawn. Placing them manually in MonsterSetBase.txt can duplicate them or break the counting logic. This varies by emulator — in some builds Nightmare is also dynamic. Always confirm in your server's documentation.
Also verify that the monster IDs are enabled:
SELECT Index, Name, Enable
FROM MuOnline..MonsterBase
WHERE Index IN (361, 362, 363);
Step 6: Enable the Kanturu gates
Players access Kanturu through gates. Verify and enable them:
-- Check the Kanturu gates (numbers vary by build)
SELECT GateNumber, GateName, MapNumber, Enable
FROM MuOnline..T_GateInfo
WHERE MapNumber IN (37, 38, 39);
-- Enable if necessary
UPDATE MuOnline..T_GateInfo
SET Enable = 1
WHERE MapNumber IN (37, 38, 39);
Access to the Kanturu Core (Nightmare) usually requires the Maya phase to have been completed — the gate is unlocked dynamically by the EventServer. Confirm in the log that the unlock message appears after the victory against Maya.
Step 7: Startup sequence and testing
The startup order is mandatory. The EventServer connects to the GameServer and, if it starts first, fails:
- Start
DataServer.exeand wait for "Ready". - Start
ConnectServer.exeand wait for the connection. - Start
GameServer.exeand wait for full initialization. - Start
EventServer.exelast and monitor the console.
In the EventServer console, confirm lines similar to:
[Kanturu] Initialize OK
[Kanturu] Next event: 04:00:00
[Kanturu] Connected to GameServer: 127.0.0.1:55960
To force an immediate test, set KanturuStartTime in the INI to a time just ahead of the server clock, restart the EventServer, and watch the phase transitions in the logs.
Step 8: Adjust Nightmare's rewards and drops
The big draw of Kanturu is Nightmare's drops (Kanturu Set items, jewels, and high-value items). They are controlled by the monster's drop table or by a specific item bag, depending on the emulator. A typical adjustment:
-- Check the drop associated with Nightmare
SELECT * FROM MuOnline..T_MonsterItemDrop
WHERE MonsterIndex = 361;
On builds that use files, the drop usually lives in GameServer/Data/Item/ in a bag file like MonsterItemBag_Nightmare.txt. This varies by emulator. Adjust the rates with moderation: Nightmare is endgame content and overly generous drops devalue the server's economy.
Common errors and fixes
| Problem | Likely cause | Fix |
|---|---|---|
| Event doesn't start on time | KanturuEnable=0 or the clock is out of sync | Confirm KanturuEnable=1 and run w32tm /resync /force on the server |
| Maya Hands aren't destroyed | The hands' HP is too high or there are too few players | Reduce KanturuMayaHandHP and test with KanturuUserMin=1 |
| The Maya boss doesn't appear | State stuck in the control table | Reset T_KanturuInfo via SQL and restart the EventServer |
| Nightmare isn't summoned | The gate to Kanturu_3 isn't unlocked | Check T_GateInfo and the unlock log after Maya |
| Client crashes when entering the map | Map file missing on the client | Confirm the Kanturu .att/.map files in the client's Data folder |
| Nightmare's drops don't fall | Drop bag missing or rate set to zero | Check the bag file and the rates in the build |
| Berserkers don't spawn | IDs disabled in MonsterBase | Run UPDATE MonsterBase SET Enable=1 for the correct IDs |
> After any change to SQL event-state tables, restart the EventServer. These values are loaded into memory at startup and rarely read in real time.
Time zone adjustment
The EventServer uses the server's Windows clock. If your VPS is in UTC but your audience is in Brazil (UTC-3), add 3 hours to the desired times:
; Brazilian audience wanting events at 1am, 7am, 1pm, and 7pm (BR time)
; On a UTC server, add 3 hours:
KanturuStartTime=04:00,10:00,16:00,22:00
Check and synchronize the clock:
tzutil /g
w32tm /resync /force
Launch checklist
- Full backup of the
MuOnlinedatabase and theEventServer/andGameServer/Data/folders Kanturu.inicreated and saved in ANSI, withKanturuEnable=1- Start times configured according to the audience's time zone
- Correct connections in
EventServer.cfg(IP, ports, and dedicated SQL account) T_KanturuInfotable created, with an initial record and the state reset- Monster IDs (Berserker, Maya, Nightmare) enabled in
MonsterBase - Support spawns reviewed in
MonsterSetBase.txt(without duplicating Maya/Nightmare) - Kanturu map gates enabled in
T_GateInfo - Kanturu map files present on the client and the server
- Nightmare's drops configured with balanced rates
- Startup sequence respected (EventServer last)
- Full test of the three stages executed successfully
- Server clock synchronized with
w32tm /resync /force
With the three stages chained correctly — Maya Hands, the Maya boss, and Nightmare — Kanturu will run automatically at the defined times, offering one of the most rewarding PvE cycles in MU Online. The key is always to remember that it is a state machine: if something gets stuck, the state in the control table is the first place to investigate.
Frequently asked questions
The Kanturu event doesn't advance from the Maya Hands stage to the Maya boss. What do I do?
The event only progresses when the required number of Maya Hands is destroyed within the stage's time. Check the HP parameter and the number of hands in Kanturu.ini, and verify that the support monsters (Berserkers) are not blocking the damage. Check the EventServer log to see the count of destroyed hands.
Nightmare doesn't appear after defeating Maya. How do I fix it?
Nightmare (Kundun) is only summoned on the Kanturu Core map (Kanturu_3) after the Maya phase is completed successfully and a player activates the device. Confirm that the gate to Kanturu_3 is enabled in T_GateInfo and that the Nightmare monster entry exists in MonsterSetBase.txt for the correct map.
Which MuServer version supports the full Kanturu?
Kanturu was introduced in Season 3. Season 4, 5, and 6 Episode 3 servers with a working EventServer have full support for the three stages. The map indexes and monster IDs vary by emulator, so always validate against your build's Data files.
How do I adjust the Kanturu start time?
Edit the schedule field in Kanturu.ini (HH:MM format separated by commas) and restart the EventServer. The time follows the server's Windows clock, so adjust it to your audience's time zone.
Players can't enter the Kanturu Remains map. What should I check?
Check that the entry gate is enabled in T_GateInfo, that the Kanturu_1 map file exists in the Data folder of both the client and the server, and that the minimum level required at the NPC or gate is not higher than expected.