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

How to Add and Edit Items on MU Online Server

Step-by-step guide to adding, editing and configuring custom items on your MU Online private server using SQL Server and config files.

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

How to Add and Edit Items on MU Online Server

Adding custom items is one of the most impactful customizations you can make to a MU Online private server. This guide covers the full process: identifying available IDs in the database, editing GameServer configuration files, configuring drops and NPC shops, and synchronizing with the client.

Atenção: Always make a full backup of the database and the GameServer/Data/ directory before making any changes. An incorrect item ID can corrupt drops and NPC shop inventories server-wide.

Core Concepts: How MU Online Items Work

Every item in MU Online is identified by two values:

  • Category (ItemSection): a value from 0 to 15 defining the item type (weapons, armor, jewels, etc.)
  • Index (ItemIndex): a value from 0 to 511 within that category

The Category + Index combination is unique and must be consistent between the server and the client.

CategoryType
0Swords (Blades)
2Bows and Staves
4Armor (Body)
5Pants
6Gloves
7Boots
12Jewels
13Event Items
14Pets and Wings

Part 1 — Identify Available IDs in the Database

Before creating an item, confirm which IDs are free.

Step 1: Connect to SQL Server Management Studio and select the MuOnline database.

Step 2: Query existing items in the target category:

-- List all items in category 0 (swords)
SELECT
    ItemSection,
    ItemIndex,
    ItemName,
    ItemWidth,
    ItemHeight,
    ItemDurability
FROM MuOnline..Item
WHERE ItemSection = 0
ORDER BY ItemIndex ASC;

Step 3: Identify gaps in the index sequence — those slots are available.

-- Verify a specific slot is free (e.g., category 0, index 45)
SELECT COUNT(*) AS IsOccupied
FROM MuOnline..Item
WHERE ItemSection = 0 AND ItemIndex = 45;
-- Result 0 = slot is free
Nota: On Season 6 servers based on MuServer 1.04e, the Item table lives in the MuOnline database. On older versions (S2/S3), it may be in Game or GameDB.

Part 2 — Insert the Item into the Database

Step 4: Insert the new item into the Item table:

INSERT INTO MuOnline..Item (
    ItemSection,
    ItemIndex,
    ItemName,
    ItemWidth,
    ItemHeight,
    ItemDurability,
    ItemBaseDmgMin,
    ItemBaseDmgMax,
    ItemDefense,
    ItemSpeedAttack,
    ItemMagicPower,
    ItemMoney,
    ClassReq,
    LevelReq,
    StrReq,
    AgiReq,
    VitReq,
    EneReq,
    CmdReq,
    ItemDropLevel,
    ItemSellPrice,
    ItemBuyPrice,
    ItemTwoHand
) VALUES (
    0,          -- Category: swords
    45,         -- Free index identified above
    'Chaos Blade',
    2,          -- Inventory width (slots)
    4,          -- Inventory height (slots)
    100,        -- Base durability
    120,        -- Minimum damage
    180,        -- Maximum damage
    0,          -- Defense (0 for weapons)
    20,         -- Attack speed
    0,          -- Magic power
    500000,     -- Base gold value
    2,          -- ClassReq = DK only (bitmask)
    300,        -- Minimum level requirement
    250,        -- Minimum Strength requirement
    0,          -- Minimum Agility
    0,          -- Minimum Vitality
    0,          -- Minimum Energy
    0,          -- Minimum Command
    80,         -- Minimum monster level to drop
    250000,     -- Sell price to NPC
    1000000,    -- Buy price from NPC
    0           -- 0=one-handed, 1=two-handed
);

Step 5: Configure additional item options (excellent, luck, skill):

INSERT INTO MuOnline..ItemAddOption (
    ItemSection,
    ItemIndex,
    OptionType,
    OptionValue
) VALUES
    (0, 45, 1, 5),   -- Type 1 = Luck enabled
    (0, 45, 2, 1);   -- Type 2 = Skill enabled

Part 3 — Configure Item Drops

Step 6: Add the item to the monster drop table:

-- Add drop on Kundun (monster ID 277)
INSERT INTO MuOnline..MonsterItemDrop (
    MonsterID,
    ItemSection,
    ItemIndex,
    MinLevel,
    MaxLevel,
    DropRate
) VALUES (
    277,    -- Kundun monster ID
    0,      -- Item category
    45,     -- Item index
    0,      -- Minimum item level when dropped
    15,     -- Maximum item level when dropped
    100     -- Drop rate (scale depends on version; check MonDropRate)
);

Step 7: If your server uses .bmd files for drops instead of the database, edit GameServer/Data/MonsterItemDrop.bmd using the official MuServer editor or a tool like BMD Editor.

