rc prefix and require admin login.mod_variable or mod_variable_local to configure MDS in rotations.Overview
MDS tracks round and player state to run custom melee drills and utility commands. Server admins can use live rc commands during a session or add modded config variables to server rotation files for repeatable setups.
rc set ArenaCorner1 rc set ArenaCorner2 rc 3v3 rc groupfight rc openmelee 2 7 rc bot spawn 5 French ArmyLineInfantry rc summonLine 10 French ArmyLineInfantry rc spawnLine -20 30 90 10 French ArmyLineInfantry rc get xvxDistance rc set lineBotCount 10
Quick Start
Set up an arena first, then run one of the drill commands.
rc set ArenaCorner1 rc set ArenaCorner2Use your current position, or pass coordinates with
rc set ArenaCorner1 [x,z] and rc set ArenaCorner2 [x,z].rc 3v3 rc groupfight rc openmelee 2 7Start a structured X-v-X, a group fight, or random open melee spawns inside the arena.
rc bot spawn 5 French ArmyLineInfantry rc summonLine 5Add drill targets, lines, or replacement bots using the bot commands.
Commands
| Command | Usage | Description |
|---|---|---|
xvx
|
rc xvx <attacking:int> <defending:int> [strategy] [distance:float] [spacing:float] [orientation]
|
Spawns an X-v-X match inside the arena. Shorthand commands such as rc 3v3 and rc 20v1 are supported. Defaults use xvxStrategy, xvxDistance, and xvxSpacing.
|
groupfight
|
rc groupfight [strategy] [distance:float] [spacing:float] [orientation]
|
Spawns both teams in lines for a group fight inside the arena. Defaults use groupfightStrategy, groupfightDistance, and groupfightSpacing.
|
openmelee
|
rc openmelee [spacing:float] [offset:float]
|
Spawns players randomly around the arena for open melee practice. Defaults use openMeleeSpacing and openMeleeOffset.
|
bot
|
rc bot <subcommand> [args]
|
Central command for spawning, summoning, listing, configuring, and removing bots. |
summonLine
|
rc summonLine [count] [faction] [class] [ai] [death] [name [regtag [uniformId]]]
|
Spawns a shoulder-to-shoulder line of bots centered on your position and facing your direction. Defaults can use the caller's faction and class. |
spawnLine
|
rc spawnLine <x> <z> <rotation> [count] [faction] [class] [ai] [death] [name [regtag [uniformId]]]
|
Spawns a bot line at a specific world position and rotation. Faction can be a faction name or attacking/defending.
|
get
|
rc get <Configurable> [additional arguments]
|
Reads MDS configurables and mod data at runtime. Additional shortcuts include Player <playerId>, Players <faction>, and Round.
|
set
|
rc set <Configurable> <Value> [additional arguments]
|
Sets MDS configurables at runtime, such as xvxDistance, lineBotCount, and lineSpacing.
|
rc xvx 3 3 next 4 1 northsouth rc groupfight random 25 2 180 rc openmelee 2 7 rc spawnLine -20 30 90 10 French ArmyLineInfantry rc get Players all rc set xvxDistance 5
Bot Subcommands
All bot subcommands are accessed through rc bot <subcommand> [args].
| Subcommand | Usage | Description |
|---|---|---|
spawn
|
rc bot spawn [count] [faction class] [ai] [death] [name [regtag [uniformId]]]
|
Spawns one or more specific bots at random server spawn points. Faction and class default to the caller if omitted. |
spawnRandom
|
rc bot spawnRandom [count]
|
Spawns one or more bots with fully random faction and class. |
summon
|
rc bot summon [faction] [class] [ai] [death] [name [regtag [uniformId]]]
|
Spawns a single bot at your position and facing your direction. |
setBotAi
|
rc bot setBotAi <target> <ai>
|
Sets AI behavior for tracked bots. Targets include all, attacking, defending, a faction name, or a player ID.
|
setBotDeathPolicy
|
rc bot setBotDeathPolicy <target> <policy>
|
Sets bot death handling. Policies are None, Kick, and Replace.
|
remove
|
rc bot remove <target>
|
Kicks tracked bots immediately. Targets include all, attacking, defending, a faction name, or a player ID.
|
list
|
rc bot list
|
Prints tracked bots to private messages, including player ID, faction, class, AI type, death policy, and spawn status. |
rc bot spawn rc bot spawn 5 rc bot spawn Attacking ArmyLineInfantry rc bot spawn 3 French ArmyLineInfantry None Replace rc bot summon French ArmyLineInfantry rc bot setBotDeathPolicy all Kick rc bot remove all rc bot list
Configurables
Defaults in Ryan's README are tuned for Palisade Arena A1.
| Configurable | Arguments | Default | Purpose |
|---|---|---|---|
ArenaCorner1
|
x z floats, or none
|
Not set | First corner of the arena play area. If no coordinates are passed, the command uses the admin's position. |
ArenaCorner2
|
x z floats, or none
|
Not set | Second corner of the arena play area. If no coordinates are passed, the command uses the admin's position. |
xvxDistance
|
Distance float | 20
|
Distance between attacking and defending faction lines for xvx.
|
xvxSpacing
|
Distance float | 2
|
Space between each player on a line for xvx.
|
xvxStrategy
|
Random, Next, Any, or Repeat
|
Random
|
Player selection strategy for xvx.
|
groupfightDistance
|
Distance float | 25
|
Distance between attacking and defending faction lines for groupfight.
|
groupfightSpacing
|
Distance float | 2
|
Space between each player on a line for groupfight.
|
groupfightStrategy
|
Random or Repeat
|
Random
|
Player selection strategy for groupfight.
|
openMeleeSpacing
|
Distance float | 1.5
|
Minimum distance players can spawn from each other during openmelee.
|
openMeleeOffset
|
Distance float | 7
|
Minimum spawn distance from arena edges during openmelee.
|
Orientation
|
Degree integer, or NorthSouth, EastWest, SouthNorth, WestEast, Random
|
90
|
Direction two lines spawn facing each other. |
botDefaultAi
|
None
|
None
|
Default AI behavior assigned to bots when not specified inline. |
botDefaultDeathPolicy
|
None, Kick, or Replace
|
Kick
|
Default death policy assigned to bots when not specified inline. |
botKickDelay
|
Seconds float | 2
|
Delay after bot death before kicking, allowing the kill to register. |
botReplaceDelay
|
Seconds float | 0.5
|
Delay after kicking a bot before re-spawning it. |
lineBotCount
|
Count integer greater than 0 | 10
|
Default number of bots used by summonLine and spawnLine.
|
lineSpacing
|
Meters float greater than 0 | 0.55
|
Lateral spacing between bots in a line. |
Mod Config Variables
Use global mod_variable or per-map mod_variable_local entries to configure MDS through rotation configs.
mod_variable MDS:<ConfigVariable>:<Argument(s)> mod_variable_local MDS:<ConfigVariable>:<Argument(s)>
| Area | Variable | Accepted Arguments |
|---|---|---|
| General | EnableDebugLoggingEnableAdminOnly
|
true or false
|
| Arena | SetArenaAddArenaSetArenaCorner1SetArenaCorner2
|
(x,z),(x,z) for arena pairs, or x,z for individual corners.
|
| Drill | SetXvXDistanceSetXvXSpacingSetXvXStrategySetGroupfightDistanceSetGroupfightSpacingSetGroupfightStrategySetOpenMeleeSpacingSetOpenMeleeOffsetSetOrientation
|
Distance floats, strategy options, or orientation values depending on the setting. |
| Bot | SetBotDefaultAiSetBotDefaultDeathPolicySetBotKickDelaySetBotReplaceDelay
|
None, death policies, or delay values in seconds.
|
| Line | SetLineBotCountSetLineSpacingSpawnLine
|
Count, spacing, or x,z,rotation[,count][,faction][,class][,ai][,death][,name[,regtag[,uniformId]]].
|
MDS:SpawnLine can be specified multiple times to schedule multiple bot lines when a round begins. attacking and defending resolve against the live round, so the same config can work across maps.mod_variable_local MDS:SpawnLine:-20,30,90 mod_variable_local MDS:SpawnLine:-20,30,90,French mod_variable_local MDS:SpawnLine:20,30,270,10,defending,ArmyLineInfantry,None,Replace,Bot,None,1
Example Config
# Global mod_variable MDS:EnableDebugLogging:true mod_variable MDS:EnableAdminOnly:true # Map Rotation (per-map overrides) mod_variable_local MDS:SetArena:(-40.99,42.69),(-3.35,5.38) mod_variable_local MDS:SetXvXDistance:20 mod_variable_local MDS:SetXvXSpacing:2 mod_variable_local MDS:SetXvXStrategy:Random mod_variable_local MDS:SetGroupfightDistance:25 mod_variable_local MDS:SetGroupfightSpacing:2 mod_variable_local MDS:SetGroupfightStrategy:Random mod_variable_local MDS:SetOpenMeleeSpacing:1.5 mod_variable_local MDS:SetOpenMeleeOffset:7 mod_variable_local MDS:SetOrientation:NorthSouth # Bots mod_variable_local MDS:SetBotDefaultDeathPolicy:Replace mod_variable_local MDS:SetBotKickDelay:2 mod_variable_local MDS:SetBotReplaceDelay:0.5 mod_variable_local MDS:SpawnLine:-20,30,90,10,attacking,ArmyLineInfantry mod_variable_local MDS:SpawnLine:20,30,270,10,defending,ArmyLineInfantry,None,Replace,Bot,None,1
Support
For feedback, bug reports, and the latest upstream documentation, see Ryan's Drill Scripts on GitHub.
Future features listed in the source README include automatic repeating drills, modded UI, multi-arena support, and expanded bot AI such as autostab, autoblock, and 1v1 bot behavior.