Chunklock Servers: Setup and Best Practices

Start in one chunk and unlock the world: choosing between the Chunklock plugin, the datapack and BentoBox ChunkBlock, world size and pre-generation, unlock costs, teams, permissions, performance, backups and running it in a network

Minecraft Game Modes

17 min readIntermediateLast updated Oct 31, 2026

In Chunklock, players start locked inside a single 16 × 16 chunk. Every neighbouring chunk is sealed off, and opening one costs something: usually items that depend on what's in that chunk or its biome. Players gather, pay, step into the new chunk, and slowly carve a path across the world. It's survival with a constant "one more chunk" goal.

This guide takes you from an empty server to a launched Chunklock server: choosing the right project (several share the name), sizing and pre-generating the world, tuning unlock costs, setting up teams and permissions, keeping it fast, backing it up, and running it as one game mode in a network.

Time needed: about 1 hour to set up, plus several hours (overnight is fine) for pre-generation.

Before you start you need:

  • A Minecraft server on Paper, with the Minecraft version pinned on Startup. Paper setup
  • 4–6 GB of memory for up to about 20 players.
  • Enough disk for a pre-generated world (step 3).
1

Choose your Chunklock project

Several unrelated projects use the name. They are not compatible with each other: install exactly one.

Chunklock plugin (Lunary1) Chunklock datapack (Delta Lore & Quillbee) ChunkBlock (BentoBox game mode)
What it is Paper plugin for a shared survival world. Vanilla datapack. OneBlock-style islands where each chunk is bought with island levels.
World One dedicated world, natural terrain. Your normal world. Void world, one island per player or team.
Progress Per player or team: each starts in their own chunk, spread around the world. Shared: the whole server unlocks one territory together. Per island.
Cost Items from the chunk being bought (or money with Vault). Items based on the biome; difficulty multiplier. Island levels (Level addon).
Configured with YAML files, /chunklock reload. /trigger commands as an operator. BentoBox config files, like AOneBlock.
Best for A public Chunklock server or network mode. Friends' servers, up to about 6 players. Networks already running BentoBox.
Price Free (source on GitHub). Free. Free.
Minecraft versions Released 2.3.0 is built for Paper 1.20.4–1.21.10; a version for newer Minecraft is in development. Listed up to 1.21.11 on Modrinth. Current BentoBox range (newest releases).

There is also Chunklocked, a Fabric mod remake of the datapack. Every player must install it in their own client too, so it suits a private modded group rather than a public server.

The rest of this guide covers the plugin in depth (steps 2–8), then the datapack and ChunkBlock.

2

Install the Chunklock plugin

  1. Make a backup: Backups → Create Backup.
  2. On Startup, set the Minecraft version and Java the plugin supports (see the table), then start and stop once.
  3. Download the plugin jar. The newest release is on the project's GitHub releases page (Lunary1/chunklock); Hangar may lag a release behind. Check that the version you download lists your Minecraft version.
  4. In Files → plugins, Upload the jar (or Pull from URL with the release link). Install plugins
  5. Optional plugins it uses if present: Vault (money costs and paid re-rolls), FancyHolograms (cost holograms on chunk borders), Oraxen or MMOItems (custom items as costs).
  6. Install LuckPerms, Chunky, spark and CoreProtect at the same time.
  7. Restart. Run plugins in the console: Chunklock should be green.

The plugin creates plugins/Chunklock/ with these files:

File Controls
config.yml Core settings and language.
worlds.yml The Chunklock world name, its diameter, spacing between players' start areas.
economy.yml Items or money, cost formulas, re-rolls.
biome-unlocks.yml Fixed per-biome item costs (when using biome cost mode).
block-values.yml How valuable each block is when scanning a chunk.
team-settings.yml Team size and team cost scaling.
borders.yml, holograms.yml The glass borders and cost holograms.
performance.yml Border update rates.
database.yml Storage: mapdb (local files, default) or mysql.
lang/en.yml Every message players see.
3

Size and create the Chunklock world

The plugin uses one dedicated world (chunklock_world by default). Every player gets their own starting chunk inside it, spaced apart from everyone else's.

Pick a size

/chunklock setup <diameter> creates the world, sets a world border of that diameter, and pre-generates everything inside it. Big diameters take a very long time and a lot of disk:

Players over the season Diameter Chunks to generate (about) Disk, roughly
Up to 15 4000 63,000 1–2 GB
15–40 6000 141,000 3–4 GB
40+ 8000–10000 250,000–390,000 6–10 GB

Chunklock players spread slowly: a dedicated player unlocks perhaps a few hundred chunks in a season. You need room for everyone's start areas plus their growth, not a 30,000-block world. The minimum is 1000 and the maximum 100,000.

