- Dependencies
- Works With
Gamemode Aim Train creates dedicated practice arenas with customizable AI training bots. You can configure bots to stand completely still for precision practice or move around at various speeds for tracking practice. Each bot configuration lets you control health, movement speed, crouch behavior, and damage immunity.
The plugin tracks your shooting statistics in real-time: shots fired, hits, headshots, accuracy percentage, and shot distances. All stats are tracked per weapon, so switching from AK to LR-300 gives you separate statistics for each gun. When you use the optional Recoil Tracker plugin, you can see the ideal spray pattern for your weapon overlaid with markers showing where your actual shots landed.
Each player gets their own isolated set of training bots. Other players in the same arena won't see your bots and you won't see theirs, so everyone can practice independently without interference.
Features
- Customizable Training Bots - Configure health, speed, crouch percentage, and immunity for each bot type
- Multiple Bot Configurations - Create different bot profiles in a single arena (stationary, moving, crouching)
- Movement Patterns - Bots can patrol within spawn radius or stand still facing specific directions
- Real-Time Statistics - Track shots fired, hits, headshots, accuracy, and shot distances
- Recoil Pattern Visualization - Shows ideal spray pattern and your actual shots (requires Recoil Tracker)
- Infinite Ammo Mode - Toggle infinite ammunition to focus on aim, not inventory management
- Player Isolation - Players can't see or hear each other's bots, gunfire, or impacts during practice
- Custom Gear Sets - Equip specific loadouts automatically when entering the arena
- Spawn Point System - Configure multiple spawn locations for players and bots
- Bot Immunity Toggle - Make bots invincible for spray pattern practice
- Automatic Bot Respawn - Bots respawn instantly after being killed
Dependencies
Required Plugins
- Gamemode Core -- The base framework that handles arena creation, player spawns, teleporters, and arena boundaries for this plugin. Without it, the Aim Train plugin won't load.
Optional Plugins
- Recoil Tracker -- Adds the recoil pattern visualization feature. Shows the ideal spray pattern for your weapon and marks where your shots land (green for pattern matches, red for misses).
- Armory -- Provides weapon selection menu for changing loadouts in-arena
- Gear Core -- Needed if you want to give players and bots custom loadouts (kits). Without this plugin, players and bots spawn with empty inventories.
Permissions
gamemodecore.admin-- Required to create and configure aim train arenas
Commands
Arena Management
gm.at create <title> <position> <radius> [maxPlayerCapacity]-- Creates a new aim train arena at the specified position.<title>is the display name,<position>is world coordinates or"here",<radius>is arena boundary in meters,[maxPlayerCapacity]is optional (-1for unlimited, default10).gm.at edit <arenaId>-- Enters edit mode for an existing arena, allowing you to modify spawn points, bots, and settings.gm.at remove-- Deletes the currently edited arena. You must be in edit mode first.
Arena Configuration
gm.at set <property> <value>-- Sets arena properties. Available properties:title-- Arena display nameenabled-- Enable/disable arena (true/false)maxplayers-- Maximum player capacityrespawngear-- Gear set name to equip on respawnradius-- Arena boundary sizeposition-- Arena center position or "here"infotemplate-- Custom information text template
Player Spawn Points
gm.at spawn add <position> <radius>-- Creates a player spawn location.<position>is world coordinates or"here". Radius of0spawns at exact position, radius> 0spawns randomly within that area.gm.at spawn remove [spawnPointId]-- Removes a spawn point. If no ID provided, removes the nearest spawn point.
Training Bot Management
gm.at bot add <numberToSpawn>-- Creates a new bot configuration profile with the specified number of bots to spawn.gm.at bot edit <botId>-- Selects a bot configuration for editing.gm.at bot remove-- Deletes the currently selected bot configuration.gm.at bot set <property> <value>-- Configures bot properties. Available properties:health-- Bot health pointsimmune-- Invincibility (true/false)number-- Number of bots to spawnminrunspeed-- Minimum movement speed when runningmaxrunspeed-- Maximum movement speed when runningcrouchperc-- Percentage of bots that spawn crouched (0-100)mincrouchspeed-- Minimum movement speed when crouchedmaxcrouchspeed-- Maximum movement speed when crouchedrandomname-- Generate random names (true/false)
gm.at bot spawn add <position> <radius>-- Adds a spawn point for the currently edited bot configuration.<position>is world coordinates or"here".<radius>determines patrol area (0= stationary).gm.at bot spawn remove <spawnPointId>-- Removes a bot spawn point.gm.at bot facehere-- Updates all spawn points for the currently edited bot to face your current position. Also reorients any already-spawned bots from those spawn points. Quick way to fix facing direction without manually editing each spawn point.
Arena Rules
gm.at rule add <rule1> [rule2] [rule3]...-- Adds gameplay rules to the arena. For a complete list of available rules and their effects, see the Gamemode Core Zone Rules documentation.gm.at rule remove <rule1> [rule2] [rule3]...-- Removes gameplay rules from the arena.
Command Blocking
gm.at blockcmd add <command>-- Blocks a command from being used inside the arena.gm.at blockcmd remove <command>-- Removes a command from the blocked list.gm.at blockcmd list-- Shows all blocked commands for the arena.
Teleporter Setup
gm.at teleporter create <position> <radius> [visibilityRange] [visibleZone]-- Creates a teleporter to the arena.<position>is world coordinates or"here",<radius>is trigger zone size,[visibilityRange]is distance at which info text appears,[visibleZone]shows/hides the dome (true/false).gm.at teleporter position <position|here>-- Changes teleporter position.gm.at teleporter radius <radius>-- Changes teleporter trigger zone size.gm.at teleporter visibility <range>-- Changes info text visibility range.gm.at teleporter visiblezone <true|false>-- Shows or hides the teleporter dome.gm.at teleporter remove-- Deletes the teleporter.
Visualization
gm.at draw-- Visualizes the arena boundaries, spawn points, and bot locations for 20 seconds.
Configuration
JSON:
{
"Version": "1.7.0",
"Locked Inventory Containers": [
"wear"
],
"Scoreboard Backdrop Opacity": 60.0,
"Recoil Panel Backdrop Opacity": 60.0,
"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
}
}
General Settings
Locked Inventory Containers-- Controls which inventory slots are locked in the arena. Options:"main","belt","wear","all". Default:["wear"]locks only the clothing slot.Scoreboard Backdrop Opacity-- Controls transparency of the statistics panel background. (0 = fully transparent, 100 = fully opaque). Higher values make the scoreboard easier to read in bright areas.Recoil Panel Backdrop Opacity-- Controls transparency of the recoil pattern visualization panel.
Recoil Visualization Settings
These settings only apply when Recoil Tracker is installed.Recoil Matching Tolerance-- Distance from ideal pattern to count as a "hit". Lower values require more precise spray control.Pattern Dot Symbol-- Character used to display the ideal spray pattern. Default: "●". Can use any Unicode character (e.g.,"•","○","◉").Pattern Dot Color-- Hex color code for pattern visualization. Format: 6-character hex without#prefix.Pattern Dot Size-- Font size for pattern dots. Range: 10-30.Hit Symbol-- Character shown for shots that matched the pattern.Hit Color-- Hex color for successful pattern matches.Hit Size-- Font size for hit markers.Miss Symbol-- Character shown for shots outside the pattern.Miss Color-- Hex color for pattern misses.Miss Size-- Font size for miss markers.
Arena Setup Guide
Create the Arena
Code:
gm.at create "AK Training" here 50 10
gm.at edit 001
Add Player Spawn Points
Code:
gm.at spawn add here 3
Configure Arena Settings
Code:
gm.at set respawngear "training_ak"
gm.at rule add NoWounding NoCorpseSpawn NoItemContainerSpawn
Add Training Bots
You have two main options: stationary bots or moving bots.Stationary Bots (Standing Still)
Best for precision practice, headshot training, and spray control.
Code:
gm.at bot add 10
gm.at bot set health 100
gm.at bot set minrunspeed 0
gm.at bot set maxrunspeed 0
gm.at bot spawn add here 0
- Speed 0 = bots don't move
- Spawn radius 0 = exact position
- facehere makes them face your current position
For spray pattern practice (invincible bots):
Code:
gm.at bot set immune true
Moving Bots (Patrol/Strafe)
Best for tracking practice and realistic combat.
Code:
gm.at bot add 8
gm.at bot set health 150
gm.at bot set minrunspeed 3
gm.at bot set maxrunspeed 5
gm.at bot spawn add here 15
- Speed 3-5 = bots move at variable speeds
- Spawn radius 15 = bots patrol within 15m area
- Random speeds make them unpredictable
Code:
gm.at bot set crouchperc 50
gm.at bot set mincrouchspeed 1
gm.at bot set maxcrouchspeed 2
Add Teleporter
Code:
gm.at teleporter create here 3 10 true
Visualize Your Setup
Code:
gm.at draw
Understanding Bot Behavior
Bots with speed0 stand completely still at their spawn point. Bots with speed > 0 patrol randomly within their spawn radius, avoiding obstacles and the player.Speed guide:
0 = stationary, 1-2 = slow walk, 3-4 = normal movement, 5+ = fast strafe.Crouch Percentage
crouchperc controls what percentage spawn crouched. Example: number = 10 and crouchperc = 30 means 3 crouched, 7 standing. Crouched bots use crouch speeds, standing bots use run speeds.Bot Respawn Behavior
When killed, bots respawn instantly at their spawn point with all original settings intact: health, movement speed, crouch/standing state, and facing direction.Bot Visibility
Training bots are only visible to the player who spawned them. Other players in the arena won't see your bots, and you won't see theirs.Statistics Tracking
The scoreboard tracks shots fired, shots hit, headshots, accuracy percentage, and shot distances for your current weapon. Stats reset when you switch weapons, click "Reset Stats", or leave the arena. Only hits on training bots count - shooting walls or air doesn't affect your stats.Recoil Pattern Visualization
When you have the Recoil Tracker plugin installed, a "Recoil Pattern" button appears on your scoreboard. Click it to open a panel showing your weapon's spray pattern as yellow dots. Each dot represents where a shot should land in the ideal pattern.As you fire, markers appear showing your actual shots: green X for shots that matched the pattern closely enough, red X for shots that deviated too far. The tolerance setting (default 5 pixels) determines how close is "close enough" - adjust it in the config to make matching easier or harder.
The panel clears when you finish the full magazine or pause shooting. Switch weapons and the pattern updates automatically for the new gun.
You need Recoil Tracker installed for this feature to work. To record patterns for your weapons, check the Recoil Tracker documentation.
your actual shots. Pattern resets after completing the full spray or pausing between shots.
Stored Data
JSON:
{
"Arenas": [
{
"Enabled": true,
"Id": "001",
"Title": "AK Training Arena",
"Gamemode": "AimTrain",
"Radius": 50.0,
"Position": {
"x": 100.0,
"y": 10.0,
"z": 200.0
},
"Rules": [
"NoCorpseSpawn",
"NoWounding",
"NoKillSelf",
"NoItemContainerSpawn"
],
"Respawn Gear Set": "training_loadout",
"Maximum Player Capacity": 10,
"Information Template": "{Title}\nGamemode: {Gamemode}\nStatus: {Status}\nPlayers: {PlayerCount} / {PlayerCapacity}",
"Spawn Points": [
{
"Id": "001",
"Position": {"x": 95.0, "y": 10.0, "z": 195.0},
"Rotation": {"x": 0.0, "y": 0.0, "z": 0.0},
"Radius": 3.0,
"Leash Radius": 0.0
}
],
"Teleporter": {
"Radius": 3.0,
"Position": {"x": 50.0, "y": 10.0, "z": 150.0},
"Information Text Visibility Range": 10.0,
"Visible Zone": true
},
"Training Bots": [
{
"Id": "001",
"Health": 100.0,
"Immune To Damage": false,
"Minimum Running Speed": 0.0,
"Maximum Running Speed": 0.0,
"Crouched Percentage": 0,
"Minimum Crouch Speed": 0.0,
"Maximum Crouch Speed": 0.0,
"Gear Sets": [],
"Generate Random Name From Pool": true,
"Custom Names": [],
"Number To Spawn": 5,
"Spawn Points": [
{
"Id": "001",
"Position": {"x": 100.0, "y": 10.0, "z": 220.0},
"Rotation": {"x": 0.0, "y": 180.0, "z": 0.0},
"Radius": 0.0,
"Leash Radius": 0.0
}
]
}
],
"Blocked Commands": []
}
]
}
Arena Settings
Enabled-- Whether the arena is active and joinable.Id-- Unique identifier for the arena (automatically assigned).Title-- Display name shown to players.Gamemode-- Always"AimTrain"for this plugin.Radius-- Arena boundary size in meters.Position-- Center point of the arena (x, y, z coordinates).Rules-- List of gameplay rules.Respawn Gear Set-- Name of the Gear Core set to equip players on spawn.Maximum Player Capacity-- Maximum concurrent players (-1= unlimited).Information Template-- Custom text shown at teleporter with placeholders.Blocked Commands-- List of commands disabled while in the arena.
Spawn Points
Id-- Unique identifier for this spawn point.Position-- World coordinates where players spawn.Rotation-- Facing direction in Euler angles (x, y, z).Radius-- Random spawn radius (0= exact position,>0= random within radius).Leash Radius-- Maximum distance players can move from spawn (0= unlimited).
Teleporter
Radius-- Size of the teleporter trigger zone.Position-- World coordinates of the teleporter.Information Text Visibility Range-- Distance at which arena info text appears.Visible Zone-- Whether the teleporter dome is visible (true/false).
Training Bots
Id-- Unique identifier for this bot configuration.Health-- Bot health points (they die when reaching0).Immune To Damage-- Whether bots take damage (true= invincible).Minimum Running Speed-- Slowest movement speed when standing.Maximum Running Speed-- Fastest movement speed when standing.Crouched Percentage-- Percentage of bots that spawn crouched (0-100).Minimum Crouch Speed-- Slowest movement speed when crouched.Maximum Crouch Speed-- Fastest movement speed when crouched.Gear Sets-- List of Gear Core set names (random selection per bot).Generate Random Name From Pool-- Automatically assigns random player names to bots from the game's built-in name pool (true/false).Custom Names-- List of custom names (used if random names disabled).Number To Spawn-- How many bots to spawn for this configuration.
Bot Spawn Points
Id-- Unique identifier for this bot spawn location.Position-- World coordinates where bot spawns.Rotation-- Direction the bot faces (important for stationary bots).Radius-- Patrol area radius (0 = stationary, >0 = bot moves within area).Leash Radius-- Currently unused for bots.
Localization
JSON:
{
"Ui.Recoil.Title": "Recoil",
"Score.Title": "Statistics",
"Score.Weapon": "Weapon",
"Score.ShotsFired": "Shots Fired",
"Score.ShotsHit": "Shots Hit",
"Score.Headshots": "Headshots",
"Score.Accuracy": "Accuracy",
"Score.LastShotDistance": "Last Shot Distance",
"Score.LongestShotDistance": "Longest Shot Distance",
"Button.ResetStats": "Reset Stats",
"Button.InfiniteAmmo": "Infinite Ammo",
"Button.ImmuneBots": "Immune Bots",
"Button.RespawnBots": "Respawn Bots",
"Button.RecoilPattern": "Recoil Pattern",
"Button.Armory": "Armory",
"InfiniteAmmo.Enabled": "Infinite ammunition is now enabled.",
"InfiniteAmmo.Disabled": "Infinite ammunition is now disabled.",
"BotsImmune.Enabled": "Your bots are now immune to damage.",
"BotsImmune.Disabled": "Your bots are now vulnerable to damage.",
"RespawnBots.NotInArena": "You must be in the Aim Train arena to use this command.",
"RespawnBots.Success": "Your training bots have been respawned.",
"RespawnBots.Failed": "Failed to respawn bots. Could not find your Aim Train data.",
"RecoilPattern.Enabled": "Recoil pattern ui enabled.",
"RecoilPattern.Disabled": "Recoil pattern ui disabled."
}
