Minecraft Game Modes
Anarchy servers have no rules for players: no claims, no bans for griefing, no admin help, no rollbacks. Players come for exactly that. But "no rules" for players means more work for the owner, because an anarchy server faces two things other servers rarely do:
- Players who actively try to crash or lag the server. Crash items, book bans, lag machines, packet spam and duplication glitches are part of the culture.
- A world that grows forever. Players travel hundreds of thousands of blocks, and every chunk they see is saved. Worlds of hundreds of gigabytes are normal for old anarchy servers.
This guide sets up a Paper server that survives both: exploit protection, limits on lag machines, protection against book and chunk bans, a decision on duplication glitches, then disk monitoring, trimming, a backup plan for a huge world, attacks, and a queue for when you get popular.
Time: about 2 hours to set up, then a few minutes a week of upkeep.
You need:
- A Paper server (or Purpur). Anarchy needs Paper's protections. Paper servers
- 6–8 GB of memory to start, 10–12 GB with 50+ players exploring.
- Plenty of disk, and a plan for when it fills (see step 8).
Decide what kind of anarchy
Write these decisions down and publish them. Players accept almost anything except surprises.
| Question | Options |
|---|---|
| Hacked clients? | Most anarchy servers allow them (no anti-cheat for movement or combat). Some run "vanilla anarchy" with an anti-cheat. |
| Duplication glitches? | Allow vanilla dupes, patch them, or allow some. See step 5. |
| Bedrock breaking? | Allowed (players reach the Nether roof) or patched. |
| Illegal items (overstacked, overenchanted, unobtainable blocks)? | Almost always removed automatically. |
| World border? | None, or a very large one (for example 1–3 million blocks). |
| Resets? | Never (the classic: the map's history is the point), or seasons. |
| Chat | Unfiltered, or a basic filter for slurs and illegal content. |
Install the plugins
Typical anarchy servers run very few plugins: anything that adds commands or protection goes against the idea. The usual set:
| Plugin | Why |
|---|---|
| AnarchyExploitFixes (AEF) | The main exploit and crash protection plugin for anarchy servers. Free. Needs PacketEvents. |
| PacketEvents | Required by AEF. |
| spark | Finds what's causing lag. |
| LuckPerms | Staff permissions only. |
| A ban plugin | For people attacking the server, not for griefers. |
| Chunky | Pre-generating spawn and trimming the world later. |
Install them from Minecraft Plugins (AEF and PacketEvents are both on Modrinth). Install plugins Restart and check with plugins in the console that all are green.
Configure AEF
AEF creates its config in plugins/AnarchyExploitFixes/. It's long, organised by area, and every module can be turned on or off. Work through it once, with the server stopped:
- Illegals: what counts as an illegal item (overstacked items, enchantments above the maximum, unobtainable blocks such as bedrock or barrier, items with impossible attributes) and whether to delete them or revert them.
- Chunk limits: maximum entities, tile entities and specific blocks per chunk (see step 4).
- Lag preventions: limits on redstone, pistons, fast-moving entities, elytra speed in new chunks.
- Patches: fixes for specific crash and dupe exploits.
- Elytra: speed limits, especially in chunks that haven't been generated yet.
- Chat and commands: command whitelist, so players can only use the handful you allow.
After editing, restart (or use AEF's reload command) and watch the console for config errors.
Harden Paper's own settings
Paper already blocks many exploits. These settings tighten it for anarchy. Edit the files with the server stopped.
config/paper-global.yml
item-validation:
book:
author: 8192
page: 16384
title: 8192
book-size:
page-max: 2560
total-multiplier: 0.98
display-name: 8192
lore-line: 8192
resolve-selectors-in-books: false
packet-limiter:
all-packets:
action: KICK
interval: 7.0
max-packet-rate: 500.0
spam-limiter:
incoming-packet-threshold: 300
recipe-spam-increment: 1
recipe-spam-limit: 20
tab-spam-increment: 1
tab-spam-limit: 500
misc:
max-joins-per-tick: 5
These are Paper's defaults; the point is to check they haven't been raised and know what they do:
| Setting | What it protects against |
|---|---|
item-validation.book.* and book-size.* |
Huge books used for book bans: a chest full of maxed books makes a chunk or a player too large to load. Lower page-max (for example to 1024) if you see book-ban attempts. |
display-name, lore-line |
Items with enormous names used to crash clients. |
resolve-selectors-in-books: false |
Selectors in books being used to grab data. Keep false. |
packet-limiter |
Clients spamming packets to lag or crash the server. Players over the rate are kicked. |
spam-limiter |
Tab-complete and recipe-book spam. |
max-joins-per-tick |
Bot floods joining at once. |
config/paper-world-defaults.yml
chunks:
entity-per-chunk-save-limit:
arrow: 16
ender_pearl: 8
experience_orb: 16
fireball: 8
small_fireball: 8
snowball: 8
max-auto-save-chunks-per-tick: 24
collisions:
max-entity-collisions: 2
environment:
optimize-explosions: true
max-fluid-ticks: 65536
misc:
redstone-implementation: ALTERNATE_CURRENT
tick-rates:
grass-spread: 4
container-update: 1
mob-spawner: 2
hopper:
disable-move-event: false
| Setting | Why |
|---|---|
entity-per-chunk-save-limit |
Stops thousands of arrows, pearls or orbs being saved in one chunk, a classic chunk-ban and lag trick. Careful with ender_pearl: pearl stasis chambers are a beloved anarchy tradition, and a low limit can delete pearls players saved. Pick a limit that allows a normal stasis chamber. |
max-entity-collisions: 2 |
Entity cramming lag machines become far cheaper. |
optimize-explosions: true |
TNT and crystal spam costs far less CPU. |
redstone-implementation: ALTERNATE_CURRENT |
Much faster redstone dust with (almost) vanilla behaviour. If players report a broken contraption, try VANILLA. |
tick-rates.grass-spread: 4 |
Grass spreading is a surprising amount of work on huge worlds. |
tick-rates.mob-spawner: 2 |
Halves the cost of spawner farms. |
spigot.yml
world-settings:
default:
max-tnt-per-tick: 100
item-despawn-rate: 6000
merge-radius:
item: 2.5
exp: 3.0
Raising merge-radius combines dropped items and XP orbs into fewer entities; it's one of the cheapest lag fixes there is. Lower max-tnt-per-tick (for example to 50) if TNT cannons cause lag.
server.properties
| Setting | Value | Why |
|---|---|---|
view-distance |
6–8 |
Every extra chunk of view distance multiplies the chunks loaded and generated per player. |
simulation-distance |
4–5 |
Ticking is the expensive part. |
spawn-protection |
0 |
Anarchy: no protection at spawn. |
online-mode |
true |
Never run an anarchy server in offline mode: anyone could join as you. |
max-players |
Your real limit | With a queue (step 11), this is the number actually playing. |
Restart, then check the console for YAML errors (it names the file and line).
Limit lag machines
Some players build machines whose only purpose is to lag the server. You don't have to ban them: just make sure no single chunk can cost too much.
Find them
- Run
/spark profiler start, wait 3–5 minutes during a lag spike, then/spark profiler stop. Open the link. - Look for a single chunk or entity type taking most of the tick. spark's view shows the world and coordinates.
- The Paper
/paper entity listcommand shows entity counts by type and where they are, which finds item and minecart piles fast.
Limit them
| Machine | Limit |
|---|---|
| Entity piles (minecarts, armour stands, items, boats) | AEF chunk limits per entity type; max-entity-collisions: 2; higher merge-radius. |
| Redstone clocks | ALTERNATE_CURRENT; AEF redstone limits. |
| Piston machines | AEF piston limits. |
| Hopper chains | Paper hopper.cooldown-when-full: true (default); ticks-per.hopper-transfer in spigot.yml (default 8). |
| Falling-block and TNT machines | optimize-explosions: true, max-tnt-per-tick, AEF limits. |
| Tile-entity spam (thousands of chests, signs, banners in one chunk) | AEF tile-entity chunk limits. |
Set limits high enough that normal bases are never affected: a storage room with 200 chests is normal, 5,000 shulker boxes in one chunk is not.
Decide on duplication and vanilla exploits
Paper patches several vanilla exploits. In config/paper-global.yml, the unsupported-settings section can turn them back on:
unsupported-settings:
allow-headless-pistons: false
allow-permanent-block-break-exploits: false
allow-piston-duplication: false
allow-unsafe-end-portal-teleportation: false
skip-tripwire-hook-placement-validation: false
| Setting | Turning it on allows |
|---|---|
allow-permanent-block-break-exploits |
Breaking bedrock and end portal frames, so players can reach the Nether roof. |
allow-piston-duplication |
TNT, carpet and rail duplicators. |
allow-headless-pistons |
Headless piston tricks. |
allow-unsafe-end-portal-teleportation |
Vanilla end-portal entity behaviour that Paper normally blocks. |
Many anarchy servers turn on bedrock breaking and TNT duping because players expect them from vanilla. Paper calls these settings unsupported: they can change or disappear in any update. Decide on purpose, announce it, and re-check after every Paper update.
Plugin-based dupes (bugs in AEF or other plugins, or chunk-ban "dupes" that rely on a crash) are a different matter: patch them as soon as you hear of one. They're how anarchy economies collapse in a weekend.
Protect against book bans, chunk bans and crash items
These attacks put so much data in one place that the server or the client can't load it.
| Attack | How it works | Protection |
|---|---|---|
| Book ban | A player's inventory (or a shulker they hold) is filled with huge books, so their player data is too large to send and they can't join. | Paper's item-validation.book and book-size limits; AEF book limits. |
| Chunk ban | A chunk is packed with so many signs, books, banners or items that anyone who loads it is disconnected. | AEF chunk and tile-entity limits; Paper's entity-per-chunk-save-limit. |
| Crash items | Items with oversized components, names or NBT that crash clients or the server. | Paper's item validation and component sanitizer; AEF illegals module. |
| Packet spam | A hacked client sends huge numbers of packets. | Paper's packet-limiter; AEF packet patches. |
If a player is already book-banned and can't join, you can clear their inventory from the console while they're offline with a plugin that edits offline player data, or delete their file from world/playerdata/<uuid>.dat with the server stopped (they lose their inventory and position). For a chunk ban, a staff member can usually stand outside the chunk and break the blocks, or you can delete that chunk with MCA Selector offline.
Illegal items
"Illegals" are items you can't get in vanilla survival: overstacked items (64 totems in one slot), enchantments above vanilla maximum, unbreakable gear, unobtainable blocks (bedrock, barrier, command blocks, spawn eggs), and items with modified attributes. They usually come from old exploits or hacked creative tools.
In AEF's illegals section, choose for each type whether to delete the item or revert it (for example, reduce enchantments to the vanilla maximum). Turn on checks for the places items move: inventory open, pick-up, drop, container open and hopper transfer. Test with a creative account: give yourself an overenchanted sword with a command, switch to survival, and pick it up. AEF should fix or remove it.
Announce your policy: some servers keep "legacy" illegals from early history as a feature, others wipe them all.
Plan for world growth
How fast does it grow?
Every chunk a player sees is generated and saved. A player flying an elytra in a straight line can generate tens of thousands of chunks an hour. A small anarchy server can grow by several gigabytes a week; a busy one by tens of gigabytes. Measure yours:
- Note the world size today: in Files, open the server folder; or check disk use on the Console page.
- Check again in a week. That's your growth rate.
- Divide your free space by it. That's how many weeks you have before you must act.
Watch the disk
- The Console page shows disk use. Check it weekly, and put a reminder in your calendar.
- If the disk fills, the server can't save and stops, and the newest chunks and player data may be lost. Don't let it get above about 85%.
- Backups take disk too (see step 10).
- When you're running low, contact us for more disk before it's urgent.
Choose a strategy
| Strategy | How | Trade-off |
|---|---|---|
| Big border | worldborder set 2000000 (1,000,000 blocks each way) |
Simple. Still grows, but there's an end. |
| No border, trim untouched land | Periodically delete chunks players only flew through. | Keeps real bases forever; untouched terrain regenerates if visited again. |
| Seasons | Archive the world and start fresh every few months. | Loses the history many anarchy players value. |
Most anarchy servers combine a large border with occasional trimming.
Pre-generate around spawn
Spawn is where everyone starts and the area that's hammered hardest. Pre-generate a few thousand blocks around it in every dimension so new players never wait for terrain:
chunky world world
chunky center 0 0
chunky radius 5000
chunky start
Then the Nether (chunky world world_nether, chunky radius 1000, chunky start). Do it with a backup and nobody online. Pre-generate
Limit generation from fast travel
Elytra and Nether highways generate huge numbers of new chunks. Options:
- AEF's elytra limits: lower speed in chunks that haven't been generated yet, or in the Nether roof.
- Paper's
chunk-loading-basic.player-max-chunk-generate-rateinconfig/paper-global.yml(default-1, unlimited). Setting a limit (for example40) caps how many new chunks one player can create per second. Players flying very fast see the edge of the world catch up with them, which is the intended effect. - A lower
view-distance: 6 instead of 10 generates under half as many chunks per player.
Trim the world safely
Trimming deletes chunks that nobody used. Minecraft records how long players have spent near each chunk (InhabitedTime, in game ticks; 20 ticks = 1 second). Chunks that were only flown through have an InhabitedTime of a few seconds; real bases have hours.
With Chunky (on the server)
Chunky's trim command:
chunky trim [world] [shape] [centerX] [centerZ] [radius] [radiusZ] [outside|inside] [inhabited]
Example: keep everything within 10,000 blocks of spawn, and outside that delete chunks where players spent 1 minute (1,200 ticks) or less:
chunky trim world square 0 0 10000 10000 outside 1200
Chunky prints what it's about to delete and asks you to confirm:
chunky confirm
Steps:
- Announce downtime. Make, lock and download a backup.
- Run the trim with nobody online.
- Restart the server afterwards, as Chunky's docs require.
- Fly out to a known base beyond the radius and check it's still there.
A higher inhabited value (for example 6000 = 5 minutes) deletes more; a lower one deletes less. Start cautious.
With MCA Selector (on your own computer)
MCA Selector is a desktop tool that opens a world's region files, shows a map, and deletes chunks by filter, for example InhabitedTime < "2 minutes". It's more visual but means downloading the world to your computer, which for a large anarchy world is often hundreds of gigabytes. It's most useful for smaller worlds, or for fixing one problem area (such as a chunk ban) on a downloaded copy of just those region files.
Backups for a huge world
Anarchy players don't expect rollbacks, but you need backups: for disk failures, for a disastrous trim, for a crash exploit that corrupts chunks.
The problem
A panel backup compresses the whole server. A 100 GB world makes a large backup that takes a long time to create, uses CPU and disk while it runs, and fills your backup slots quickly.
A plan that works
| What | How often | How |
|---|---|---|
| Full backup | Daily or every 2–3 days at your quietest time | Schedule (below). Ignore folders you don't need. |
| Locked milestone | Before every Paper or plugin update, and before every trim | Manual backup, then Lock. |
| Off-site copy | Monthly | Download a backup, or copy the world with SFTP, to your own storage. |
| Configs only | Weekly | Small: plugins, config, *.yml, server.properties. Make a copy in Files or download them. |
Schedule on Schedules (Backup schedules):
| Field | Value |
|---|---|
| Name | Daily backup |
| Cron (UTC) | 0 8 * * * (4:00 am Eastern in summer) |
| Task 1 | Send Command → save-all flush |
| Task 2 | Create Backup, offset 60 seconds. Ignored Files: logs, crash-reports, plugins/spark, cache |
save-all flush makes sure every chunk is written before the backup starts; on a big world give it a minute.
Then restart after the backup has had time to finish (for example 0 10 * * *). Watch the first few backups on the Backups page: note how long each takes and how big it is. If backups take hours, back up less often, or ask us about more backup capacity.
Attacks and queues
Denial-of-service attacks
Popular anarchy servers get attacked more than any other kind, often by players from rival servers. Be realistic about what you can control:
- Keep the server's address private where possible. Give players a domain name (with an SRV record), not the raw IP and port. If you run a network, only the proxy should be public; back-end servers should never be advertised. Velocity networks
- Don't run other services on the same address (a website, voice server or web map) that reveal it.
- Bot floods (thousands of fake joins) are handled by Paper's
max-joins-per-tickand an anti-bot plugin on the proxy. - Large network floods can only be handled at the network level, not by plugins. If your server is being attacked, contact us with the times it happened.
Queues
When more people want to play than your server can handle, a queue holds them in line instead of a "server is full" message. 2b2t made the queue part of anarchy culture.
A queue needs a Velocity proxy in front of the server and a small, empty "queue" server where waiting players sit. Plugins:
- PistonQueue (free): built for anarchy and survival servers, in the 2b2t style; runs on Velocity (and BungeeCord) with a part on the back-end servers. Read its README for priority-queue setup.
- ajQueue (free, with a paid Plus version): general queue plugin, also handles queues while a server restarts.
Set the anarchy server's max-players to the number you can actually run smoothly, and let the queue hold the rest. Set up the network first. Velocity networks and Server networks.
Long-term running
Weekly
- Disk use, and growth since last week.
/spark tpsat peak time, and a profile if it's below 19.5.- Console errors after the last restart.
- New exploit reports from players or other anarchy communities, and AEF updates.
Updates
Anarchy servers update later than others. Wait until Paper and AEF both support the new version, read AEF's changelog, lock a backup, and test on a copy if you can. New Minecraft versions also bring new exploits and dupes; the first weeks after a version release are when they're found.
Staff
Even with no rules, someone has to watch the server: restarts, illegal content, attacks. Give staff only what they need:
lp creategroup staff
lp group staff permission set minecraft.command.kick true
lp group staff permission set spark true
lp user StaffName parent add staff
Add your ban plugin's permissions for banning people who attack the server.
Common problems
| Problem | Cause and fix |
|---|---|
| The server crashes when one player does something | A crash exploit. Check the crash report in crash-reports and the last lines of logs/latest.log. Update Paper and AEF; ask in AEF's Discord with the log. |
| One player can't join ("packet too big" or instant disconnect) | Book-banned. Clear their player data with the server stopped, or delete world/playerdata/<uuid>.dat. Tighten book limits. |
| Everyone near one place gets disconnected | A chunk ban. Lower chunk limits in AEF; remove the chunk's contents or delete the chunk with MCA Selector. |
| TPS drops when a certain player is online | A lag machine or elytra generation. Profile with spark; check AEF chunk limits and elytra settings. |
| Constant lag far from spawn | Live terrain generation. Lower view-distance, cap chunk generation rate, pre-generate main routes. |
| AEF won't load after a Minecraft update | No AEF build for that version yet, or PacketEvents is missing or outdated. Go back to the locked backup and the previous version. |
| Dupes suddenly everywhere | An unsupported Paper setting was turned on, a plugin bug, or a new exploit. Check unsupported-settings, update plugins, look for patches. |
| Pearl stasis chambers lose pearls | entity-per-chunk-save-limit.ender_pearl too low. Raise it. |
| Disk full | World growth or too many backups. Delete old unlocked backups, trim, add a border, or ask us for disk. |
| Backups take hours or fail | The world is too big for frequent full backups. Back up less often, ignore unneeded folders, download a monthly copy. |
| Bases missing after a trim | The inhabited time or radius was too aggressive. Restore the locked backup and trim with a lower inhabited value. |
| Players complain of "server lag" but TPS is 20 | Network attack or player-side ping. Compare ping; contact us with timestamps. |
Launch checklist
- [ ] Anarchy rules published: dupes, bedrock, illegals, border, resets.
- [ ] Paper, AEF, PacketEvents, spark, LuckPerms green in
plugins; AEF supports your Minecraft version. - [ ] AEF config reviewed: illegals, chunk limits, lag preventions, elytra, command whitelist.
- [ ] Paper item validation, packet limiter, entity save limits, explosion and redstone settings set.
- [ ]
unsupported-settingschosen on purpose. - [ ] Spawn pre-generated; border decided.
- [ ]
view-distance6–8,simulation-distance4–5. - [ ] Daily backup with
save-all flush; a locked and downloaded pre-launch backup; restore tested. - [ ] Disk growth measured; weekly check scheduled in your calendar.
- [ ] Domain name for players; back-end addresses not published.
- [ ] Queue planned (or running) if you expect more players than slots.
Going further
- Fix lag: reading spark profiles.
- Pre-generate: Chunky in depth, including trimming.
- Velocity networks: the base for queues and hiding back-end servers.