These are estimates. Generate the world, check its size on Files, and remember backups need space too.

Run setup

  1. Join the server as an operator (the command has to be run in game, not in the console).
  2. Run /chunklock setup 6000.
  3. Leave it running. It reports progress in chat. Stay online, keep other players off, and don't restart until it finishes.
  4. When it says setup is complete, players can start.

Fill in the Nether and End

Setup only pre-generates the Chunklock Overworld. If players will build portals, pre-generate the Nether too with Chunky, inside a border one-eighth the size. In the console:

chunky world chunklock_world_nether
chunky center 0 0
chunky radius 500
chunky start

Check the Nether world's actual folder name in Files first.

Check it worked

Run /chunklock start from a normal player account. You should be teleported into a single unlocked chunk with glass walls on its edges. /chunklock status shows one chunk unlocked.

4

Tune unlock costs

Items or money

In economy.yml:

type: "materials"
materials:
  enabled: true
  cost-mode: "resource-scan"
  resource-scan:
    base-cost: 16
    min-cost: 1
    max-cost: 128
  price-commitment:
    reroll-cooldown-minutes: 60
  vault-fallback: false
Setting Options Effect
type materials or vault Pay with items, or with money (needs Vault and an economy).
cost-mode resource-scan or biome resource-scan: the chunk you're buying decides its price (a forest asks for wood, a desert for sand), and never asks for something you can't reach yet. biome: fixed costs per biome from biome-unlocks.yml; predictable, but players can get stuck if their area lacks an item.
base-cost number Starting item amount, adjusted for rarity and progress.
min-cost, max-cost number Floor and cap on any single price.
reroll-cooldown-minutes minutes Once a player has seen a price, it's held until they pay or re-roll. Without Vault a re-roll has this cooldown per chunk; with Vault it costs money that doubles each time.
vault-fallback true/false Let players pay money when they lack the items.

For a money economy, the vault: section sets base-cost (e.g. 100), cost-per-unlocked (added per chunk already owned) and multipliers per difficulty and biome.

Fixed biome costs

If you use cost-mode: "biome", set what each biome costs in biome-unlocks.yml. Every item listed is required:

PLAINS:
  WHEAT: 8
  HAY_BLOCK: 2
FOREST:
  OAK_LOG: 32
DESERT:
  SAND: 64
  CACTUS: 8

Apply and test

  1. Run /chunklock reload after any edit.
  2. Walk to a locked chunk's border and right-click a block (or run /chunklock gui) to see its price.
  3. Unlock it with the GUI or /chunklock unlock while standing in it.

Balancing tips

  • The first ten unlocks should take minutes, not hours; players quit if their first chunk is a dead end.
  • Pricing by distance and progress means late chunks get expensive. Test with a fresh account: unlock 20 chunks and see whether it still feels fair.
  • Tell players before you change prices on a live server. Plugin updates can change prices too: read the release notes.
5

Teams and multiplayer

Solo, co-op or competitive

  • Solo: everyone plays alone. Starting areas are at least claims.min-distance-between-claims chunks apart (in worlds.yml, default 2). Raise it to 6–10 so neighbours don't collide straight away.
  • Teams (co-op): a team shares its unlocked chunks. Costs rise with team size so a big team isn't simply faster.
  • Competitive: team-settings.yml has options for claiming chunks another team owns, at a higher price and a daily limit. Turn this down or off if you want a peaceful server.
max-team-size: 6
team-cost-multiplier: 0.15
max-cost-multiplier: 3.0
contested-cost-multiplier: 3.0
max-contested-claims-per-day: 5
Setting Effect
max-team-size Members per team.
team-cost-multiplier Extra cost per member beyond the first (0.15 = +15% each).
max-cost-multiplier Cap on the team multiplier.
contested-cost-multiplier Price multiplier for claiming another team's chunk.
max-contested-claims-per-day How many contested claims a team may make per day.

Player commands

Command Does
/chunklock start Begin: get a starting chunk and teleport to it. Once per player.
/chunklock status Chunks unlocked, team, next cost.
/chunklock unlock Unlock the chunk you're standing in.
/chunklock gui (or right-click a block) Unlock menu with prices and a map.
/chunklock spawn Back to your starting chunk.
/chunklock team create <name>, invite <player>, accept, leave, kick <player>, info Team management.
/chunklock help Everything you can use.

/cl works in place of /chunklock.

Admin commands

Command Does
/chunklock setup <diameter> Create and pre-generate the world (once).
/chunklock reload Reload all config files.
/chunklock status <player> A player's progress.
/chunklock unlock <player> Unlock the chunk that player is in, free; fixes stuck players.
/chunklock bypass [player] Toggle ignoring locks (for building spawn or helping players).
/chunklock reset <player> Wipe one player's progress.
/chunklock resetall Wipe everyone. Asks for confirmation. Back up first.
/chunklock debug, /chunklock database Health and storage status.

