Overview

AtlasPractice is an open-source Minecraft practice plugin designed for competitive servers. It provides a complete out-of-the-box practice experience with no artificial limits — no arena caps, no kit caps, no edition tiers.

Unlimited Arenas
Runtime Arena Cloning
Dynamic Arena Reset
One-click Auto Setup
Shared Arenas
Arena Templates
SlimeWorldManager
Advanced Replay
Party System
Ranked Queue
Unranked Queue
ELO Rating
Cosmetics
Progression / Levels
PlaceholderAPI
PandaSpigot Support
Health Indicators
Spectating
Leaderboards
Multi-kit Support
Configurable Knockback
Kit Layout Editor
Preset Kits

Installation

Requirements

ComponentVersionNotes
Java17+Required by the plugin
Server SoftwarePaperSpigot 1.8.8 / PandaSpigotPandaSpigot recommended for best performance
SlimeWorldManagerLatestRequired. Powers all arena worlds
CitizensLatestRequired. Used for Bot Practice NPCs

Optional Dependencies

PluginPurpose
PlaceholderAPIExposes stats to scoreboards, TAB, holograms
AtlasReplayEnables match replay recording and playback
AtlasMoreAdds additional lobby features for players

Installation Steps

1

Install Dependencies

Place SlimeWorldManager and Citizens into your plugins/ folder. Optionally add PlaceholderAPI and AtlasReplay.

2

Add AtlasPractice

Drop the AtlasPractice.jar into your plugins/ folder.

3

Start the Server

Start your server. AtlasPractice will generate config.yml, kits.yml, arenas.yml, scoreboard.yml, ranked.yml, and other config files automatically.

4

Set the Lobby Spawn

Stand at your desired lobby spawn point and run /setlobbyspawn.

5

Create Your First Kit

Run /kit create <name>, then /kit edit <name> to set the items. Or use /toolazytocreatekits to generate from built-in presets instantly.

6

Create Your First Arena

Follow the Arena System section below to create an arena and link it to a kit.

Tip After installing, check the console for the AtlasPractice startup banner. It will confirm whether SlimeWorldManager, PlaceholderAPI, and Replay are all hooked successfully.

First Setup Checklist

TaskCommand / Action
Set lobby spawn/setlobbyspawn
Create a kit/kit create <name> then /kit edit <name>
Or use preset kits/toolazytocreatekits
Create a SWM arena world/swm create <worldname> file
Create an arena/arena create <arenaName> <runtimeWorld> [slimeWorldName]
Set arena spawns/arena setspawnred <arena> and /arena setspawnblue <arena>
Link arena to kit/kit addarena <arena> <kit>
Enable the arena/arena enable <arena>
VerifyQueue into the kit from the lobby hotbar

Arena System

AtlasPractice supports unlimited arenas with no cap. Arenas are linked to kits — a single kit can have multiple arenas, and the system picks one automatically when a match starts.

Arena Modes

TypeDescriptionReset Method
NORMAL Standard 1v1 arena. Multiple concurrent matches per arena are allowed. No terrain change, no reset needed
SHARED Multiple matches share the same physical space. Block changes tracked and reverted between rounds. Tracked-block rollback
BRIDGE Bridge (first to score wins). Requires goal blocks set via /arena goalwand. SWM clone reset
BEDFIGHT Destroy the opponent's bed. Requires bed positions. SWM clone reset
FIREBALLFIGHT Traditional Fireball Fight. Standard reset

Arena Commands

CommandDescription
/arena listList all arenas with their current state and linked kit.
/arena create <name> <world> [slimeWorldName]Create a new arena. Pass a SWM slime world name for runtime arenas.
/arena delete <name>Remove an arena permanently.
/arena setpos1 <name>Set first boundary corner.
/arena setpos2 <name>Set second boundary corner.
/arena setspawnred <name>Set the red team spawn point.
/arena setspawnblue <name>Set the blue team spawn point.
/arena setbedred <name>Set the red bed location (BF/FBF).
/arena setbedblue <name>Set the blue bed location (BF/FBF).
/arena goalwandReceive a goal-wand to mark Bridge/BattleRush goal blocks.
/arena autobridgeblocks <name>Set auto-bridge block palette for a Bridge arena.
/arena save <name>Save arena configuration to disk.
/arena enable <name>Enable the arena so it enters the matchmaking pool.
/arena disable <name>Disable the arena (keeps it saved, removes from matchmaking).
/arena useshared [name]Configure an arena as a Shared Arena via GUI.

