- Dependencies
- Gamemode Core (Required), Gear Core (Required)
Gun Game is a competitive minigame where players advance through a progression of weapons by getting kills. Each kill unlocks the next weapon in the sequence, and the first player to complete all weapons wins the round.
Features
- Weapon progression system: Players unlock weapons sequentially by getting kills
- Customizable weapon stages: Define exactly which gear sets players use at each stage
- Flexible kill requirements: Set how many kills are needed to advance each weapon
- Warmup phase: Optional warmup period before rounds start with configurable gear
- Automatic respawning: Players respawn immediately after death
- Kill feed: Optional kill notifications showing weapon and distance
- Health restoration: Optional full health restoration on each kill
- Ammo restocking: Optional ammo refill on each kill
- Reset on death option: Choose whether players restart from weapon 1 when they die
- Scoreboards: Real-time tracking of each player's weapon progression
Dependencies
Required:- Gamemode Core -- The core gamemode framework that provides lobby, zone, and player management
- Gear Core -- Manages weapon loadouts and gear sets for each weapon stage
Permissions
gamemodecore.admin-- Required to create and configure Gun Game arenas
Commands
Arena Management
gm.gg create <title> <position> <radius> [maxPlayerCapacity]-- Creates a new Gun Game arenatitle- Display name for the arenaposition- Arena center position (x,y,z coordinates) orherefor current positionradius- Arena boundary radius in metersmaxPlayerCapacity- Optional maximum players allowed (-1 for unlimited, default: 10)
gm.gg edit <arenaId>-- Selects an arena for editing. All subsequent commands apply to this arenagm.gg remove-- Deletes the currently edited arena. This action cannot be undone
Teleporter Management
gm.gg teleporter create <position> <radius> [visibilityRange] [visibleZone]-- Creates a teleporter zone in the lobbyposition- Teleporter position (x,y,z) orhereradius- Teleporter activation radiusvisibilityRange- Optional range where arena info is displayed (default: 10)visibleZone- Optional whether sphere is visible (true/false)
gm.gg teleporter position <position|here>-- Updates teleporter positiongm.gg teleporter radius <radius>-- Updates teleporter activation radiusgm.gg teleporter visibility <range>-- Updates information text visibility rangegm.gg teleporter visiblezone <true|false>-- Sets whether teleporter sphere is visiblegm.gg teleporter remove-- Deletes the teleporter
Spawn Point Management
gm.gg spawn add <position> <radius>-- Adds a spawn point to the arena- position - Spawn location (x,y,z) or
here - radius - Random spawn radius (0 for exact position, 1-5 recommended for variation)
- position - Spawn location (x,y,z) or
gm.gg spawn remove [spawnPointId]-- Removes a spawn point. If no ID provided, removes nearest spawn point
Weapon Progression
gm.gg weapon add <gearSet> [killsNeeded]-- Adds a weapon stage to the progressiongearSet- Name of the Gear Core gear set to equipkillsNeeded- Optional kills required to unlock next weapon (default: 1)
gm.gg weapon edit <stage> <newGearSet> [newKillsNeeded]-- Modifies an existing weapon stagestage- Stage number to editnewGearSet- New Gear Core gear set namenewKillsNeeded- Optional new kills required
gm.gg weapon remove <stage>-- Removes a weapon from progression. Subsequent weapons are automatically reindexed
Rules System
gm.gg rule add <rule1> [rule2] [rule3] ...-- Adds gameplay rules to the arena. See Zone Rules for available rules and their effectsgm.gg rule remove <rule1> [rule2] [rule3] ...-- Removes gameplay rules from the arena
Arena Properties
gm.gg set <property> <value>-- Configure arena settingstitle- Arena display nameenabled- Enable/disable arena (true/false)maxplayers- Maximum player capacity (number or -1 for unlimited)roundduration- Round length in seconds (number or -1 for unlimited)warmupduration- Warmup phase length (number, minimum: 10)warmupgearset- Gear set used during warmup (Gear Core set name or none)killfeed- Enable kill notifications (true/false)healonkill- Restore health on kill (true/false)ammoonkill- Restock ammo on kill (true/false)radius- Arena boundary radius (number)position- Arena center position ((x,y,z) or here)infotemplate- Teleporter info display template string. See Information Placeholders for available placeholders
Command Blocking
gm.gg blockcmd add <command>-- Blocks a command from being used within the arena. Command names should be lowercase without slash prefixgm.gg blockcmd remove <command>-- Unblocks a commandgm.gg blockcmd list-- Lists all blocked commands for the arena
Arena Visualization
gm.gg draw-- Displays debug spheres and labels for arena, teleporter, and spawn points for 20 seconds
Creating Your First Arena
Create the arenaStart by creating the arena zone where matches will take place:
Code:
gm.gg create "Training Gun Game" here 50 12
gm.gg edit 001
Add spawn points
Place at least 4 spawn points around the arena for player respawns:
Code:
gm.gg spawn add here 2
gm.gg spawn add here 2
gm.gg spawn add here 2
gm.gg spawn add here 2
Create teleporter in lobby
Go to your lobby and create a teleporter zone where players join the arena:
Code:
gm.gg teleporter create here 3 15 true
Configure weapon progression
Set up the weapon stages players will progress through. Each stage uses a Gear Core gear set name (not individual weapon shortnames). See Gear Core documentation for creating gear sets:
Code:
gm.gg weapon add "Eoka Pistol" 1
gm.gg weapon add "Waterpipe Shotgun" 1
gm.gg weapon add "Double Barrel" 1
gm.gg weapon add "Revolver" 2
gm.gg weapon add "SAP" 2
gm.gg weapon add "Thompson" 2
gm.gg weapon add "Custom SMG" 2
gm.gg weapon add "SAR" 3
gm.gg weapon add "AK47" 3
gm.gg weapon add "Bolt Rifle" 1
Apply rules and settings
Configure gameplay rules and match settings:
Code:
gm.gg rule add NoBuilding NoCrafting NoItemDropping NoCorpseSpawn
gm.gg set killfeed true
gm.gg set healonkill true
gm.gg set ammoonkill true
gm.gg set roundduration 600
gm.gg set warmupduration 30
Visualize and test
Verify your setup by visualizing the arena boundaries:
Code:
gm.gg draw
Configuration
JSON:
{
"Version": "1.7.0",
"Locked Inventory Containers": [
"wear"
],
"Show Weapon Unlock Toast": true,
"Weapon Upgrade Effect (leave empty to disable)": "assets/prefabs/misc/easter/painted eggs/effects/gold_open.prefab"
}
Locked Inventory Containers-- Controls which inventory containers are locked during matches. Valid values:"main"(main inventory),"belt"(hotbar),"wear"(clothing slots),"all"(everything). Prevents players from modifying their loadout beyond what the current weapon stage provides.Show Weapon Unlock Toast-- Displays a toast notification when players unlock a new weapon. Set tofalseto only show chat messages.Weapon Upgrade Effect-- Effect played when unlocking a new weapon. Set to empty string""to disable. Common effects include"assets/prefabs/missions/effects/mission_victory.prefab"or"assets/prefabs/deployable/research table/effects/research-success.prefab". See Rust Effects List for more effect prefab paths.
Stored Data
JSON:
{
"Arenas": [
{
"Enabled": true,
"Id": "001",
"Title": "Dome Gun Game",
"Gamemode": "GunGame",
"Radius": 50.0,
"Position": {
"x": 100.0,
"y": 50.0,
"z": 200.0
},
"Rules": [
"NoBuilding",
"NoCrafting",
"NoItemDropping",
"NoCorpseSpawn"
],
"Teleporter": {
"Radius": 3.0,
"Position": {
"x": 0.0,
"y": 0.0,
"z": 0.0
},
"Information Text Visibility Range": 15.0,
"Visible Zone": true
},
"Information Template": "{Title}\nGamemode: {Gamemode}\nStatus: {Status}\nTime Left: {TimeLeft}\nPlayers: {PlayerCount} / {PlayerCapacity}\n\nParticipants:\n{PlayerList}",
"Maximum Player Capacity": 16,
"Spawn Points": [
{
"Id": "001",
"Position": {
"x": 95.0,
"y": 50.5,
"z": 195.0
},
"Rotation": {
"x": 0.0,
"y": 0.0,
"z": 0.0
},
"Radius": 2.0,
"Leash Radius": 0.0
}
],
"Blocked Commands": [
"teleport",
"home"
],
"Warmup Duration Seconds": 30.0,
"Round Duration Seconds": 600.0,
"Has Kill Feed": true,
"Warmup Gear Set (optional, leave empty to not give gear in warmup)": "AK Practice",
"Weapon Progression Path": {
"1": {
"Gear Set": "Eoka Pistol",
"Kill Needed To Unlock": 1
},
"2": {
"Gear Set": "Waterpipe Shotgun",
"Kill Needed To Unlock": 1
},
"3": {
"Gear Set": "Double Barrel Shotgun",
"Kill Needed To Unlock": 1
},
"4": {
"Gear Set": "Revolver",
"Kill Needed To Unlock": 2
},
"5": {
"Gear Set": "Semi-Auto Pistol",
"Kill Needed To Unlock": 2
},
"6": {
"Gear Set": "Thompson",
"Kill Needed To Unlock": 2
},
"7": {
"Gear Set": "Custom SMG",
"Kill Needed To Unlock": 2
},
"8": {
"Gear Set": "Semi-Auto Rifle",
"Kill Needed To Unlock": 3
},
"9": {
"Gear Set": "AK47",
"Kill Needed To Unlock": 3
},
"10": {
"Gear Set": "Bolt Action Rifle",
"Kill Needed To Unlock": 1
}
},
"Reset To First Weapon On Death": false,
"Restore Full Health On Kill": true,
"Restock Gun Ammo On Kill": true
}
]
}
Enabled-- Whether the arena accepts new players. Set tofalseto disable the arena.Id-- Unique arena identifier, auto-assigned in format "001", "002", etc.Title-- Display name shown to players in teleporter info and scoreboards.Radius-- Arena boundary radius in meters from center position.Position-- Arena center coordinates (x, y, z). All spawn points should be within the radius.Rules-- List of gameplay restrictions like "NoBuilding", "NoCrafting", "NoItemDropping". See section 5.5 for available rules.Maximum Player Capacity-- Maximum players allowed. Set to-1for unlimited.Blocked Commands-- Commands that cannot be used in the arena (lowercase, without slash).Warmup Duration Seconds-- Length of warmup phase before rounds start. Minimum 10 seconds.Round Duration Seconds-- Maximum round length in seconds. Set to-1for unlimited.Has Kill Feed-- Shows kill notifications in chat with weapon and distance information.Warmup Gear Set-- Gear Core gear set name equipped during warmup. Empty string""to disable.Weapon Progression Path-- Dictionary mapping stage numbers ("1", "2", "3") to weapon configs. Each stage has aGear Setname andKill Needed To Unlockcount.Reset To First Weapon On Death-- Whentrue, players restart from weapon 1 on death (hardcore mode). When false, players keep current weapon.Restore Full Health On Kill-- Whentrue, players are fully healed after each kill.Restock Gun Ammo On Kill-- Whentrue, refills current weapon's magazine after each kill.
Localization
JSON:
{
"Weapon.Unlocked": "You unlocked <color=#CACF52>{0}</color>!",
"Score.Title": "Unlock <size=21><color=#CACF52>{0}</color></size> weapons"
}