Dica: On Season 6 servers, the effective drop chance is calculated as DropRate / 10000. A value of 100 equals a 1% chance. Adjust according to your desired item rarity.

Part 4 — Update GameServer Configuration Files

Step 8: Locate ItemList.bmd at:

GameServer/Data/Item/ItemList.bmd

This binary file controls base attributes as validated by the GameServer. On some MuServer versions, it is edited via a dedicated tool; on others, definitions come exclusively from the database.

Step 9: If the server uses an auxiliary .txt or .ini file (common on Season 2-4 versions), edit GameServer/Data/ItemList.txt:

// Format: Section Index Name DmgMin DmgMax Defense Dur Width Height LvlReq StrReq AgiReq EneReq CmdReq ClassReq Price TwoHand MagicPow AtkSpd DropLvl
0 45 "Chaos Blade" 120 180 0 100 2 4 300 250 0 0 0 2 500000 0 0 20 80

Step 10: Restart the GameServer to load the new definitions:

:: From the server root directory
cd C:\MuServer
taskkill /F /IM GameServer.exe
timeout /T 3
start GameServer\GameServer.exe

Part 5 — Sync with the Client

Atenção: The MU Online client validates item IDs locally. If the client's Data/Item/ItemList.bmd does not contain the item, it will appear as an unknown item (?) or trigger a client disconnect.

Step 11: Update ItemList.bmd in the client installation (client's Data/Item/ folder).

Step 12: If the item has its own texture or model, add the corresponding files:

Client/Data/Item/Item0045.ozj       -- Texture (inventory icon)
Client/Data/3DEffect/Item0045.ozt   -- 3D model (only needed for new meshes)

Step 13: Distribute the client patch to players via your server's update system (Main.exe patcher or custom launcher).


Part 6 — Add the Item to an NPC Shop

Step 14: To make the item purchasable from an NPC, insert into the NPC inventory table:

-- Add item to the Chaos Goblin shop (NPC type 8)
INSERT INTO MuOnline..NPCInventory (
    NPCType,
    ItemSection,
    ItemIndex,
    ItemLevel,
    SlotIndex
) VALUES (
    8,    -- NPC type
    0,    -- Item category
    45,   -- Item index
    0,    -- Item level in the shop
    15    -- Position in the shop grid (0-indexed)
);
Dica: SlotIndex controls the visual position in the shop window. Slots 0-35 fill the first page. Values above 35 open additional pages — note that not all clients support multi-page shops.

Verification and Troubleshooting

After restarting the server, verify the following:

1. Confirm item exists in the database:

SELECT * FROM MuOnline..Item
WHERE ItemSection = 0 AND ItemIndex = 45;

2. Test drop manually via GM command (if supported by your server build):

/item 0 45 15 28 28
-- Format: /item Category Index Level Option1 Option2

3. Check the GameServer log at GameServer/Log/GameServer.log for item loading errors — look for lines containing [Item Error] or Item load failed.

Nota: Servers running WebEngine or a web-based admin panel may manage some item tables through an administrative interface. Check whether the panel has an "Item Management" section before editing the database directly.

Complete Workflow Summary

  1. Identify free ID → SQL query on Item table
  2. Insert item → INSERT INTO MuOnline..Item
  3. Configure options → INSERT INTO MuOnline..ItemAddOption
  4. Configure drops → INSERT INTO MuOnline..MonsterItemDrop
  5. Update ItemList.bmd on the GameServer and client
  6. Restart GameServer
  7. Distribute client patch
  8. Test with GM command or in-game drop verification

Perguntas frequentes

Where are the item definition files located on the server?

The main files are under GameServer/Data/Item/ (e.g., ItemList.bmd, ItemAddOption.bmd). On Season 6 servers, ItemList.bmd controls base attributes while the MuOnline..Item database table manages drops and shop availability.

Can I add an item using an already-existing ID without conflicts?

No. Every item has a unique index composed of Category (0-15) and Index (0-511). Reusing an ID overwrites the original item. Always use empty IDs — run SELECT * FROM Item WHERE ItemCategory = X AND ItemIndex = Y to verify availability before inserting.

Why does the item show as '?' on the client after adding it to the server?

The client also needs its BMD/OZT files updated (client /Data/Item/ folder). Server and client definitions must stay in sync. Always distribute a client patch alongside any server-side item update.

How do I restrict an item to a specific class?

In ItemList.bmd (or the Item database table), the ClassReq field uses a bitmask: DW=1, DK=2, Elf=4, MG=8, DL=16, Sum=32, RF=64. To restrict to Dark Knight only, set ClassReq=2. For DK and Elf combined, use ClassReq=6.

VI

ViciadosMU Team

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

Keep reading

Related articles