How to Configure the Ruud Shop and Event NPCs on MU Server
Learn to configure the Ruud shop, set item prices, position event NPCs, and adjust rewards via SQL and .ini files on MuServer Season 12+.
The Ruud currency was introduced starting in MU Online Season 12 and represents one of the main character progression currencies on modern private servers. Properly configuring the Ruud shop and positioning event NPCs ensures a healthy economy and engaged players on your server.
This guide covers the complete configuration: from the SQL item table to physically positioning NPCs on the map.
Prerequisites
- MuServer Season 12 or higher (the Ruud shop does not exist in vanilla S6)
- Access to SQL Server Management Studio with write permissions on the
MuOnlinedatabase - Access to the
GameServer/Data/folder on the server - Server stopped (GameServer.exe closed) for editing monster .txt files
Step 1: Understanding the Ruud System Structure
The Ruud system operates across three layers:
- Ruud Earning — configured per event (Ruud's Ark, specific maps, quest rewards)
- Storage —
Ruudcolumn in theCharactertable of theMuOnlinedatabase - Ruud Shop —
T_MN_PointShopListtable defines available items and prices
Verify that the Ruud column exists in your database:
-- Check if the Ruud column exists in the Character table
SELECT COLUMN_NAME, DATA_TYPE, COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Character'
AND COLUMN_NAME = 'Ruud';
If the column does not exist, add it:
ALTER TABLE MuOnline..Character
ADD Ruud INT NOT NULL DEFAULT 0;
Step 2: Configure the Shop Item Table
The T_MN_PointShopList table defines each item available in the shop. Open SSMS and run:
-- View current Ruud shop contents
SELECT TOP 20
ShopCode,
ItemCode,
ItemIndex,
ItemLevel,
ItemOpt,
Price,
ClassFlag,
LimitBuy,
SaleFlag
FROM MuOnline..T_MN_PointShopList
ORDER BY ShopCode;
To add a new item (example: Wings of Ruin level 3 for 15,000 Ruud):
-- Insert item into the Ruud shop
-- ItemCode 12 = Wings, ItemIndex 36 = Wings of Ruin, ItemLevel 3
INSERT INTO MuOnline..T_MN_PointShopList
(ShopCode, ItemCode, ItemIndex, ItemLevel, ItemOpt, Price, ClassFlag, LimitBuy, SaleFlag)
VALUES
(1, 12, 36, 3, 0, 15000, 255, 0, 1);
ClassFlag field uses a bitmask: 1=DW, 2=DK, 4=Elf, 8=MG, 16=DL, 32=Summoner, 64=RF, 128=GL. Add values together to enable multiple classes. Value 255 enables all classes.To update the price of an existing item:
-- Change the price of a specific shop item
UPDATE MuOnline..T_MN_PointShopList
SET Price = 8000
WHERE ItemCode = 13 AND ItemIndex = 0 AND ShopCode = 1;
-- ItemCode 13 = Archangel set (example)
To remove an item from the shop:
-- Remove an item from the Ruud shop
DELETE FROM MuOnline..T_MN_PointShopList
WHERE ShopCode = 1 AND ItemCode = 12 AND ItemIndex = 36;
Step 3: Configure Purchase Limits and Restrictions
The LimitBuy field defines how many times per account/character an item can be purchased:
-- Set a 1-purchase limit per character for a special item
UPDATE MuOnline..T_MN_PointShopList
SET LimitBuy = 1
WHERE ShopCode = 1 AND ItemCode = 12 AND ItemIndex = 36;
-- Remove limit (0 = unlimited)
UPDATE MuOnline..T_MN_PointShopList
SET LimitBuy = 0
WHERE ShopCode = 1;
To track purchases with limits, check the history table:
-- View Ruud shop purchase history
SELECT TOP 50
AccountID,
CharName,
ItemCode,
ItemIndex,
Price,
BuyDate
FROM MuOnline..T_MN_PointShopBuyList
ORDER BY BuyDate DESC;
Step 4: Position the Shop NPC on the Map
The NPC that opens the Ruud shop (usually called Lugard in S12+, MonsterIndex 658) needs to be positioned via a text file.
Open GameServer/Data/Monster/MonsterSetBase.txt and add the line:
// Ruud Shop NPC - Lorencia
658 0 136 140 0 0 50
// Format: MonsterIndex MapNumber X Y Dir Action ViewRange
For multiple shop NPCs across different maps:
// Ruud Shop NPC - Noria (map 3)
658 3 170 100 0 0 50
// Ruud Shop NPC - Elbeland (map 51)
658 51 215 045 0 0 50
Step 5: Configure Ruud Rewards per Event
Ruud rewards granted upon completing events are configured in .ini files or directly via SQL, depending on your server version.
Via .ini file (GameServer/Config/):
; File: GameServer/Config/EventRuudReward.ini
[BloodCastle]
BC1_Ruud=200
BC2_Ruud=300
BC3_Ruud=400
BC4_Ruud=500
BC5_Ruud=600
BC6_Ruud=700
BC7_Ruud=1000
[DevilSquare]
DS1_Ruud=150
DS2_Ruud=250
DS3_Ruud=350
DS4_Ruud=500
DS5_Ruud=700
[ChaosCastle]
CC1_Ruud=100
CC7_Ruud=500
Via SQL (if the server uses a configuration table):
-- View Ruud configuration per event
SELECT EventType, EventLevel, RuudReward
FROM MuOnline..T_MN_EventRuudConfig
ORDER BY EventType, EventLevel;
-- Update Blood Castle level 7 reward
UPDATE MuOnline..T_MN_EventRuudConfig
SET RuudReward = 1500
WHERE EventType = 1 AND EventLevel = 7;
-- EventType: 1=BloodCastle, 2=DevilSquare, 3=ChaosCastle
Step 6: Configure Additional Event NPCs
Beyond the Ruud shop, event NPCs (Blood Castle gatekeepers, Devil Square, etc.) are configured in the same MonsterSetBase.txt file:
// Archangel Michael - Blood Castle NPC (map 9 = BC Entrance)
131 9 014 025 0 0 1
// Charon - Blood Castle Entry Portal
132 0 016 014 0 0 1
// Wizard - Devil Square NPC
120 34 210 070 0 0 1
GameServer/Data/Monster/Monster.txt to find the correct MonsterIndex for each NPC. Search for names like "Lugard", "Charon", "Michael", or "Gatekeeper" to identify the correct indices.Step 7: Verify and Test the Configuration
After all changes, follow this verification sequence:
SQL verification → Confirm items appear in the table
-- Confirm items registered in the shop
SELECT COUNT(*) AS TotalItems,
SUM(CASE WHEN SaleFlag = 1 THEN 1 ELSE 0 END) AS ActiveItems
FROM MuOnline..T_MN_PointShopList
WHERE ShopCode = 1;
Character Ruud balance check → Confirm test balance
-- Add test Ruud to a character
UPDATE MuOnline..Character
SET Ruud = Ruud + 50000
WHERE Name = 'YourGMChar';
-- Verify balance
SELECT Name, Ruud FROM MuOnline..Character WHERE Name = 'YourGMChar';
Restart the GameServer → Changes to .txt and .ini files only take effect after a restart
Start the server and log in with the test character → walk to the positioned NPC → open the shop → confirm items appear with the configured prices → attempt a purchase → verify in the database that Ruud was correctly deducted.
Troubleshooting Common Issues
NPC does not appear on the map:
- Confirm the MonsterIndex exists in
Monster.txt - Verify coordinates are within the map boundaries
- Make sure
MonsterSetBase.txthas no formatting errors (use tabs, not spaces)
Shop opens but shows wrong items:
-- Check if the NPC's ShopCode matches the table
SELECT NpcIndex, ShopCode FROM MuOnline..T_MN_NpcShopInfo WHERE NpcIndex = 658;
Ruud is not deducted after purchase:
- Check that the stored procedure
WZ_BuyPointShopItemexists in the database - Confirm the
Ruudcolumn in theCharactertable is type INT (not BIGINT)
MuOnline and MuOnline_Account) before running any UPDATE or DELETE on the shop table. A missing WHERE clause can wipe all configured prices.Perguntas frequentes
Where is the event NPC configuration file in MuServer S6?
Event NPCs are defined in GameServer/Data/Monster/Monster.txt (world positioning) and in the T_MN_PointShopList table of the MuOnline database, which stores the items available in the Ruud shop.
How do I change an item's price in the Ruud shop via SQL?
Run UPDATE MuOnline..T_MN_PointShopList SET Price = 5000 WHERE ItemCode = 13 AND ItemIndex = 0; replacing ItemCode and ItemIndex with the target item's codes and Price with the new Ruud value.
The Ruud NPC is not appearing on the map — what should I check?
Confirm the NPC is listed in GameServer/Data/Monster/MonsterSetBase.txt with correct map coordinates, that the MonsterIndex matches the shop NPC (usually 658 for Lugard in S12+), and that the server was restarted after the change.
Can I limit which classes can buy from the Ruud shop?
Yes, the T_MN_PointShopList table has a ClassFlag column where you set a bitmask of allowed classes. Value 255 allows all classes; value 1 restricts to Dark Wizards only (class 0).