SlimeWorldManager Integration

AtlasPractice is built around SlimeWorldManager (SWM) for arena world management. SWM stores worlds in a compact slime format, enabling instant world loading, cloning, and deletion at runtime — eliminating the traditional Minecraft world folder bottleneck.

Why SWM? Without SWM, each arena reset would require reloading a full Minecraft world from disk. With SWM, AtlasPractice clones a template world in memory in milliseconds, giving every match its own clean world instantly. This is what enables unlimited concurrent matches without lag.

Creating a SWM Arena World

# Step 1 — Create a new SWM world
/swm create <worldname> file

# Step 2 — Teleport into it and build or paste your arena
/swm goto <worldname>

# Step 3 — When done, unload it to save
/swm unload <worldname>

# Step 4 — Register it in AtlasPractice
/arena create <arenaName> <runtimeWorldName> <slimeWorldName>
Runtime World The runtimeWorldName in /arena create is the name Bukkit uses for the live copy of your arena world during a match. The slimeWorldName is your saved SWM template. AtlasPractice clones the template into the runtime name every time a match starts, so each match always gets a fresh copy.

How Runtime Cloning Works

  1. A match is created and needs an arena.
  2. AtlasPractice clones the SWM template world into a new runtime world name.
  3. Players are teleported into the cloned world.
  4. After the match ends, the runtime world is deleted.
  5. The template is never touched — it is always clean and ready for the next clone.

This means you can have dozens of simultaneous matches all running in independent worlds derived from the same single template.

Auto Arena Setup

The Auto Arena Setup wizard scans an existing arena structure and automatically detects and configures spawn points, boundary regions, and mode-specific settings — saving you from running every /arena set* command manually.

Requirements

Before running Auto Setup, your arena must meet the following requirements:

Important
Auto Setup relies on these blocks to identify team locations. If there are more or fewer than 2 Beds, 1 Red Wool, and 1 Blue Wool, the scan may fail or produce incorrect results.

When to Use It

Use Auto Setup after you have built or pasted an arena and registered it with /arena create. The scanner works best when your arena follows a symmetric layout with clearly distinguishable team bases.

Running Auto Setup

# Start Auto Setup
/arenaautosetup <arenaName> yes

# Cancel
/arenaautosetup <arenaName> no
Tip
After Auto Setup completes, verify the detected locations by teleporting around the arena and checking that all spawn points, regions, and team assignments are correct before making the arena available to players.

Special Arena Types — Setup Guide

Most arenas only need red/blue spawns. The following modes require additional setup steps.

Bridge

Players race to score goals in the enemy's portal/goal zone. First team to reach the score limit wins.

  1. Create the arena with /arena create.
  2. Set both team spawns.
  3. Run /arena goalwand to receive a goal-marking wand.
  4. Right-click the goal blocks for each team to register them.
  5. Optionally configure auto-bridge blocks: /arena autobridgeblocks <name>.
  6. Save and enable.

BattleRush

Team-based mode. Uses goal blocks similar to Bridge.

  1. Set both team spawns.
  2. Use /arena goalwand to mark goal zones.
  3. Save and enable.

BedFight

Destroy the opponent's bed to eliminate their respawns, then eliminate the opponent.

  1. Set both team spawns.
  2. Stand at each bed and run /arena setbedred <name> and /arena setbedblue <name>.
  3. Save and enable.

Fireball Fight

Players fight using clutching with fireballs & Tnts, Uses standard arena setup — Click [BF/FBF] button for arena creation.

Pearl Fight

Ender-pearl-focused combat. Standard two-spawn setup.

Boxing

Unarmed combat tracked by hit count. Standard two-spawn setup. No special configuration required.

BuildUHC

