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

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+.

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

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 MuOnline database
  • Access to the GameServer/Data/ folder on the server
  • Server stopped (GameServer.exe closed) for editing monster .txt files
Nota: In custom S9 and S10 versions, some developers implement their own "Point Shop" systems with different tables. Check your server file's documentation before proceeding.

Step 1: Understanding the Ruud System Structure

The Ruud system operates across three layers:

  1. Ruud Earning — configured per event (Ruud's Ark, specific maps, quest rewards)
  2. StorageRuud column in the Character table of the MuOnline database
  3. Ruud ShopT_MN_PointShopList table 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);
Dica: The 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
Atenção: The X and Y coordinates must be within the map boundaries. For Lorencia (map 0), the town center is around X=136, Y=140. Use the client with coordinate display enabled to confirm the exact position.

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
Dica: Consult 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.txt has 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_BuyPointShopItem exists in the database
  • Confirm the Ruud column in the Character table is type INT (not BIGINT)
Atenção: Always make a full database backup (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).

VI

ViciadosMU Team

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

Keep reading

Related articles