- Dependencies
- Gear Core (Optional), Better Chat (Optional)
- Works With
Setting up competitive minigames on your Rust server can quickly become a mess. You install one arena plugin, then another, and suddenly you're managing five different systems that all handle spawning differently, conflict with each other, cause compatibility issues, and scatter your configuration across dozens of files.
Gamemode Core fixes this by providing a single foundation that all minigames share. Instead of five different arena plugins each doing their own thing, you have one core system handling the common work while individual arenas focus only on their unique gameplay:
- Built-in zone system designed specifically for arenas, removing the need for Zone Manager and providing only what's needed without the overhead of a general-purpose zone plugin
- Centralized hook handling that processes damage, respawn, and pickup events once at the core level instead of every plugin listening individually, improving overall performance
- Shared UI components including scoreboard, round timer, and kill feed
- Automatic inventory backup when entering the lobby and restoration when leaving
- Spawn point system with configurable randomization radius for varied player placement
- Round lifecycle management handling waiting, warmup, active, and finished phases
- Configurable rules per zone like no PvP, no building, no item dropping, and more
Available Gamemode Plugins
Gamemode Core provides the foundation—to actually run playable modes, you install the minigame plugins that interest you. Each is sold separately and integrates automatically with your lobby and systems once installed.- Gamemode FFA
Classic free-for-all deathmatch. Players spawn, fight, and respawn until the round ends. Highest kills wins. Simple, fast-paced action with no teams or objectives to worry about.
- Gamemode Gun Game
Start with a basic weapon and progress through a series of increasingly powerful guns with each kill. First player to get a kill with every weapon wins. A race to adapt and dominate.
- Gamemode Battle Royale
Last player standing wins. Players board a cargo plane, parachute into the arena, scavenge for gear, and fight as a deadly zone closes in around them.
- Gamemode Aim Train
Solo practice environment for improving your aim, spray control, and reflexes. Spawns training bots that you can customize to match your training goals.
- Gamemode Honey Drop
A survival platformer inspired by Fall Guys' Hex-A-Gone. Players spawn on layers of hexagon tiles that break when stepped on. Keep moving, outlast your opponents, and be the last one standing.
- Gamemode Raid Simulator
Team-based attack vs defend. One team raids a base while the other defends. Uses Copy Paste integration to load base designs. Prep phase for defenders, then attackers push to destroy the TC.
- Gamemode Scrim
Competitive team matches. Blue vs Red with team leaders controlling their roster through a UI panel. Ready-up system ensures fair starts. Built for organized competitive play.
- Gamemodeless
A blank canvas arena with no predefined game rules. You configure everything yourself: death behavior (auto-respawn, elimination, or nothing), scoreboard visibility, kill feed, gear loadouts, and more. Ideal for custom events or when existing gamemodes don't fit your needs.
Lobby Setup
The lobby is the central hub where players spawn and access arenas. Before installing any gamemode plugins, you need to create the lobby first. This section walks you through setting one up from scratch.Create the Lobby Zone
First, stand where you want the center of your lobby to be and run:
Code:
gm.lobby create here 50
Add Spawn Points
Players need somewhere to spawn when entering the lobby. Stand at a good spawn location inside the lobby zone and run:
Code:
gm.lobby spawn add here 3
Code:
gm.lobby spawn add here 2
gm.lobby spawn add here 5
Code:
gm.lobby spawn remove 002
gm.lobby spawn remove
Apply Rules
Rules control what players can do in the lobby. A typical lobby setup prevents PvP and building:
Code:
gm.lobby rule add NoPvPDamage NoBuilding NoItemDropping
Block Commands
Prevent players from using teleport or other commands that would let them escape the lobby:
Code:
gm.lobby blockcmd add tpr
gm.lobby blockcmd add home
Verify Your Setup
Rungm.lobby draw to visualize the lobby zone and all spawn points for 20 seconds. This helps confirm everything is positioned correctly.Next Steps
With the lobby created, install gamemode plugins to add arenas. Each gamemode plugin has its own commands for creating arenas and teleporters that connect back to your lobby.Permissions
gamemodecore.admin-- Required for all lobby and arena management commands.gamemodecore.bypass-- Exempts staff from lobby enforcement entirely. Players with this permission won't be force-teleported to the lobby on connect (when lobby-only mode is enabled), won't have their inventory stripped or locked when entering the lobby zone, and can walk out of the lobby freely without being teleported back. Also bypasses spawn leashing in Gamemode Scrim.
Commands
Player Commands
/join-- Teleport to the lobby (command name configurable)- If inventory backup is enabled in config, saves your current position and inventory before teleporting
/leave-- Leave arena or lobby (command name configurable)- When used inside an arena, returns you to the lobby
- When used inside the lobby (and lobby only mode is disabled), exits the lobby entirely and restores your saved position and inventory
Admin Commands
All admin commands use thegm.lobby console command with subcommands.Lobby Management:
gm.lobby create <position|here> <radius>-- Create a new lobby zonegm.lobby remove-- Delete the lobbygm.lobby radius <newRadius>-- Change the lobby zone radiusgm.lobby position <position|here>-- Move the lobby center pointgm.lobby draw-- Visualize lobby and all arena zones for 20 seconds- Shows spheres for zones and spawn points with labels
gm.lobby spawn add <position|here> <radius>-- Add a spawn point to the lobby- Radius determines the spawn randomization area
gm.lobby spawn remove [spawnPointId]-- Remove a spawn point- If no ID specified, removes the nearest spawn point to you
gm.lobby rule add <rule1> [rule2] ...-- Add one or more rules to the lobby (see Zone Rules for available options)gm.lobby rule remove <rule1> [rule2] ...-- Remove rules from the lobby
gm.lobby blockcmd add <command>-- Block a command in the lobbygm.lobby blockcmd remove <command>-- Unblock a commandgm.lobby blockcmd list-- List all blocked commands
Configuration
JSON:
{
"Version": "1.10.2",
"Lobby": {
"Enable Lobby Only Mode": true,
"Respawn Gear Set": "",
"Join Chat Command": "join",
"Zone Opacity": 1,
"Locked Inventory Containers": [
"all"
],
"Backup And Restore Inventory On Lobby Entry And Exit": true,
"Hours Before Saved Player Data Expires": 24
},
"Arena": {
"Leave Chat Command": "leave",
"Send Join Leave Messages": true,
"Zone Opacity": 1
}
}
Lobby Settings
Enable Lobby Only Mode-- Controls whether players are confined to the lobby until they join an arena. Enable this for dedicated minigame servers where the entire server revolves around competitive play. Disable this for hybrid servers where players can also farm, build, and explore outside of arenas.Respawn Gear Set-- Name of a Gear Core gear set to equip when players enter or respawn in the lobby. Leave empty to give players no items. Requires the Gear Core plugin.Join Chat Command-- Chat command players use to teleport to the lobby. For example, setting this to"lobby"means players type/lobbyto join.Zone Opacity-- Number of sphere overlays for the lobby zone visual. Set to0for an invisible zone, up to5for a very visible/dark zone.Locked Inventory Containers-- Which inventory containers to lock while in lobby. Options:"main","belt","wear", or"all". Prevents players from dropping or moving items while in the lobby.Backup And Restore Inventory On Lobby Entry And Exit-- When enabled, the player's position, rotation, health, and full inventory are saved when joining the lobby and restored when leaving. This lets players jump into arenas without losing their normal gameplay progress. Only applies when"Enable Lobby Only Mode"is disabled.Hours Before Saved Player Data Expires-- When a player joins the lobby, their position and inventory are saved. If they don't return to reclaim it within this many hours, the saved data is deleted. Set to 0 to keep saved data forever.
Arena Settings
Leave Chat Command-- Chat command players use to leave an arena. For example, setting this to"quit"means players type/quitto leave.Send Join Leave Messages-- Whether to broadcast messages when players join or leave arenas. Messages are only sent to players in the same arena.Zone Opacity-- Number of sphere overlays for arena zone visuals. Same behavior as lobby zone opacity.
Zone Rules
Rules control what actions are allowed within lobby and arena zones. Apply rules usinggm.lobby rule add <ruleName> or configure them per-arena in gamemode-specific plugins.| Rule | Effect |
|---|---|
NoBuilding | Prevents players from placing structures |
NoKillSelf | Prevents the /kill suicide command |
NoCrafting | Disables crafting |
NoSleeping | Kills sleepers when players disconnect |
NoItemDropping | Prevents dropping items on the ground |
NoNPCSpawn | Prevents NPC spawning (scientists, etc.) |
NoWounding | Players die instantly instead of going wounded |
NoLootSpawn | Prevents loot containers from spawning |
NoSignEditing | Prevents editing signs/photos |
NoCorpseSpawn | Player corpses are removed immediately on death |
NoPvPDamage | Players cannot damage other players |
NoEnvironmentDamage | Players take no fall, heat, cold, or other environmental damage |
NoArmoryBoxAccess | Prevents opening Armory plugin boxes |
NoItemContainerSpawn | Removes dropped item containers (backpacks) |
NoItemWear | Items don't lose condition/durability |
NoBleeding | Disables bleeding |
NoHunger | Keeps food at maximum |
NoThirst | Keeps hydration at maximum |
NoHeldGunDrop | Weapons are destroyed instead of dropped on death |
NoDecay | Disables decay damage for structures in the zone |
NoEntityDamage | Prevents players from damaging structures and deployables |
NoChatVisibility | Hides player chat messages from other players in the arena (useful for solo-focus modes like aim train) |
TruePvEBypass | Allows PvP damage inside arenas on servers running True PVE without disabling it globally |
Teleporters
Teleporters are entry points that transport players from the lobby into arenas. Each arena can have one teleporter, which appears as a defined zone that players walk into to join that arena.When a player approaches a teleporter, floating text displays information about the arena. This shows real-time details like player count and game status. The information displayed is controlled by an Information Template setting in each gamemode's arena configuration.
Information Placeholders
The information template supports these placeholders that get replaced with live data. Gamemode plugins can add their own additional placeholders beyond these core ones.| Placeholder | Description |
|---|---|
{Title} | The arena's display name |
{Gamemode} | The type of gamemode (FFA, Gun Game, etc.) |
{Status} | Current game state (Waiting For Players, Warmup, Started, Finished) |
{TimeLeft} | Time remaining in the current phase, or "Indefinite" for untimed rounds |
{PlayerCount} | Number of players currently in the arena |
{PlayerCapacity} | Maximum players allowed, or "Unlimited" if no limit |
{PlayerList} | Newline-separated list of player names in the arena |
Teleporter Data Structure
Teleporters are configured per-arena in each gamemode's data file. The teleporter section looks like this:
JSON:
"Teleporter": {
"Radius": 3.0,
"Position": { "x": 100.0, "y": 10.0, "z": 50.0 },
"Information Text Visibility Range": 15.0,
"Visible Zone": true
}
Radius-- Size of the teleporter zone. Players entering this radius are transported to the arena.Position-- World coordinates of the teleporter center.Information Text Visibility Range-- How close players must be to see the floating information text (in meters).Visible Zone-- Whether to display a visual sphere around the teleporter area.
Chat Isolation
Chat in Gamemode Core is isolated by location. Players in the lobby only see messages from other lobby players, and players in an arena only see messages from others in that same arena. This keeps communication relevant and prevents spam from bleeding across different areas of the server.Players outside both the lobby and any arena (when lobby only mode is disabled) chat normally with global chat. Compatible with Better Chat.
Stored Data
JSON:
{
"Lobby": {
"Radius": 50.0,
"Position": {
"x": 0.0,
"y": 10.0,
"z": 0.0
},
"Rules": [
"NoPvPDamage",
"NoBuilding"
],
"Spawn Points": [
{
"Id": "001",
"Position": { "x": 5.0, "y": 10.0, "z": 5.0 },
"Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
"Radius": 3.0,
"Leash Radius": 0.0
}
],
"Blocked Commands": [
"tpr",
"home"
]
}
}
Radius-- Zone radius in metersPosition-- World coordinates of zone centerRules-- Active rules for this zoneSpawn Points-- List of spawn point configurationsId-- Unique identifier for the spawn pointPosition-- World coordinatesRotation-- Euler angles for player facing directionRadius-- Randomization radius for spawn positionLeash Radius-- If > 0, creates a visible zone players cannot leaveLeash Opacity-- Visual intensity of the spawn leash zone. Higher values increase visibility,0hides it completely. Default is1
Blocked Commands-- Commands that are disabled in this zone
Localization
JSON:
{
"Error.NoPermission": "You do not have permission to use this command.",
"Timer.WaitingForPlayers": "Waiting for players",
"Timer.WarmingUp": "Warming up",
"Timer.CompleteObjective": "Complete objective",
"Timer.RoundEndsIn": "Round ends in",
"Timer.NextRoundStartsIn": "Next round starts in",
"Kill.YouKilled": "You killed <color=#55AAFF>{0}</color> with a <color=#CACF52>{1}</color> from <color=#75A838>{2}</color>.",
"Kill.KilledYou": "<color=#55AAFF>{0}</color> killed you with a <color=#CACF52>{1}</color> from <color=#75A838>{2}</color>.",
"Kill.KilledPlayer": "<color=#55AAFF>{0}</color> killed <color=#55AAFF>{1}</color> with a <color=#CACF52>{2}</color> from <color=#75A838>{3}</color>.",
"Lobby.CannotLeave": "You cannot leave the lobby.",
"Lobby.LeaveArenaFirst": "You must leave the arena first before joining the lobby.",
"Lobby.AlreadyInLobby": "You are already in the lobby.",
"Lobby.StateSaved": "Your position and inventory have been saved.",
"Lobby.StateRestored": "Your position and inventory have been restored.",
"Player.Joined": "<color=#55AAFF>{0}</color> joined.",
"Player.Left": "<color=#55AAFF>{0}</color> left.",
"Button.Leave": "L E A V E",
"Command.Blocked": "This command is blocked in this area."
}