Players can place blocks during the match — terrain-altering.

  1. Create the SWM template world.
  2. Create the arena: /arena create <name> <runtimeWorld> <slimeWorldName>.
  3. The system will automatically create a fresh clone per match.

Kit System

Kits define what gear players receive when a match starts. Each kit can have multiple arenas linked to it. Kits are fully customizable — items, enchantments, potions, and player-editable layout slots.

Kit Commands

CommandDescriptionPermission
/toolazytocreatekitsList of Predefined kits.atlaspractice.admin
/kit create <name>Create a new kit.atlaspractice.admin
/kit edit <name>Open the kit editor (put items in inventory).atlaspractice.admin
/kit save <name>Save the current inventory as the kit template.atlaspractice.admin
/kit delete <name>Delete a kit.atlaspractice.admin
/kit listList all registered kits and their linked arenas.atlaspractice.admin
/kit addarena <arena> <kit>Link an arena to a kit.atlaspractice.admin
/kit removearena <arena> <kit>Unlink an arena from a kit.atlaspractice.admin
/kitlayoutOpen the personal kit layout editor (players).
/resetlayout <kitName>Reset your personal kit layout to the admin default.
/allowedrankedkitsOpen the GUI to enable/disable kits for Ranked.atlaspractice.admin
Player Kit Layouts Players can customize the slot positions of items within their kit using /kitlayout. Their layout is saved per-player and persists between sessions. And can reset it with /resetlayout <kitName>.

Built-in Kit Presets

AtlasPractice ships with 22 built-in kit presets. Instead of building every kit manually from scratch, run /toolazytocreatekits to open a GUI and generate any preset kit instantly.

Classic NoDebuff Debuff Gapple Soup Combo Diamond Iron Archer Axe HCF Sumo Boxing Bridge BattleRush BedFight FireballFight PearlFight BuildUHC FinalUHC StickFight TopFight
Preset Command Run /toolazytocreatekits as a staff member to open the preset generator GUI. Click any preset to create it. The kit is saved immediately and ready to be linked to an arena.

Queue System

Players join queues from the lobby hotbar. AtlasPractice runs periodic matchmaking and pairs players automatically when two players are in the same queue.

Unranked Queue

No ELO change. Good for casual practice or learning a kit.

Ranked Queue

ELO-based matchmaking. Only kits explicitly enabled for ranked via /allowedrankedkits appear here.

Random Queue

Drops you into a random unranked kit queue. Fast way to get into a match. Use /rq.

Lobby Hotbar

SlotItemAction
0Iron Sword — Unranked QueueRight-click to open unranked kit selector
1Diamond Sword — Ranked QueueRight-click to open ranked kit selector
3Nether Star — Party MenuRight-click to open party menu
4Book — Kit EditorRight-click to open kit layout editor
7Chest — CosmeticsRight-click to open cosmetics menu
8Redstone Comparator — SettingsRight-click to open settings menu

Ranked System

The ranked queue uses an ELO rating system. Each kit tracks ELO independently, and there is also a global ELO that aggregates all kit performance. Only kits configured as ranked-eligible (via /allowedrankedkits) appear in the ranked queue menu.

ELO Tracking ELO is tracked per-kit. %atlaspractice_elo_nodebuff% returns a player's ELO for the nodebuff kit. %atlaspractice_global_elo% returns a combined rating.

Party System

The party system allows groups of players to play together — either in private matches against each other, in a split 1v1, or in FFA within the party.

Party Commands

CommandDescription
/party createCreate a new party. You become the leader.
/party invite <player>Invite a player to your party. Leader only.
/party accept <leader>Accept an incoming party invitation.
/party deny <leader>Decline an incoming party invitation.
/party leaveLeave your current party.
/party kick <player>Remove a member from your party. Leader only.
/party promote <player>Transfer party leadership to another member.
/party disbandDisband the entire party. Leader only.
/party duel <leader>Challenge another party to a match. Opens kit selector.
/party splitSplit the party into two even teams for a match.
/party infoView current party members and leader.
/party chat <message>Send a message only to party members.

Party Match Types

Party PvP

