CustomMove.xml
Additional slash-command teleports layered on top of Move.txt. Define up to 20 commands like /pvp1 or /arena1 with per-command coordinate targets and access gates (level, reset, master reset, VIP, PK).
File Location#
Data/Plugins/World/CustomMove.xml
Loaded once at GameServer startup. Supports hot reload via plugin admin command.
Schema#
<CustomMoves>
<Move Index="..." Name="..."
Map="..." X="..." Y="..."
MinLevel="..." MaxLevel="..."
MinReset="..." MaxReset="..."
MinMReset="..." MaxMReset="..."
AccountLevel="..." PkMove="..." />
</CustomMoves>
Attributes#
| Attribute | Type | Effect |
|---|---|---|
Index | int | Unique slot ID. Duplicate indices: only the first entry loaded wins, later duplicates are silently dropped. Compiled cap is 20 entries per server |
Name | string | Command name including leading /. Matched case-insensitively against the first whitespace-separated token of the chat line. Max 31 characters |
Map | int | Target map number |
X, Y | int | Destination tile coordinates on that map |
MinLevel / MaxLevel | int or -1 | Character level range. -1 = no limit on that side |
MinReset / MaxReset | int or -1 | Reset count range. -1 = no limit on that side |
MinMReset / MaxMReset | int or -1 | Master reset range. -1 = no limit on that side |
AccountLevel | int | Minimum VIP tier required. Compared against the player's stored AccountLevel with a simple >= check. Default 0 (everyone allowed). Use 0-3 for the standard Free/Bronze/Silver/Gold tiers |
PkMove | 0 or 1 | 1 (default) allows PK characters through. 0 blocks any character with PKLevel >= 5 |
Relationship to Move.txt#
Move.txt handles the vanilla /move <name> command with gate-referencing teleports. CustomMove introduces new command strings (e.g. /pvp1) with direct coordinate targets and richer access gates including master reset and PK tolerance.
Coordinates go to (Map, X, Y) directly; the warp does not pass through Gate.txt.
Hardcoded Map Restrictions#
In addition to the gates you define, the engine enforces a few hardcoded rules on specific maps:
- Atlans - blocks if the player has Uniria or Dinorant equipped in the pet slot
- Icarus / Kanturu 3 - requires wings in the wings slot, or Dinorant or Fenrir equipped in the pet slot
- Gens battle maps - requires Gens faction membership (Season 5+ builds)
Players are also blocked if a UI is open, they are already teleporting, they are in the death-respawn state, or a personal shop is open.
Cross-File Dependencies#
| Attribute | Related in |
|---|---|
Map | MapManager.xml |
| Coordinates must land on walkable tile | Terrain for that map |
PK tolerance + AccountLevel | Common.dat |
| Summon whitelist | MoveSummon.txt (CustomMove warps bypass this; listed for admin awareness) |
Common Issues#
- Command does nothing -
Namemissing leading/, or a different plugin/command handler intercepts first - Warp drops player in a wall - coordinates invalid; use a walkable tile
- PK characters rejected for a PK-friendly destination -
PkMove="0"; flip to1on PVP arenas - Map-specific restriction rejects valid player - hardcoded rule (Atlans mount check, Icarus flight check); no XML override
- Only
/command1works,/command2ignored - duplicateIndexvalue; only the first entry loads