> For the complete documentation index, see [llms.txt](https://axiomemu.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://axiomemu.gitbook.io/docs/gameserver/command-dat.md).

# Command.dat

Configures every server chat command: who can use it, how much it costs, daily/weekly/monthly caps, and what side effects apply.

## File Location

```
GameServer/Data/GameServerInfo - Command.dat
```

All keys under `[GameServerInfo]`. Changes require a GameServer restart.

{% hint style="info" %}
Many keys use `_AL0-3` suffixes for per-VIP-tier values. See [Account Level](/docs/gameserver/common-dat.md#account-level-al0-al3) in Common.dat for the tier mapping.
{% endhint %}

## Two-File Setup: Command.dat + Command.xml

A chat command only works if **both** files agree on it:

| File                                           | Defines                                                                                                                                                                                   |
| ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Shared `Data/Command.xml`                      | Each command's slash name, per-tier `Enable`, `Money`, `MinLevel`, `MaxLevel`, `MinReset`, `MaxReset`, optional WC/WP/GP cost, and the `GameMaster` authority level required to invoke it |
| `GameServer/Data/GameServerInfo - Command.dat` | The numeric tunables documented on this page (caps, per-period limits, bonus point formulas, broadcast templates)                                                                         |

The GM-level gate for every command lives in `Command.xml`'s `GameMaster=` attribute, not in this file. Commands commented out in `Command.xml` (for example `/reset`, `/mreset`) are registered only by their plugin equivalents - the legacy keys here apply only when the matching plugin is absent. `/post` is fully owned by the PostCommand plugin and has no native Command.xml entry. See [GameMaster.xml](/docs/data/experiencetable/gamemaster.md) for the account/character to GM-level mapping.

## Plugin-Owned Commands

`/reset`, `/mreset`, `/mr`, `/grandreset`, `/gr` and the NPC reset menu are owned by the **ResetSystem plugin** (`Data/Plugins/Characters/ResetSystem.xml`). All legacy `CommandReset*` / `CommandMasterReset*` / `CommandAddPointAutoEnable_*` keys have been removed from this file — edit the plugin XML for costs, level gates, caps, and reward formulas.

`/post` is owned exclusively by the **PostCommand plugin** (`Data/Plugins/Social/PostCommand.xml`).

## Change Command (/change)

Switch active character without re-logging.

| Key                        | Default  | Effect                               |
| -------------------------- | -------- | ------------------------------------ |
| `CommandChangeLimit_AL0-3` | `2` each | Changes allowed per session per tier |

## Warehouse Command (/ware)

Open another warehouse slot without visiting a merchant.

| Key                           | Default | Effect                              |
| ----------------------------- | ------- | ----------------------------------- |
| `CommandOpenWareOnlySafeZone` | `1`     | `1` restricts `/ware` to safe zones |

## Marry Command (/marry)

| Key                       | Type    | Default  | Effect                                                                             |
| ------------------------- | ------- | -------- | ---------------------------------------------------------------------------------- |
| `CommandMarryLevel`       | int     | `150`    | Minimum level to marry                                                             |
| `CommandMarryCost`        | zen     | `350`    | Zen cost per marriage                                                              |
| `CommandMarryNoticeDelay` | seconds | `60`     | Delay between marriage proposal broadcasts                                         |
| `CommandMarryMinTime`     | seconds | `604800` | Minimum marriage duration before divorce (`604800` = 7 days)                       |
| `CommandMarryOnlyGM`      | 0 or 1  | `0`      | `1` restricts `/marry` to GMs performing the ceremony; `0` lets players self-marry |

## Change Class Command (/changeclass)

Each toggle allows changing TO that target class.

| Key                       | Default | Allows target class |
| ------------------------- | ------- | ------------------- |
| `CommandChangeClassToDW`  | `1`     | Dark Wizard         |
| `CommandChangeClassToDK`  | `1`     | Dark Knight         |
| `CommandChangeClassToELF` | `1`     | Fairy Elf           |
| `CommandChangeClassToMG`  | `1`     | Magic Gladiator     |
| `CommandChangeClassToDL`  | `1`     | Dark Lord           |
| `CommandChangeClassToSU`  | `1`     | Summoner            |
| `CommandChangeClassToRF`  | `1`     | Rage Fighter        |

Set to `0` to block changing into that class.

## Reward Command (/reward)

GM command granting a currency to one player. Types 1-10 map to different currencies or items; the shipped template only fills Cash, Gold, and PcPoint in types 1-3 but the engine supports up to 10.

| Key                                                    | Type   | Default                               | Effect                                                                                                                                      |
| ------------------------------------------------------ | ------ | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `CommandRewardMaxType`                                 | int    | `3`                                   | Max type index accepted by the command. Values above this are rejected. Raise to enable types 4-10                                          |
| `CommandRewardMaxValue`                                | int    | `100`                                 | Max amount per single use                                                                                                                   |
| `CommandRewardType1Text` ... `CommandRewardType10Text` | string | shipped for types 1-3; empty for 4-10 | Broadcast template per type. Shipped defaults use `%s` (GM name), `%s` (target name), `%d` (amount). Define additional types to unlock them |

## RewardAll Command (/rewardall)

Same as `/reward` but grants to every online player.

| Key                                                          | Type   | Default               | Effect                                                                    |
| ------------------------------------------------------------ | ------ | --------------------- | ------------------------------------------------------------------------- |
| `CommandRewardAllMaxType`                                    | int    | `3`                   | Max type index; raise to enable types 4-10                                |
| `CommandRewardAllMaxValue`                                   | int    | `100`                 | Max amount per use                                                        |
| `CommandRewardAllType1Text` ... `CommandRewardAllType10Text` | string | shipped for types 1-3 | Broadcast templates per type. Placeholders: `%s` (GM name), `%d` (amount) |

## Rename Command (/rename) - Premium

| Key                        | Type    | Default   | Effect                                                    |
| -------------------------- | ------- | --------- | --------------------------------------------------------- |
| `CommandRenameDelay_AL0-3` | seconds | `60` each | Cooldown between uses                                     |
| `CommandRenameNeedTicket`  | 0 or 1  | `0`       | `1` requires a consumable rename ticket item in inventory |

## Gift Command (/presente)

Drops an item from the dedicated Gift event bag.

| Key                | Type | Default | Effect                                                                   |
| ------------------ | ---- | ------- | ------------------------------------------------------------------------ |
| `CommandGiftLimit` | int  | `5`     | Maximum uses tracked per character. Counter resets on GameServer restart |

{% hint style="info" %}
The item pool comes from the Gift entry in the shared `Data/EventItemBagManager.xml`. Edit that file to change what gifts drop.
{% endhint %}

## Help Command (/ajuda)

Spawns a set of monsters around the caller (help against stuck quests or blocked paths).

| Key                        | Type | Default | Effect                                |
| -------------------------- | ---- | ------- | ------------------------------------- |
| `CommandHelpMonsterIndex`  | int  | `151`   | Monster index to spawn                |
| `CommandHelpMonsterAmount` | int  | `3`     | Number spawned. Recommended maximum 5 |

## Bloc Command (/bloc)

Block/unblock incoming messages at the account or character level.

| Key                          | Default | Effect                                                             |
| ---------------------------- | ------- | ------------------------------------------------------------------ |
| `CommandBlocAccShowMessage`  | `1`     | `1` shows a system message when a bloc is applied at account level |
| `CommandBlocCharShowMessage` | `1`     | `1` shows the same at character level                              |

## Cross-File Dependencies

| Setting here                                                                                                                                                                                                                                                                                       | Related in                                                                                                                                                                              |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Every command listed above                                                                                                                                                                                                                                                                         | Requires a matching `<Command>` entry in shared `Data/Command.xml`. The XML controls the slash name, per-tier `Enable`/cost, and the `GameMaster` authority level required to invoke it |
| GM-only commands (`/marry` ceremony mode, `/reward`, `/rewardall`, `/gmmove`, `/gmpost`, `/track`, `/trace`, `/disconnect`, `/fireworks`, `/make`, `/skin`, `/setmoney`, `/notice`, `/hide`, `/setvip`, `/reload`, `/banchar`, `/banacc`, `/spot`, `/setcoin`, `/dropbag` and event-start helpers) | Account/character to GM-level mapping in shared [`Data/Util/GameMaster.xml`](/docs/data/experiencetable/gamemaster.md)                                                                  |
| `CommandGiftLimit`                                                                                                                                                                                                                                                                                 | Gift drop pool defined in shared `Data/EventItemBagManager.xml` + a matching `EventItemBag/*.xml`                                                                                       |
| `CommandRenameNeedTicket`                                                                                                                                                                                                                                                                          | Ticket item index comes from the shared `Data/Item/Item.xml` rename ticket entry                                                                                                        |
| `CommandChangeClassTo*`                                                                                                                                                                                                                                                                            | Additional class-availability gates in [Common.dat](/docs/gameserver/common-dat.md) Create Character Settings                                                                           |

## Common Issues

* **`/marry` fails for two players on the same account** - one-account-one-marriage is enforced at the character level; check `CommandMarryMinTime` and the existing marriage row
* **`/reward` broadcast shows literal `%s`** - text string missing both format specifiers; leave `%s ... %d ...` in the template
* **`/changeclass` lets players switch into an advanced class for free** - check Common.dat `<CLASS>CreateLevel_AL*` and `<CLASS>CreateReset_AL*`; the Create gate still applies
* **`/presente` drops nothing** - the Gift entry in `EventItemBagManager.xml` is missing or points to an empty bag