Two party leaders challenge each other. Each player in one party fights a corresponding player from the other.

Party FFA

All party members fight each other in a free-for-all match.

Party Split

Party is automatically divided into two teams for a team match.

Party Bridge / BattleRush

Team-based party matches for Bridge and BattleRush modes.

Party Chat Use /party chat <message> to communicate with party members only, without broadcasting to the server.

Duels

Challenge any player in the lobby to a private 1v1 match on a specific kit and arena.

/duel <playerName>

The challenged player receives an invite. They can accept with /accept <yourName> or decline with /deny. Duels do not affect ELO.

Cosmetics

AtlasPractice includes a full cosmetics system. Players can equip cosmetics from the lobby by right-clicking the Chest item (slot 7) or running /cosmetics.

Cosmetic Categories

Auras

Particle effects that orbit around the player in the lobby.

Kill Effects

Particle/sound effects triggered when a player gets a kill in a match.

Kill Messages

Custom death messages shown in chat when a player eliminates an opponent.

Chat Colors

Custom color applied to the player's chat messages.

Projectile Trails

Particle effects trailing behind projectiles (arrows, snowballs) during matches.

Cosmetics Command

/cosmetics

Player Settings

Players can configure personal preferences via the Settings menu (Redstone Comparator in slot 8) or via /settings command.

Post-Match Settings AtlasPractice includes a Post-Match settings system, allowing players to configure what happens after a match ends (e.g., automatic lobby return, stats display preferences).

Progression System

Players earn XP and Coins by playing matches. XP accumulates into Levels, which can unlock cosmetics and display as colored level tags via PlaceholderAPI.

Admin Commands

CommandDescription
/xp give <player> <amount>Grant XP to a player.
/xp set <player> <amount>Set a player's XP directly.
/coins give <player> <amount>Grant coins to a player.
/coins set <player> <amount>Set a player's coin balance.

Level Colors

Level color ranges are configured in level-colors.yml. Each level range can have a distinct color prefix displayed in scoreboards and holograms via the %atlaspractice_level% placeholder.

Replay System

AtlasPractice integrates with AtlasReplay (optional) to record and play back matches. When AtlasReplay is installed, matches are automatically recorded in the background with no player action required.

Viewing Replays

/replays

Use /replays to open a menu containing all available replays. You can browse through old and recent matches, select a replay, and view its details before playing it. Each replay shows information such as the players involved and the match duration.

Searching for a Replay

/replay search <player1> <player2>

You can search for an exact replay by entering the players who were in the match. This makes it easier to find a specific match without having to browse through the entire replay list.

Viewing a Replay

/atlasreplayview <replayId>

After a match ends, players receive a clickable button in chat to watch their replay directly. Replays can also be selected from the /replays menu or accessed by admins using the command above with a known replay ID.

Replay Details

Benefits

Dependency Replay is an optional feature. AtlasPractice will start normally without AtlasReplay installed — replay functionality will simply be unavailable. Install AtlasReplay and restart to enable it.

Spectating

Staff and players with appropriate permissions can silently spectate any live match.

/spec <playerName>
/spectate <playerName>

Spectators are invisible to match participants and cannot interact with the world. Use /spawn to return to the lobby.

Leaderboards

AtlasPractice maintains cached leaderboard rankings for Kills, Deaths, Wins, Level, XP, and Coins. Leaderboard data refreshes periodically and is exposed via PlaceholderAPI for use in holograms or scoreboards.

Leaderboard Command

/atlasleaderboard
/lb
/leaderboards

This command is admin-only and is used to manage packet holograms that display leaderboard data.

PlaceholderAPI Leaderboard Placeholders

PlaceholderReturns
%atlaspractice_top_wins_1_name%Name of #1 player by wins
%atlaspractice_top_wins_1_value%Win count of #1 player
%atlaspractice_top_kills_3_name%Name of #3 player by kills
%atlaspractice_top_kills_3_value%Kill count of #3 player
%atlaspractice_top_deaths_1_name%Name of #1 player by deaths
%atlaspractice_top_level_1_name%Name of #1 player by level

