For the complete documentation index, see llms.txt. This page is also available as Markdown.

Command.xml

Per-command registry of every chat command the server accepts, with per-tier gates

Master registry of every chat command available on the server: the command string the player types, GM-only flag, delay, currency costs, and per-tier enable/level/reset gates.

File Location

Data/Command.xml

Loaded once at GameServer startup. Changes require a restart.

Relationship to Command.dat

  • Command.xml (this file) - defines which commands exist, their syntax, and common gates (delay, GM flag, coin cost, per-tier enable)

  • GameServerInfo - Command.dat - defines per-command behavioral tuning (reset cost, master reset caps, reward amounts, marry settings)

Both files are active at the same time. A command must be present and enabled in Command.xml for the player to invoke it at all; once invoked, Command.dat values govern what happens. Disabling a command here turns it off even if the corresponding Command.dat settings are filled in.

Schema

<CommandList>
    <Command Index="..." Name="/..." Delay="..." GameMaster="..." WC="..." WP="..." GP="...">
        <Level0 Enable="..." Money="..." MinLevel="..." MaxLevel="..." MinReset="..." MaxReset="..." />
        <Level1 Enable="..." Money="..." MinLevel="..." MaxLevel="..." MinReset="..." MaxReset="..." />
        <Level2 Enable="..." Money="..." MinLevel="..." MaxLevel="..." MinReset="..." MaxReset="..." />
        <Level3 Enable="..." Money="..." MinLevel="..." MaxLevel="..." MinReset="..." MaxReset="..." />
    </Command>
</CommandList>

Command attributes

Attribute
Type
Effect

Index

int

Unique command ID. Internal; must not collide

Name

string

The exact string players type, including the leading /. Case-insensitive at match time

Delay

seconds

Cooldown between uses. 0 = no cooldown

GameMaster

int

Minimum GM authority level required. 0 = anyone; 1+ requires a matching entry in GameMaster.xml with Level at least this value. Shipped template uses 0, 1, and 2

WC

int

WCoin (C) cost per use, deducted on success

WP

int

WCoin (P) cost per use, deducted on success

GP

int

Goblin Point cost per use, deducted on success

Coins (WC/WP/GP) are single values, not per-tier. If any coin cost is non-zero the server first sends a confirmation prompt; the second identical invocation completes the command and only then deducts the coins (and Money). Failed commands (for example /move with a bad map name) charge nothing.

Per-tier Level0-3 attributes

Account Level tiers follow the same mapping as elsewhere: Level0 = free, Level1-3 = VIP tiers. See Account Level.

Attribute
Type
Effect

Enable

0 or 1

1 lets this tier use the command. 0 silently rejects the command with no message

Money

zen

Zen cost per use for this tier. Deducted only on a successful invocation

MinLevel

int

Minimum character level. 0 = no minimum

MaxLevel

int

Maximum character level. 0 = no maximum

MinReset

int

Minimum reset count. 0 = no minimum

MaxReset

int

Maximum reset count. 0 = no maximum

Gate evaluation is AND: the character must meet every filled gate for their tier. Gates are checked in this order: Enable -> Money balance -> trade window check -> MinLevel -> MaxLevel -> MinReset -> MaxReset -> Delay cooldown -> GameMaster level -> coin balance (WC/WP/GP). The first failing gate emits a notice and aborts.

Shipped Commands

The shipped Command.xml defines 85+ entries (Index 0 through 85). They fall into these groups:

Group
Examples

Movement

/move, /moveall, /moveguild, /gmmove, /pack, /unpack

Stat points

/addstr, /addagi, /addvit, /addene, /addcmd

Character

/evo, /classe, /info, /readd, /remaster, /resp, /re, /rei

Currency / items

/zen, /setmoney, /setcoin, /make, /makeset, /drop, /dropbag, /clearinv, /presente, /pick

PK / PvP

/pk, /attack, /offattack (also triggered by the MuHelper OffLine checkbox - see Common.dat -> MuHelper Offline Bridge), /offpvp, /store, /offstore

Warehouse

/bau, /abrirbau

Rename / self-service

/mudarnome, /lock, /unlock, /set, /setlvl

GM utilities