Run /chunklock help on your version for the exact list; commands change between releases.

6

Permissions with LuckPerms

Player commands are allowed by default through chunklock.use. Admin commands need chunklock.admin (operators have it). Set up groups in the console:

lp group default permission set chunklock.use true

lp creategroup helper
lp group helper parent add default
lp group helper permission set chunklock.bypass true

lp creategroup mod
lp group mod parent add helper
lp group mod permission set chunklock.unlock true
lp group mod permission set chunklock.reset true

lp creategroup admin
lp group admin parent add mod
lp group admin permission set chunklock.admin true
Node Allows
chunklock.use Player commands (status, start, unlock, spawn, team).
chunklock.bypass Ignore locks (/chunklock bypass).
chunklock.unlock Force-unlock chunks for players.
chunklock.reset Reset a player.
chunklock.reload Reload configs.
chunklock.admin Everything, including setup and resetall.

chunklock.bypass makes unlocks free and lets the holder enter any chunk. Give it to staff only, and remind them to turn it off.

Beyond Chunklock, give normal players the usual survival basics (EssentialsX /home, /tpa, /msg). Think carefully about teleport commands: /tpa to a friend in another area skips the whole point of the game. Many Chunklock servers allow /tpa only between team members, or not at all.

7

Performance

Chunklock is mostly ordinary survival, plus border and hologram updates for every player.

Where Setting Value Why
/chunklock setup diameter As small as fits your community Everything inside is generated up front.
server.properties view-distance 8 Players see locked chunks but only a small area matters.
server.properties simulation-distance 6 Standard survival saving.
paper-world-defaults.yml misc.redstone-implementation ALTERNATE_CURRENT Faster redstone.
paper-world-defaults.yml hopper.cooldown-when-full true Fewer hopper checks.
performance.yml border-update-delay, max-border-updates-per-tick Defaults; raise the delay if borders show in spark Fewer border updates per tick.
holograms.yml Holograms Off if you don't use FancyHolograms Skips the work entirely.
  • Check with spark tps and spark profiler start --timeout 300 at your busiest time. Fix lag
  • On long-running servers, /chunklock debug memory shows whether the plugin's hologram cache is growing. Schedule a daily restart either way. Schedules
8

Backups, storage and resets

What to back up

Chunklock keeps progress in its own storage (database.yml → type: "mapdb", local files in plugins/Chunklock/) and the blocks in chunklock_world. With MapDB, a panel backup captures both at the same moment, which is what you want.

Switch to mysql only if several servers must share Chunklock data. Then create the database on Databases (Databases), fill in database.yml's mysql: section, and remember that panel backups don't include databases: you need a separate database backup taken at the same time.

Schedule

  1. Schedules → Backup every 6 hours: Minute 0, Hour */6. Tasks: Send Command save-all, then Create Backup after 10 seconds. Backup schedules
  2. Lock a backup on launch day, and before every plugin update or cost change.

Seasons

  1. Announce it. Lock and download a backup.
  2. Run /chunklock resetall (type the confirmation) to clear progress, teams and stats.
  3. For a new map as well: stop the server, delete chunklock_world (and its Nether and End) in Files, start, and run /chunklock setup again.

Anti-grief

Locked chunks keep strangers out of each other's territory, but team members and anyone in shared chunks can still grief. Install CoreProtect (/co inspect, /co rollback u:<player> t:1d) and, if you allow building in the spawn area, protect it with WorldGuard or by keeping it locked to players.

The datapack instead

The datapack is the simplest option for a private group playing one shared territory.

  1. Stop the server. On Startup, choose a Minecraft version the datapack lists.
  2. Upload the datapack zip to world/datapacks/ (your level-name folder) before the world is first created, or on a world nobody has unlocked anything in yet.
  3. Start, and check it's active with /datapack list.
  4. As an operator, run /trigger ChunkDifficulty to choose the difficulty. This only works before any chunk is unlocked.
  5. Optional: put players into vanilla teams (/team add red, /team join red <player>) and run /trigger ChunkSpreadPlayers to spread them around a 1000 × 1000 area, which also sets their spawn points.
  6. To remove it cleanly later, use /trigger ChunkUninstall and follow the pack's uninstall instructions.

The authors recommend at most about 6 players and 8 GB of memory. Pre-generate with Chunky as usual (Pre-generate). The datapack is reported not to work with ViaBackwards, and its borders may not render for players using OptiFine or Lunar Client.