Pattern: %atlaspractice_top_<category>_<position>_<name|value>%
Categories: wins, kills, deaths, level, xp, coins


Custom Leaderboard Holograms

AtlasPractice also supports custom leaderboard holograms that can be placed anywhere in the server. These leaderboards are managed by admins and are saved automatically in lb.yml.

Quick Setup

The easiest way to create leaderboards is:

/atlaslb fastsetup

The setup menu lets you add or remove global and per-kit leaderboards without having to type every command manually.

Available Leaderboards

Leaderboard Global Per Kit
Wins Yes Yes
Kills Yes Yes
Deaths Yes Yes
Win Streak Yes Yes
ELO No Yes

Leaderboard Configuration

Each leaderboard is stored in lb.yml. The file contains the leaderboard name, location, stat type, kit and display style.

holograms:
  lb_wins_global:
    world: world
    x: 0.0
    y: 80.0
    z: 0.0
    type: WINS
    kit: NONE
    style: default

  lb_winstreak_nodebuff:
    world: world
    x: 5.0
    y: 80.0
    z: 0.0
    type: WINSTREAK
    kit: NODEBUFF
    style: default

Leaderboard Styles

The appearance of leaderboard holograms can be changed from config.yml. This includes the title, kit line, player entries, empty entries, footer and number of displayed players.

leaderboards:
  styles:
    default:
      max-entries: 10
      title: "&b&lTop {stat}"
      kit-line: "&7{kit}"
      entry: "&e#{position} &f{player} &7- &b{value}"
      empty: "&e#{position} &8N/A"
      footer: ""

Style Placeholders

Placeholder Description
{stat} Leaderboard stat name
{type} Leaderboard type
{kit} Kit name
{position} Player position
{player} Player name
{value} Player's value for that leaderboard

Managing Leaderboards

/atlaslb
/atlaslb fastsetup

Use /atlaslb reload after changing leaderboard configuration files manually.

Commands Reference

Player Commands

Quit an on-going match.
CommandAliasesDescription
/spawnTeleport to the lobby spawn.
/leave
/duel <player>Challenge a player to a duel match.
/accept <player>Accept a duel or party invite.
/denyDecline an active invite or challenge.
/partyParty Options (see Party section).
/stats [player]View your own or another player's stats.
/spec <player>/spectateSpectate a player's match.
/kitlayoutOpen the personal kit layout editor.
/resetlayout <kit>Reset your kit layout to default.
/cosmeticsOpen the cosmetics menu.
/randomqueue/rq, /randomJoin a random unranked kit queue.
/atlasreplayview <id>Watch a recorded match replay.
/practiceAtlasPractice player utilities menu.
/replaysOpen the replay menu to browse and watch recorded matches.
/replay search <player1> <player2> Search for a specific replay by the players who played in it.

Admin Commands

CommandAliasesDescription
/practiceadmin reload/pa reloadReload kits and arenas from disk without restart.
/practiceadmin status/pa statusView live match count and profile cache size.
/setlobbyspawnSet the lobby spawn to your current position.
/allowedrankedkitsGUI to toggle which kits appear in ranked queue.
/xp give|set <player> <amount>Manage player XP.
/coins give|set <player> <amount>Manage player coins.
/toolazytocreatekitsOpen the preset kit generator GUI.
/presetkitcreateInternal command used by the preset GUI.
/arenaautosetup <arena> <yes|no>Run the Auto Arena Setup wizard.
/atlasleaderboard/lbManage leaderboard holograms.

PlaceholderAPI

When PlaceholderAPI is installed, AtlasPractice registers a atlaspractice expansion automatically on startup. These placeholders work in any plugin that supports PAPI (TAB, HolographicDisplays, CMI, FeatherBoard, etc.).

