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.xmlLoaded 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
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.
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:
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:
/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+.
GameMaster="1" requires a GameMaster.xml entry with Level at least 1. Characters without a matching entry are rejected regardless of Enable. Commands like /make, /drop, /makeset, /setcoin, /reload ship with GameMaster="2" so only higher-tier GMs can use them.
Free tier cannot use rename. VIP tiers pay 100 WCoin (C) per successful use; the first /mudarnome invocation prompts for confirmation and the second one finalises the charge.
Shipped template comments out /reset so the ResetSystem plugin can own it without conflict.
Cross-File Dependencies
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
Levelis lower than theCommand.xmlGameMastervalueCommand works for one player, not another - check
MinLevel/MinReset/MaxLevel/MaxResetfor that player's tier; the player may fall outside the rangePlayer 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,GPare only deducted when the dispatched handler returns successCoin-cost command silently did nothing on first use - non-zero
WC/WP/GPtriggers a one-time confirmation prompt; the second invocation executes and chargesDuplicate Index in XML - two
<Command>entries share the sameIndex; the map keeps only one entry at that indexChanged
Moneycost, no effect -/resetand/mresetlayer an additional Zen cost from Command.dat on top of the XMLMoneyvalue, and/marrytakes its cost from Command.datCommandMarryCost; check both files
Last updated