/banacc, /banchar, /disconnect, /gmpost, /notice, /hide, /track, /trace, /skin, /veloz, /spot, /reload, /setvip, /fireworks

Reward broadcasts (GM)

/premiar, /premiarall (dispatched to the CommandReward / CommandRewardAll handlers - see Command.dat)

Events (GM start)

/abrirevento, /escesc, /matamata, /pegapega, /roletarussa, /startbc, /startds, /startcc, /startit, /starttvt, /startquiz, /startdrop, /startking, /startinvasion, /startarena, /startgvg, /pvp, /war, /soccer

Events (player join)

/participar, /queroir

Marriage

/marry

Help / misc

/ajuda, /top, /quest

The template ships with /post (Index 1), /reset (Index 11), and /mreset (Index 22) commented out. Uncomment them (or remove the XML comments) to enable the native handlers; otherwise loaded plugins own those invocations. See Plugin Overrides.

Comment out a <Command> block to remove a command without deleting its entry.

A command's Index must be unique and stable. Don't change it on a live server; saved data and plugins may reference it.

Plugin Overrides

Some commands are owned by plugins instead of the native CommandManager dispatch:

Command
Handled by
Behavior

/reset, /mreset

ResetSystem plugin (Data/Plugins/Characters/ResetSystem.xml)

When the plugin is loaded, it owns these commands. The shipped Command.xml leaves Index 11 (/reset) and Index 22 (/mreset) commented out so that only the plugin responds. Re-enabling the XML entries while the plugin is loaded double-handles the command

/post (or configured name)

PostCommand plugin (Data/Plugins/Social/PostCommand.xml)

Plugin-owned only. Native dispatch was removed; the shipped Command.xml no longer carries an Index 1 entry. All behavior — name, cooldown, level/VIP gate, zen cost, broadcast prefix — comes from the plugin XML

See Command.dat for the split between native-command tuning and plugin-owned tuning.

Examples

Free accounts pay 10k zen, VIP tiers pay less or nothing. All tiers need level 100+.

Cross-File Dependencies

Gate or field here
Related in

GameMaster

GameMaster.xml - character entries and their authority Level

Level0-3 tier gates

Same Account Level scheme as every other _AL0-3 key. See Account Level

WC / WP / GP coin balances

Synced via the cash wallet maintained by DataServer; see also Cash Shop for the main WCoin / GP consumer

/reset, /mreset

ResetSystem plugin config at Data/Plugins/Characters/ResetSystem.xml (native entries are commented out in the shipped XML)

/post

PostCommand plugin config at Data/Plugins/Social/PostCommand.xml. The shipped Command.xml has no /post entry; native dispatch was removed

/marry

Command.dat CommandMarryLevel, CommandMarryCost, CommandMarryMinTime, CommandMarryNoticeDelay, CommandMarryOnlyGM

/reset, /mreset

Owned by ResetSystem plugin. Legacy Command.dat keys are removed; all costs, caps, and reward formulas are in the plugin XML

/premiar, /premiarall broadcast text

Command.dat CommandRewardType*Text, Command.dat CommandRewardAllType*Text

/change (/classe)

Command.dat CommandChangeClass* keys

/ajuda text

Command.dat CommandHelp* keys

/presente

Command.dat CommandGift* keys

Common Issues

  • Command does nothing when typed - Enable="0" for that player's tier, or the command is commented out in XML, or a plugin owns the command and silently rejects (check server log)

  • GM command fails for a GM account - the character is not listed in GameMaster.xml, or the listed Level is lower than the Command.xml GameMaster value

  • Command works for one player, not another - check MinLevel / MinReset / MaxLevel / MaxReset for that player's tier; the player may fall outside the range

  • Player was NOT charged after a successful command - expected for any command that fails validation inside its handler (bad argument, target not found, etc.). Money, WC, WP, GP are only deducted when the dispatched handler returns success

  • Coin-cost command silently did nothing on first use - non-zero WC/WP/GP triggers a one-time confirmation prompt; the second invocation executes and charges

  • Duplicate Index in XML - two <Command> entries share the same Index; the map keeps only one entry at that index

  • Changed Money cost, no effect - /reset and /mreset layer an additional Zen cost from Command.dat on top of the XML Money value, and /marry takes its cost from Command.dat CommandMarryCost; check both files

Last updated