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

How to configure Moss the Merchant and the roulette in MU Online

Learn how to enable the Moss the Merchant NPC, build the event shop and configure the reward roulette to engage the players on your MU Online server.

GA Gabriel · Updated on Mar 2, 2026 · ⏱ 13 min read
Quick answer

Moss the Merchant is one of the most beloved NPCs in the MU Online community. Introduced as part of the seasonal events, he works as a wandering merchant who offers exclusive items, reward boxes and tickets — often connected to a reward roulette system (also called Lucky Item, Wheel of Fortune or Ru

Moss the Merchant is one of the most beloved NPCs in the MU Online community. Introduced as part of the seasonal events, he works as a wandering merchant who offers exclusive items, reward boxes and tickets — often connected to a reward roulette system (also called Lucky Item, Wheel of Fortune or Ruleta, depending on the emulator). For a private server administrator, mastering this NPC's configuration means having a powerful engagement tool in hand and, when well calibrated, a healthy currency "sink" within the game economy.

In this tutorial you will learn, step by step, how to spawn Moss the Merchant on the desired map, build his event shop, create the tickets that feed the roulette and configure the raffle's probabilities and rewards. We will also cover the most common errors, a launch checklist and good economic-balancing practices. All the file and table names mentioned serve as an example — the exact structure varies by emulator (IGCN, MuEMU, Zhyper, X-Files, DreamMU and others use different names and formats), so treat the paths as a conceptual reference and adapt them to your build.

If you do not have a server up yet, start with the base guide on how to create a MU Online server and then come back here to add the event.

Prerequisites

Before touching any file, make sure the environment is healthy. Configuring an event NPC on top of an unstable server only multiplies the headache in troubleshooting.

  • Functional server: ConnectServer, DataServer (or equivalent) and GameServer starting without errors and accepting logins.
  • Accessible database: SQL Server (MuOnline / Me_MuOnline) or MySQL, depending on the emulator, with SSMS or HeidiSQL installed.
  • A suitable text editor: Notepad++ or VS Code. Avoid the standard Notepad, which can corrupt the encoding of the .txt files used by the GameServer.
  • A complete backup: copy the GameServer folder and dump the database before starting. Any index error in a shop file can bring the server down.
  • A synced client Item.bmd: every item you intend to sell or raffle needs to exist in the client, otherwise the player crashes when viewing it.
  • GM access: an account with administrator level to test spawns, commands and rewards without depending on scheduled times.

> Tip: keep a second environment (staging) identical to production. Testing Moss and the roulette in staging prevents a mistyped probability from handing a rare item to the entire server.

Understanding the event architecture

Moss the Merchant is, technically, just another monster/NPC in the MU engine. What sets him apart is the set of three pieces that work together:

  1. The NPC spawn — defines where and when he appears (map, X/Y coordinates, direction and, optionally, the event time).
  2. The linked shop — a file (often something like MerchantShop.txt, EventItemBag.txt or a ShopItem table) that lists what he sells, the price and the currency.
  3. The roulette/raffle logic — a configuration file that associates a "ticket" (consumable item) with a table of probabilities and rewards.

Understanding this separation is essential because each emulator implements the pieces differently. In some, the roulette is a native system with its own client interface; in others, it is simulated via a "raffle box" (an item that, when opened, calls a drop table). The MU concept stays the same — what changes is where you edit.

Step 1: Define the NPC's map and coordinates

Choose where Moss will reside. High-traffic locations like Lorencia (map 0), Noria (map 3) or Elbeland concentrate players and maximize interaction. Many administrators prefer Lorencia's central square, near the Safe Zone, to make access easier.

The spawn is normally declared in a monster list file. An example line (generic format, varies by emulator):

# Index  Map  X   Y   Dir
660      0    143 130 3

Where:

  • Index (660) is the ID of the Moss the Merchant NPC in your emulator. Confirm the correct number in the build's documentation — do not assume.
  • Map (0) is Lorencia.
  • X/Y (143/130) are the coordinates within the map.
  • Dir (3) is the direction the NPC faces.

In SQL-based builds, the spawn may live in a table like MonsterSetBase instead of a .txt. In that case the INSERT would conceptually be:

INSERT INTO MonsterSetBase (MonsterClass, Map, X, Y, Dir)
VALUES (660, 0, 143, 130, 3);

Step 2: Register the NPC behavior

A common monster attacks; a merchant NPC needs to open a shop window when clicked. This distinction is usually made in a monster definition file (Monster.txt, MonsterList or similar), where a flag or column marks the index as a shop-type NPC.

# Index  Name              Type
660      "Moss the Merchant"  NPC_SHOP

If your emulator uses numeric columns instead of labels, the "shop type" may be a specific number. The essential point: the NPC must be marked as a vendor and point to the correct shop file. Without this link, clicking on him does nothing or crashes the client.

Step 3: Build the event shop

Here you define Moss's inventory. Each line represents an item for sale, with its cost and currency. Example of a generic structure:

# Slot  ItemCat  ItemIndex  Level  Durability  Price     Currency
0       14       13         0      1            5000000   Zen        # Jewel of Bless
1       14       14         0      1            8000000   Zen        # Jewel of Soul
2       12       15         0      1            30        Wcoin      # Roulette Ticket
3       14       31         0      1            150       Ruud       # Box of Luck

Typical fields:

  • ItemCat / ItemIndex: the item's category and index in the MU system (the famous type:index pair). Jewel of Bless, for example, is frequently 14:13.
  • Level: the item's level (for weapons/armor). Consumables usually stay at 0.
  • Price / Currency: the value and currency. The available currency varies by emulator — Zen, Jewels, Wcoin, Goblin Points, Ruud or custom.

The most important item in this shop for our purpose is the Roulette Ticket (slot 2 in the example). It is what connects Moss to the raffle system.

ItemUse categorySuggested currencyNote
Roulette TicketFeeds the rouletteWcoin / RuudMain source of engagement
Jewel of BlessItem upgradeZenEconomy sink
Jewel of SoulItem upgradeZenEconomy sink
Box of LuckRandom drop boxRuudIntermediate reward
Temporary Pet / RingCosmetic / buffWcoinVanity item

Step 4: Configure the roulette (Lucky Item / Wheel)

The roulette consumes the ticket and returns a prize according to a probability table. The configuration lives in a file such as LuckyItem.txt, Wheel.txt or in a SQL raffle table. The principle is always the same: each prize has a weight (chance), and the sum of the weights defines the raffle universe.

# ItemCat  ItemIndex  Level  Chance(%)   Amount
14         13         0      35.0        1        # Jewel of Bless
14         14         0      30.0        1        # Jewel of Soul
14         16         0      20.0        1        # Jewel of Life
12         15         0      10.0        1        # Extra ticket (re-roll)
0          0          0      4.5         1        # Box of Excellent
0          0          15     0.5         1        # Rare Excellent item (jackpot)

Good calibration practices:

  1. The sum of the chances must close at 100% (or the "total weight" expected by your build). Many emulators normalize automatically, but do not count on it — close the math manually.
  2. Reserve the jackpot for under 1%. A rare prize with a 5% chance floods the server in a week.
  3. Include "consolation" prizes (common jewels) with high probability so the player rarely feels they "lost everything".
  4. Document each weight with a comment. Your future self will thank you.

How the client displays the roulette

If your emulator has a native roulette interface, it reads this table and animates the spin. If it does not, the "ticket" is just a consumable item that, when used, calls the drop table internally. In both cases the probability logic is identical — only the visual presentation changes, and that varies by emulator.

Step 5: Set the event schedule (optional)

In official MU, Moss appears only in specific windows. To replicate this, use the event scheduling table or file:

# EventCode  StartHour  StartMinute  DurationMin
MOSS         12         0            60
MOSS         20         0            60

To keep him permanent, simply do not register a schedule and keep the spawn fixed. The choice depends on your audience: timed events create a sense of urgency; permanent NPCs reduce friction for casual players.

Step 6: Restart and test

After saving all the files:

  1. Close the GameServer safely (avoid force-killing the process so you do not corrupt data).
  2. Restart the GameServer to reload the shop and roulette table.
  3. Log in with a GM account.
  4. Go to the spawn coordinates and confirm that Moss appeared.
  5. Click the NPC and check that the shop window opens with all the items.
  6. Buy a Roulette Ticket and run the raffle a few times.
  7. Check in the logs whether the rewards were delivered and whether the currency was debited correctly.

> Testing tip: to validate probabilities without spending hours, do 100 spins in a row with a GM account (with "infinite" currency) and count how many times each prize came up. If the 0.5% jackpot appeared 8 times in 100, something is wrong in your weight table.

Economic balancing

The great trap of Moss + roulette is not technical, it is economic. If the prizes are too generous relative to the ticket cost, you devalue your entire jewel and Wcoin economy. Some principles:

  • The ticket must have a real cost. If it is too cheap, players farm spins en masse.
  • The expected value (EV) of a spin should be slightly lower than the ticket cost. This keeps the roulette a "sink" and not a "money printer".
  • Monitor inflation. Watch the price of jewels in the player market after launching the event. If it plummets, reduce the chances of the jewel prizes.
  • Rotate the prizes. Swapping Moss's inventory each season renews interest without inflating the economy.

Common errors and fixes

SymptomLikely causeFix
NPC does not appear on the mapWrong index, invalid coordinates or spawn not loadedConfirm Moss's Index in the build and restart the GameServer
Clicking the NPC does not open the shopNPC not marked as shop type or shop not linkedReview the monster definition file and the link to the shop file
Item disappears from the shop / crash on openItemCat:ItemIndex nonexistent in the client's Item.bmdSync the Item.bmd; remove invalid items
Roulette always gives the same prizePoorly calculated chance sum or zeroed weight on the othersRedo the weight table ensuring a coherent sum
Jackpot comes up with absurd frequencyChance typed as an integer instead of a decimal (5 vs 0.5)Adjust the number format as the emulator requires
Currency is not debitedWrong currency field or unsupported currency typeUse a currency the build recognizes; check the Currency column
Prize not delivered but ticket consumedFull inventory or invalid prize itemInstruct the player to free up space; validate the prize item

Launch checklist

  • Complete backup of the GameServer and the database done
  • Correct Moss the Merchant index confirmed in the build documentation
  • Spawn configured with tested map and coordinates
  • NPC marked as shop type and linked to the shop file
  • Shop inventory defined with coherent currency and prices
  • Roulette Ticket included in the shop
  • Roulette table with chances summing to 100% (or the expected total weight)
  • Jackpot with a probability below 1%
  • All prize items present in the client's Item.bmd
  • Event schedule defined (or permanent spawn confirmed)
  • Test of 100 spins validating the probabilities
  • Expected value of the spin lower than the ticket cost (economic sink)
  • Prize delivery and currency debit logs verified
  • Announcement for the players prepared

Final considerations

Moss the Merchant and the roulette, when well configured, become one of the pillars of your server's retention. The technical part — spawn, shop, raffle table — is relatively simple and follows universal MU Online concepts. The real work lies in continuous balancing: monitoring the economy, rotating prizes and adjusting probabilities as the population evolves.

Start conservative with the chances of rare items, observe player behavior in the first weeks and only then loosen up. It is much easier to increase an event's generosity than to take away prizes players have already gotten used to receiving. Remember that each emulator implements these systems in its own way, so treat this guide as a conceptual map and validate each step in your build's documentation.

Frequently asked questions

Does Moss the Merchant appear only during events?

In official MU Online he shows up only within specific time windows, but on most emulators you can keep him permanent by adjusting the spawn in Monster.txt or MonsterSetBase and removing any time restriction in the events table.

Which currency does the Moss shop usually use?

It depends on the build. Historically it uses Zen and Jewels, but modern emulators let you switch to Wcoin, Ruud or a custom currency by editing the cost field in the shop file; the behavior varies by emulator.

Are the roulette and Moss the Merchant the same thing?

No. Moss is the vendor NPC that trades items for currency; the roulette (Lucky Item / Wheel) is a raffle mini-game. Many servers integrate the two, setting the roulette tickets as an item sold by Moss.

Why don't the items show up in the NPC's sales window?

Almost always it is an invalid ItemCode, a wrong shop index or the shop file not linked to the NPC in Monster/NPC. Also check whether the item exists in the client's Item.bmd.

Can I run the roulette without restarting the GameServer?

Most emulators require a GameServer restart to reload the shop and raffle configuration files. Some have a reload command via the GM console, but this varies by emulator.

GA
Guides & builds editor

Gabriel covers gameplay, class builds, PvP and progression. He tests every strategy on a live server before publishing.

Keep reading

Related articles