ChunkBlock instead

ChunkBlock is an official BentoBox game mode: OneBlock with chunk unlocking. Each player starts on a magic block confined to a single chunk. Island levels are the currency: walk up to the border and hit it to claim the next chunk, at levels-per-chunk levels each (default 1), up to the island's protection range and max-chunks. If the level drops, the most recently claimed chunks lock again, unless relock-on-level-loss: false.

  1. Install BentoBox, the Level addon (required) and ChunkBlock into plugins/BentoBox/addons/, as in the OneBlock guide.
  2. Players use /ch (alias /chunkblock): /ch chunks shows a map of their territory and credit.
  3. Admins use /chadmin: /chadmin chunks <player> inspects or resets a player's chunks, /chadmin bypass ignores the lock (needs chunkblock.mod.bypasschunks, not given to operators by default).

Phases, Limits, Challenges, backups and seasons work exactly as in the OneBlock guide, with chunkblock as the permission prefix. ChunkBlock can run on the same BentoBox server as AOneBlock and BSkyBlock.

Running it in a network

Chunklock works well as one back-end behind Velocity, next to a lobby, Skyblock and OneBlock. Run several game modes as one network

Which Chunklock fits a network

  • The plugin on its own server: the usual choice. Players pick Chunklock in the lobby and land in chunklock_world. Make that the server's main world, or send players there on join, so nobody lands in the normal world.
  • ChunkBlock on your existing BentoBox server: no extra server needed, but it's island-style, not natural terrain.
  • The datapack is a poor fit for a public network: one shared progression for everyone.

Back-end settings

Setting Value
server.properties → online-mode false (Velocity checks accounts).
config/paper-global.yml → proxies.velocity enabled: true, online-mode: true, the forwarding secret.
Minecraft version Whatever the Chunklock plugin supports. Players on newer clients can still join if ViaVersion is installed on Velocity or on this back-end. Test it.
Pre-generation Done before the server is added to Velocity's try list.

Shared LuckPerms

Use the same LuckPerms MariaDB database on every server and set server: chunklock in plugins/LuckPerms/config.yml. Ranks stay global; add Chunklock-only nodes with a context:

lp group mod permission set chunklock.unlock true server=chunklock
lp group mod permission set chunklock.reset true server=chunklock

Economy

If unlocks cost items (the default), the economy barely matters here. If you use type: "vault", keep the economy separate from other game modes: Skyblock and OneBlock players can earn money far faster than Chunklock players, and a shared balance would let them buy whole regions.

One server or several?

Chunklock should get its own server. It uses natural terrain and a big pre-generated world, it may need an older Minecraft version than your other servers, and its seasons rarely line up with Skyblock's. The only Chunklock-style mode that shares a server sensibly is ChunkBlock, on BentoBox.

Common problems

Problem Cause Fix
Strange double locks or costs Two Chunklock projects installed (plugin and datapack). Remove one.
Plugin errors on start Your Minecraft or Java version isn't one the plugin supports. Use a version the release lists, or wait for an update.
/chunklock start says the world isn't set up Setup hasn't been run. Run /chunklock setup <diameter> in game as an operator.
Setup takes hours The diameter is large; everything inside is generated. Expected. Use a smaller diameter next time.
Players spawn in the void Bug in older plugin versions. Update to the latest release.
A player can't afford anything nearby Biome cost mode with items their area lacks. Use resource-scan, enable re-rolls or vault-fallback, or /chunklock unlock <player> once.
Price changed after an update New releases can change pricing. Read release notes; announce before updating.
Staff unlocked chunks for free by accident Bypass mode left on. /chunklock bypass again to turn it off.
No holograms FancyHolograms missing or failed to load. Install it, or turn holograms off in holograms.yml.
Datapack not active Not in the world's datapacks/ folder, or not restarted. Check /datapack list.
Lag when exploring the Nether Nether not pre-generated. Pre-generate it with Chunky.

Launch checklist

  • [ ] One Chunklock project chosen; Minecraft version and Java match what it supports.
  • [ ] Seed and terrain datapacks decided before setup.
  • [ ] /chunklock setup finished; world size checked on Files.
  • [ ] Nether pre-generated if portals are allowed.
  • [ ] Costs tested with a fresh account for the first 20 chunks.
  • [ ] Start-area spacing and team settings decided.
  • [ ] LuckPerms groups set; staff know how to turn bypass off.
  • [ ] Teleport commands reviewed so they don't skip progression.
  • [ ] CoreProtect installed; spawn protected.
  • [ ] Backups every 6 hours, a locked launch backup, a daily restart.
  • [ ] In a network: Velocity forwarding set, online-mode=false, joined through the proxy to test.

Going further