PlaceholderReturns
%atlaspractice_level%Player's current level
%atlaspractice_xp%Player's total XP
%atlaspractice_xp_current%XP earned into the current level
%atlaspractice_xp_needed%XP required to reach next level
%atlaspractice_coins%Player's coin balance
%atlaspractice_kills%Total kills
%atlaspractice_deaths%Total deaths
%atlaspractice_wins%Total wins
%atlaspractice_kdr%Kill/death ratio (2 decimal places)
%atlaspractice_global_elo%Global ELO rating
%atlaspractice_elo_<kitId>%ELO for a specific kit (e.g. %atlaspractice_elo_nodebuff%)
%atlaspractice_state%Current player state (LOBBY, IN_MATCH, etc.)
%atlaspractice_top_wins_1_name%Leaderboard: name of #1 player by wins
%atlaspractice_top_kills_1_value%Leaderboard: kill count of #1 player
Kit ELO Placeholder Replace <kitId> with the internal kit ID (lowercase, no spaces). For example, for a kit created as nodebuff, use %atlaspractice_elo_nodebuff%.

Bot Practice

Temporarily Disabled Bot Practice is currently undergoing a complete rewrite using Citizens NPCs. The feature will return in a future update with significantly improved AI, movement, and difficulty scaling. The /bot command exists in the plugin but the feature is not currently functional. Do not configure or advertise Bot Practice to players at this time.

Permissions

PermissionDefaultDescription
atlaspractice.adminOPFull admin access (kit/arena management, practiceadmin, etc.)
atlaspractice.admin.arenaOPArena management commands only
atlaspractice.admin.progressionOPXP and coin admin commands
atlaspractice.build.bypassOPBypass block-breaking restrictions in arena worlds
atlas.adminOPAuto setup and preset kit internal commands
atlaspractice.botOPAccess to the /bot command (currently non-functional)

Updates

Version 1.0.3
v1.0.3. Full arena system, SWM integration, ranked/unranked queues, party system, cosmetics, replay support, leaderboards, PlaceholderAPI, and progression.
View Full Changelog →

Open Source

AtlasPractice is fully open source. There are no editions, no license keys, and no feature paywalls. The entire codebase is available for everyone.

Fork It

Fork the repository and build your own custom version for your network.

Modify It

Add custom kits, modes, or integrations specific to your server.

Learn From It

Study the architecture — arena cloning, queue systems, party management, and replay integration.

Contribute

Submit pull requests, bug reports, or feature suggestions on GitHub.

Create Addons

Use the AtlasPracticeAPI to build external addons that integrate with the plugin.

⌥ View on GitHub →

FAQ

How do I install AtlasPractice?

Install SlimeWorldManager and Citizens first (required), then drop the AtlasPractice jar into your plugins/ folder and start the server. See the Installation section for the full step-by-step guide.

How many arenas can I create?

Unlimited. There is no arena cap. Create as many as your server hardware supports.

How do runtime arenas work?

When a match starts, AtlasPractice clones your SWM template world into a fresh runtime world in memory. Each match gets its own isolated world. When the match ends, the runtime world is deleted. The template is never modified.

Can I use PlaceholderAPI?

Yes. Install PlaceholderAPI and AtlasPractice will hook into it automatically on startup. See the PlaceholderAPI section for all available placeholders.

Does Replay require ProtocolLib?

No. Replay is powered by AtlasReplay, which is a separate optional dependency. ProtocolLib is not required by AtlasPractice.

Why is Bot Practice disabled?

Bot Practice is being completely rewritten using Citizens NPCs for better AI, pathfinding, and difficulty options. The feature will return in a future update. The /bot command is registered but currently non-functional.

How do I migrate arenas from another practice plugin?

You will need to recreate arenas manually. Build or paste your existing arena in a new SWM world, then register it with /arena create. Use the Auto Arena Setup wizard to detect spawn points automatically.

What happens to arena worlds when the server restarts?

Runtime worlds (active match clones) are automatically cleaned up when the plugin disables. Your SWM template worlds are preserved — they are stored by SlimeWorldManager and are not affected by restarts.

Can I run multiple matches on the same arena simultaneously?

Yes, for arenas configured as NORMAL or SHARED type. For terrain-altering modes (BuildUHC, Bridge, BedFight), each match clones its own separate world.

How do I enable a kit for ranked play?

Run /allowedrankedkits as an admin to open the GUI. Click a kit to toggle whether it appears in the ranked queue.