- Dependencies
This Rust plugin lets players train their aim and practice recoil control against bots in a combat-style training environment.
Compatible Plugins
- Gamemode FFA - Everyone is your target. Get the most kills to win.
- Gamemode Gun Game - Progress through weapons with each kill. The first to complete wins.
- Gamemode Battle Royale - Fight to be the last player standing in an ever-shrinking safe zone.
Commands
gm.at create <title> <position> <radius> [maxPlayerCapacity]
- Creates a new Aim Train arena with the specified title, position, radius, and optional maximum player capacity.<position>
- Coordinates for the center of the arena. Usehere
to use your current location.
gm.at edit <arenaId>
- Enters editing mode for the specified Aim Train arena, allowing you to modify spawn points, bots, teleporters, and other settings.gm.at remove
- Deletes the currently selected arena. You must edit an arena first to use this command.gm.at teleporter create <position> <radius> [visibilityRange] [visibleZone]
- Creates a teleporter within the currently edited arena.<position>
- Location for the teleporter. Use here for your current position.[visibilityRange]
(Optional) - Range in which the teleporter information is visible.[visibleZone]
(Optional) - Whether the teleporter has a visible zone marker.
gm.at teleporter remove
- Removes the teleporter associated with the currently edited arena.gm.at spawn add <position> <radius>
- Adds a spawn point to the currently edited arena.<position>
- Coordinates for the spawn point. Usehere
to use your current location.<radius>
- Defines the area around the position to randomize player spawns.
gm.at spawn remove <spawnPointId>
- Removes a specific spawn point by its id.gm.at rule add <rule1> [<rule2> ...]
- Adds one or more rules to the currently edited arena. (See Rules for details on available rules.)gm.at rule remove <rule1> [<rule2> ...]
- Removes one or more rules from the currently edited arena.gm.at set <property> <value>
- Updates a property of the currently edited arena. Available properties:title <string>
- Sets the name of the arena.enabled <true/false>
- Toggles whether the arena is active.maxplayers <int>
- Sets the maximum number of players allowed in the arena.infotemplate <string>
- Customizes the information template displayed about the arena, such as player count, status, and more. (See Arena Teleporters for all placeholders you can use.)respawngear <string>
- Sets the gear players receive upon respawning in the arena.
gm.at bot add <numberToSpawn>
- Adds a new bot profile to the currently edited arena.gm.at bot edit <botId>
- Selects an existing bot profile for editing, allowing you to update its properties (such as health or movement speed).gm.at bot remove
- Removes the currently edited bot profile.gm.at bot set <property> <value>
- Updates the properties of the currently selected bot profile. The following properties can be modified:health <float>
- Sets the bot's health points.immune <true/false>
- Determines whether the bot is immune to all damage. (Useful for stationary bots intended as static targets.)randomname <true/false>
- Toggles random name generation for bots spawned under this profile.number <int>
- Updates the number of bots spawned.minrunspeed <float>
- Defines the minimum speed at which bots can move. (Set to 0 if bots should not move at all.)maxrunspeed <float>
- Defines the maximum speed at which bots can move.
gm.at bot spawn add <position> <radius>
- Adds a spawn point for the currently edited bot profile.<position>
- Coordinates for the spawn point. Usehere
to use your current location.<radius>
- The area around the position where bots can randomly spawn. If set to 0, the bot always spawns at the exact center.
gm.at bot spawn remove <spawnPointId>
- Removes a specific spawn point from the currently edited bot profile.gm.at bot facehere
-
Bot Isolation
Trainees and their bots are completely hidden from other players. They are completely invisible and inaudible to others, making the training space fully private and distraction-free.Quick Start
Configuration
JSON:
{
"Version": "1.2.0",
"Locked Inventory Containers": [
"wear"
],
"Recoil": {
"Recoil Matching Tolerance": 5.0,
"Pattern Dot Symbol": "●",
"Pattern Dot Color": "CACF52",
"Pattern Dot Size": 15,
"Hit Symbol": "✖",
"Hit Color": "75A838",
"Hit Size": 18,
"Miss Symbol": "✖",
"Miss Color": "B1231E",
"Miss Size": 18
}
}
Stored Data
JSON:
{
"Arenas": [
{
"Enabled": true,
"Id": "001",
"Title": "Training Arena",
"Gamemode": "AimTrain",
"Radius": 50.0,
"Position": {
"x": 100.0,
"y": 0.0,
"z": 200.0
},
"Rules": ["NoCorpseSpawn", "NoItemContainerSpawn"],
"Teleporter": {
"Radius": 5.0,
"Position": { "x": 105.0, "y": 0.0, "z": 195.0 },
"Information Text Visibility Range": 20.0,
"Visible Zone": true
},
"Information Template": "{Title}\nGamemode: {Gamemode}\nPlayers: {PlayerCount}/{PlayerCapacity}",
"Maximum Player Capacity": 10,
"Spawn Points": [
{
"Id": "001",
"Position": { "x": 102.0, "y": 0.0, "z": 202.0 },
"Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
"Radius": 5.0
},
],
"Respawn Gear Set": "DefaultGear",
"Training Bots": [
{
"Id": "001",
"Health": 100.0,
"Immune To Damage": false,
"Minimum Movement Speed": 0.0,
"Maximum Movement Speed": 0.0,
"Gear Sets": ["TrainingBot"],
"Generate Random Name From Pool": true,
"Custom Names": [],
"Number To Spawn": 3,
"Spawn Points": [
{
"Id": "001",
"Position": { "x": 102.0, "y": 0.0, "z": 202.0 },
"Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
"Radius": 0.0
},
{
"Id": "002",
"Position": { "x": 104.0, "y": 0.0, "z": 204.0 },
"Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
"Radius": 0.0
},
{
"Id": "003",
"Position": { "x": 106.0, "y": 0.0, "z": 206.0 },
"Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
"Radius": 0.0
}
]
},
{
"Id": "002",
"Health": 200.0,
"Immune To Damage": false,
"Minimum Movement Speed": 2.0,
"Maximum Movement Speed": 5.0,
"Gear Sets": ["TrainingBot"],
"Generate Random Name From Pool": true,
"Custom Names": [],
"Number To Spawn": 20,
"Spawn Points": [
{
"Id": "001",
"Position": { "x": 110.0, "y": 0.0, "z": 210.0 },
"Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
"Radius": 25.0
}
]
}
]
}
]
}