OneBlock Servers: Setup and Best Practices

Build a complete OneBlock server with BentoBox AOneBlock: install, phases and weights, custom phases and chests, requirements, commands, ranks, generators, limits, performance, backups and seasons

Minecraft Game Modes

21 min readIntermediateLast updated Oct 31, 2026

In OneBlock, every player starts standing on a single magic block floating in the void. Break it and it turns into another block, sometimes a chest, sometimes a mob. As the count goes up, players move through phases (Plains, Underground, Winter, Ocean, Jungle, the Nether, the End and more), each with its own blocks, mobs and loot. Everything they build comes out of that one block.

This guide takes you from an empty server to a launched OneBlock server you can run for months: installed correctly, phases tuned (and your own phases added), progression gated with requirements, ranks set up in LuckPerms, lag kept under control, and backups that restore.

We use AOneBlock, a free game mode for BentoBox. BentoBox handles the islands, teams, protection and addons; AOneBlock adds the magic block and its phases. If you have read the Skyblock guide, much of this will be familiar: the island grid, addons, permissions and backups work the same way.

Time needed: about 1 to 2 hours for a working server, plus an evening if you want custom phases.

Before you start you need:

  • A Minecraft server on Paper, with the version pinned on Startup. Paper setup
  • The Java version current BentoBox releases need (Java 25 at the time of writing; the BentoBox release notes list the supported Paper range).
  • At least 4 GB of memory; 6 GB or more past about 30 players online. Mob-heavy phases cost more than Skyblock.
1

Install BentoBox and AOneBlock

  1. Make a backup: Backups → Create Backup.
  2. Open Minecraft Plugins, search BentoBox and install it. Install plugins
  3. Start the server, wait for Done, then Stop. BentoBox creates plugins/BentoBox/addons/.
  4. On your computer, download AOneBlock from download.bentobox.world (also published on Modrinth by the BentoBox team), plus the addons you choose below.
  5. Files → plugins/BentoBox/addons/ → Upload the jars (or Pull from URL with a download link).
  6. Start once more, wait for Done, and Stop. AOneBlock creates plugins/BentoBox/addons/AOneBlock/ with config.yml, phases_index.yml and a phases/ folder, and the worlds oneblock_world, oneblock_world_nether and oneblock_world_the_end.

Choose your addons

Addon Why on OneBlock Recommendation
Level Island level and /ob top. Also used for phase requirements. Essential.
Challenges Goals alongside the phases, so players have something to aim for besides breaking blocks. Strongly recommended.
Limits Caps mobs, hoppers and farms per island. Essential: OneBlock spawns lots of mobs.
Warps or Visit Players show off their islands and shops. Recommended.
Border Shows the island's buildable edge. Recommended.
MagicCobblestoneGenerator Ore generators; tiers can be gated by OneBlock phase or block count. Optional: some servers want everything to come from the block.
Upgrades Buy a bigger island, higher limits, faster crops. Optional, needs an economy.
Bank Shared island money; a possible phase requirement. Optional; check it supports your version.
InvSwitcher Separate inventories per game mode. Required only if this server also runs Skyblock or another game mode.

Keep BentoBox and every addon on matching versions, and update them together.

2

Configure AOneBlock before players join

Open plugins/BentoBox/addons/AOneBlock/config.yml. The settings that matter:

aoneblock:
  command:
    island: ob oneblock
    admin: obadmin oneblockadmin oba
    new-player-action: create
    default-action: go
    bossbar: true
    actionbar: true
world:
  friendly-name: OneBlock
  world-name: oneblock_world
  difficulty: NORMAL
  holograms: true
  starting-safety-duration: 10
  mobs-clear-blocks: true
  distance-between-islands: 400
  protection-range: 50
  island-height: 80
  nether:
    generate: true
    islands: false
  end:
    generate: true
    islands: false
island:
  drop-on-top: true
  mob-warning: 5
  water-mob-protection: true
  save-every: 10
  max-team-size: 4
  max-coop-size: 4
  max-trusted-size: 4
  max-homes: 1
  reset:
    reset-limit: 3
    leavers-lose-reset: true
Setting Value Why
distance-between-islands 400 A radius: island centres are 800 blocks apart. Can never change once islands exist.
protection-range 50 Starting buildable radius (100 × 100). Raise it per rank or with Upgrades.
island-height 80 Y level of the magic block.
nether.islands, end.islands false OneBlock's default: the magic block exists only in the Overworld. Players reach a normal Nether and End through portals they earn.
holograms true Shows the text set in phase files above the magic block.
starting-safety-duration 10 Seconds a new player is held still, used with the START_SAFETY flag, so nobody walks off the block before the world loads.
mobs-clear-blocks true Clears blocks in the way when a mob spawns from the block, so it doesn't suffocate.
drop-on-top true Broken blocks drop on top of the magic block instead of falling into the void. Set false only if a jobs plugin must see the block breaks.
mob-warning 5 Players hear a hostile mob coming a few blocks before it spawns. 0 turns the warning off.
water-mob-protection true Fish and squid spawn in a water block instead of dying on stone.
save-every 10 Progress is written to the database every 10 blocks. It is also saved on phase change, logout and a clean shutdown, so this only matters for crashes.
reset-limit 3 Lifetime island resets. -1 unlimited, 0 none.
leavers-lose-reset true Stops players leaving teams to farm fresh islands.

Further down, create-island-on-first-login makes an island the moment a player joins. Turn it on for a dedicated OneBlock server; leave it off if a spawn or lobby explains things first.

If you changed anything in world:, delete the three oneblock_world folders in Files while the server is stopped, so they regenerate with your settings. Then Start.

Check it worked

  1. Join and run /ob. You should land on a grass block with a hologram above it.
  2. Break a few blocks and run /ob count: it shows your block count and phase.
  3. Run /bentobox version in the console to see every addon loaded.
3

Understand how phases work

The phase index

phases_index.yml is the source of truth for which phases run, in what order and for how long. Each entry points at a phase file:

phases:
  - file: 0_plains
    section: '0'
    name: Plains
    length: 700
  - file: 700_underground
    section: '700'
    name: Underground
    length: 1300
  - file: 2000_winter
    section: '2000'
    name: Winter
    length: 1000
gotoAtEnd: 0
Key Meaning
file Phase file name in phases/, without .yml. Its chests are in <file>_chests.yml.
section The top-level key inside that phase file.
name Name shown in logs and admin tools.
length Blocks in the phase. Each phase starts where the enabled phases above it end.
enabled Optional; false leaves a phase out without deleting it.
requiredMinecraftVersion Optional; the phase is skipped on older servers.
gotoAtEnd Where the count jumps after the last phase. 0 loops back to Plains.

The shipped index has about 20 phases (Plains through Cherry Grove, Jagged Peaks and newer biomes), a little over 15,000 blocks in total. Phases that need a newer Minecraft version than yours are skipped automatically.

You can also reorder phases and change lengths in game with /oba phases. Once you do, adminLengths: true is written to the index.

A phase file

Each phase file in phases/ (for example 0_plains.yml) holds:

Key What it does
name Display name: boss bar, phases menu.
icon Item shown in /ob phases.
fixedBlocks Guaranteed blocks at exact positions within the phase, counting from 0. CHEST_WITH_<ITEM> places a chest containing that item.
holograms Text above the magic block at given positions. Colour codes &a, hex &#55FF55 and MiniMessage tags all work.
biome Biome of the magic block's location only.
start-commands, end-commands, end-commands-first-time Console commands at phase start and end.
requirements Conditions to enter the phase (step 5).
blocks Weighted pool of blocks.
mobs Weighted pool of mobs, in the same pool as blocks.
custom-blocks Optional: blocks with full block data, mobs with NBT, MythicMobs, ItemsAdder, Nexo or CraftEngine blocks.

Weights, not percentages

The numbers in blocks: and mobs: are weights: tickets in a raffle. Each break, AOneBlock adds up every weight in the phase (blocks and mobs together) and picks one entry:

chance = entry's weight ÷ total of all weights in the phase

The shipped Plains phase totals 12,115, so GRASS_BLOCK: 2000 is 16.5% of breaks, CHEST: 200 is 1.7%, DIAMOND_ORE: 30 is 0.25% and COW: 150 is 1.2%. To make something twice as common, double its weight. To add a rare block without disturbing everything else, give it a small weight. Weights must be whole numbers of 1 or more.

Chests are a second roll. When CHEST comes up, AOneBlock picks a rarity (Common 62%, Uncommon 25%, Rare 9%, Epic 4%; fixed in the code), then a random chest of that rarity from the phase's _chests.yml.

4

Tune and customise phases

Change an existing phase

Example: Plains gives too few iron ores and you want a guaranteed water bucket earlier.

  1. Stop the server (or edit live and reload; stopping is safer for big changes). Lock a backup.
  2. Open plugins/BentoBox/addons/AOneBlock/phases/0_plains.yml.
  3. Change weights under blocks:, e.g. IRON_ORE: 300 → IRON_ORE: 500.
  4. Under fixedBlocks:, move CHEST_WITH_WATER_BUCKET to an earlier position, e.g. 150: CHEST_WITH_WATER_BUCKET.
  5. Save, Start (or run /bbox reload), then run /oba sanity in the console (add a phase name to check just one). It prints the phase's probabilities and flags mistakes such as misspelt block names.

Add your own phase

  1. In phases/, create my_mushroom.yml:
'my_mushroom':
  name: Mushroom Island
  icon: RED_MUSHROOM_BLOCK
  biome: MUSHROOM_FIELDS
  fixedBlocks:
    0: MYCELIUM
    1: CHEST_WITH_BOWL
  holograms:
    0: "<light_purple><bold>Mushroom Island!"
  start-commands:
    - 'broadcast [player] reached the Mushroom Island phase!'
  end-commands-first-time:
    - 'eco give [player] 500'
  requirements:
    level: 40
  blocks:
    MYCELIUM: 1500
    RED_MUSHROOM_BLOCK: 600
    BROWN_MUSHROOM_BLOCK: 600
    MUSHROOM_STEM: 400
    STONE: 800
    IRON_ORE: 200
    GOLD_ORE: 80
    CHEST: 150
  mobs:
    MOOSHROOM: 120
  1. Make its chest file: copy 0_plains_chests.yml, rename the copy my_mushroom_chests.yml, and change its top line from '0': to 'my_mushroom':. The phase now has working chests from day one. Add your own with /oba setchest (step 4 below), then delete the copied Plains chests from the file once you have enough.

  2. Start the server. New files in phases/ are added to the end of phases_index.yml automatically. Open /oba phases to move the phase where you want it and set its length (for example 500).

  3. Add chests: place a chest in the world, fill it, look at it and run /oba setchest my_mushroom RARE (or COMMON, UNCOMMON, EPIC). Repeat for a few chests of each rarity. This is far easier than writing item data by hand.

  4. Run /oba sanity and fix anything it reports for the new phase.

  5. Test: /oba setcount <yourname> <block count just before the phase> and break blocks.

Commands in phases run as the console; prefix one with [SUDO] to run it as the player. Placeholders: [player], [owner], [island], [phase], [blocks], [level] (Level addon), [bank-balance] (Bank addon), [eco-balance] (Vault).

Custom blocks and mobs

custom-blocks: entries join the same weighted pool with a probability: value (also a weight). Types include block (full block data and NBT, e.g. a working spawner), mob-data (a mob with NBT such as a custom name or size), mythic-mob (needs MythicMobs), and itemsadder, nexo or craftengine blocks. The shipped 0_plains.yml has commented examples of each; copy from there. If a custom-block plugin isn't installed, its blocks fall back to stone.

5

Balance progression

The default phases go from Plains to the End in roughly 15,000 blocks. An active player breaks several hundred blocks an hour, so a dedicated player sees every phase in a few days. That's too fast for a server meant to last a season.

Phase requirements

Requirements hold a player at the end of the previous phase until they're met:

requirements:
  level: 50
  economy-balance: 10000
  bank-balance: 5000
  permission: oneblock.phase.nether
  cooldown: 3600
Requirement Needs Use it for
level Level addon "Build up your island before the Nether." The most common gate.
economy-balance Vault + economy Money gate. The money is checked, not taken.
bank-balance Bank addon Team money gate.
permission Any permission Gate by rank, or by a permission a Challenges reward grants.
cooldown Seconds Slows the fastest players, e.g. one hour between phases.

A good pattern: Challenges reward a permission (lp user [player] permission set oneblock.phase.nether true), and the Nether phase requires it. Players must complete a challenge level to progress.

Other levers

  • Longer phases: raise length in phases_index.yml or in /oba phases.
  • Rarer ores and chests: lower their weights. Epic chests are the main source of high-value items; check what's in them.
  • What happens at the end: gotoAtEnd: 0 loops back to Plains. Set it to the start of a late phase if you'd rather players loop through end-game content.
  • Island level values: Level's blockconfig.yml decides what blocks are worth. See Skyblock: island levels.
6

Commands and flags

Player commands (/ob, also /oneblock)

Command Does Permission (default)
/ob Creates your island, or takes you home. aoneblock.island (on)
/ob count Block count and phase. aoneblock.count (on)
/ob phases Menu of all phases. aoneblock.phases (off)
/ob respawnBlock or /ob check Shows, or respawns, a missing magic block. aoneblock.respawn-block (on)
/ob bossbar, /ob actionbar Toggle progress displays. on
/ob setCount <number> Go back to a block count you already reached. aoneblock.island.setcount (op)
/ob team …, /ob settings, /ob sethome, /ob level, /ob top, /ob challenges, /ob warps Standard BentoBox island, team and addon commands, as on Skyblock.

Admin commands (/oba, also /obadmin)

Command Does
/oba setcount <player> <number> Move an island to a block count (and phase).
/oba setchest <phase> <rarity> Save the chest you're looking at into a phase.
/oba sanity [phase] Check phase files and print probabilities to the console.
/oba phases Edit phase order and lengths.
/oba setspawn, /oba tp <player>, /oba info, /oba delete <player>, /oba range set <player> <n>, /oba purge <days> Standard BentoBox admin commands.

Flags

Flag Where Default Does
MAGIC_BLOCK /ob settings Coop Lowest rank allowed to break the magic block.
START_SAFETY /oba settings Off Holds new players still for starting-safety-duration seconds. Turn on.
ONEBLOCK_BOSSBAR, ONEBLOCK_ACTIONBAR /ob settings On Progress display, if enabled in config.yml.
OBSIDIAN_SCOOPING world settings Off Right-clicking obsidian with a bucket gives lava back.

Other protection flags (who may open chests, hurt animals, use doors) work exactly as on Skyblock; set defaults under default-island-flags in config.yml. Rank numbers: 0 visitor, 200 coop, 400 trusted, 500 member, 900 sub-owner, 1000 owner.

Placeholders

With PlaceholderAPI: %aoneblock_my_island_phase%, %aoneblock_my_island_count%, %aoneblock_my_island_next_phase%, %aoneblock_my_island_blocks_to_next_phase% and %aoneblock_my_island_percent_done%. Use them in a scoreboard or tab list.

7

Ranks and permissions with LuckPerms

Install LuckPerms and run these in the console. Number permissions use the highest number the island owner has, and are read while they're online.

lp group default permission set aoneblock.phases true
lp group default permission set aoneblock.island.warp true
lp group default permission set aoneblock.island.addwarp true

lp creategroup vip
lp group vip parent add default
lp group vip permission set aoneblock.team.maxsize.6 true
lp group vip permission set aoneblock.coop.maxsize.6 true
lp group vip permission set aoneblock.island.maxhomes.3 true
lp group vip permission set aoneblock.island.range.75 true
lp group vip permission set aoneblock.island.limit.hopper.48 true
lp group vip permission set aoneblock.island.setcount true

lp creategroup mod
lp group mod permission set aoneblock.mod.info true
lp group mod permission set aoneblock.mod.tp true
lp group mod permission set aoneblock.mod.bypassprotect true
lp group mod permission set aoneblock.mod.bypasslock true

lp creategroup admin
lp group admin parent add mod
lp group admin permission set aoneblock.admin.* true
lp group admin permission set bentobox.admin.* true

Give a rank with lp user <name> parent add vip. /bentobox perms lists every permission your addons register.

8

Economy, generators, limits and shops

Economy and shop

Install VaultUnlocked (or Vault) and EssentialsX, then a shop GUI such as EconomyShopGUI (free; Premium is paid). On OneBlock, items arrive fast and in bulk early on, so keep sell prices for common blocks (dirt, logs, cobblestone, sand) very low or zero, and let money come from ores, mob drops and challenges.

Generators

OneBlock players build cobblestone generators too, once they have lava and water. MagicCobblestoneGenerator tiers can be gated by AOneBlock phase or block count as well as island level, so generator ores unlock in step with the phases. Configure it as in the Skyblock guide, with aoneblock. in place of bskyblock. in the permissions.

Limits

The Limits addon covers AOneBlock out of the box (AOneBlock is in its gamemodes: list), and ignore-center-block: true keeps the magic block itself out of the counts. Mob phases make entity limits more important than on Skyblock:

gamemodes:
- AOneBlock
ignore-center-block: true
blocklimits:
  HOPPER: 32
  OBSERVER: 32
  PISTON: 32
  SPAWNER: 10
entitylimits:
  VILLAGER: 20
  ARMOR_STAND: 20
  CHICKEN: 30
  COW: 30
entitygrouplimits:
  Monsters:
    icon: ROTTEN_FLESH
    limit: 120
    entities:
    - ZOMBIE
    - SKELETON
    - CREEPER
    - SPIDER
    - ENDERMAN
    - WITCH
    - BLAZE
9

Performance

OneBlock is heavier than Skyblock: every block break is a database update, every so often a mob spawns, and players build mob farms from spawners and phases.

Where Setting Value Why
server.properties simulation-distance 5 Farms far from players stop ticking.
server.properties view-distance 8 Plenty in a void world.
AOneBlock config.yml save-every 10–25 Fewer database writes on busy servers. Progress is still saved on logout and phase change.
paper-world-defaults.yml entities.spawning.per-player-mob-spawns true Fair mob caps.
paper-world-defaults.yml tick-rates.mob-spawner 2 Spawners from phases tick half as often.
paper-world-defaults.yml hopper.cooldown-when-full true Full hoppers stop checking every tick.
paper-world-defaults.yml entities.spawning.alt-item-despawn-rate enabled, cobblestone: 300 Junk from generators despawns faster.
paper-world-defaults.yml misc.redstone-implementation ALTERNATE_CURRENT Faster redstone.
Limits addon Entity group limits as above Stops mob farms growing without end.

The full Paper block is in the Skyblock performance step. Check with spark tps and spark profiler start --timeout 300 during your busiest hour. Fix lag

10

Backups, resets and seasons

Backups

BentoBox stores islands in its database (owners, teams, levels and AOneBlock's block counts in the OneBlockIslands data) and in the world files. Restore them together, from the same moment, or players end up with the wrong count or island.

  • Keep BentoBox's default JSON database on a single server: it lives in plugins/BentoBox/database/, so panel backups capture it at the same moment as the worlds. If you use MariaDB, remember panel backups don't include databases. Databases
  • Schedule a backup every 6 hours: Send Command save-all, then Create Backup 10 seconds later. Backup schedules
  • Lock a backup on launch day and before every phase edit or addon update.

Resets

  • A player resets their own island with /ob reset, within reset-limit.
  • /oba delete <player> removes an island; /oba resets add <player> 1 gives an extra reset.
  • /oba purge <days> deletes the region files of islands nobody has touched in that many days.

A season wipe

  1. Announce it two weeks ahead. Lock and download a backup.
  2. Stop the server.
  3. Delete oneblock_world, oneblock_world_nether and oneblock_world_the_end in Files.
  4. In plugins/BentoBox/database/, delete Islands, Players, OneBlockIslands, IslandLevels and ChallengesPlayerData. Keep Challenge and ChallengeLevel (your challenge definitions). Your phase files and configs are untouched.
  5. Reset the economy if you want a fresh start, then Start.

Updates

AOneBlock regularly adds phases for new Minecraft biomes. After an update, new shipped phases are added to your index once (listed under shippedPhases); delete a phase's entry and files if you don't want it. Update BentoBox and all addons together, after a locked backup.

Anti-grief

Install CoreProtect to log and roll back block changes, and teach players that the MAGIC_BLOCK flag decides who can break their block: coop and above by default, which means a coop helper can mine through your progress.

Running it in a network

OneBlock fits as one back-end behind Velocity, alongside a lobby, Skyblock and Chunklock. Run several game modes as one network

  • Back-end settings: online-mode=false in server.properties, and Velocity forwarding enabled with the shared secret in config/paper-global.yml. Turn on create-island-on-first-login so players who pick OneBlock in the lobby start straight away.
  • Shared LuckPerms: use the same MariaDB database on every server, set server: oneblock in LuckPerms' config.yml, and add OneBlock perks with a context so they apply only here: lp group vip permission set aoneblock.team.maxsize.6 true server=oneblock.
  • Economy: keep it separate per game mode. OneBlock income comes very fast early on; sharing it with Skyblock or Chunklock floods their economies.

Same BentoBox server as Skyblock, or its own?

BentoBox runs several game modes in one install. Put AOneBlock and BSkyBlock in the same addons folder and each gets its own worlds and commands (/ob and /island).

Choose one shared server when Choose separate servers when
Your community is small (under about 30 online). You expect more players, or OneBlock mob farms.
You want one bill and one set of addons. You want separate season dates (they share the database).
You install InvSwitcher, so inventories, XP and health stay separate per game mode. You want each mode's lag isolated from the others.

On a shared server, watch for create-island-on-first-login: if both game modes have it on, a new player gets islands in both, and you can't predict which one they're teleported to. Turn it on in only one.

Common problems

Problem Cause Fix
AOneBlock doesn't load Java too old, or BentoBox too old for this AOneBlock. Startup → newer Java; update BentoBox. Check the console for the exact message.
Addon jar is ignored It's in plugins/, not plugins/BentoBox/addons/. Move it and restart.
Phase edits don't apply Edited without reloading, or a YAML error. /bbox reload or restart; run /oba sanity <phase>.
New phase file appears at the end New files are appended to the index. Reorder in /oba phases.
Phase skipped entirely requiredMinecraftVersion is newer than your server, or enabled: false. Expected; check phases_index.yml.
Players stuck at the end of a phase They don't meet its requirements. Tell them what's needed (show it in the phase hologram or a challenge), or lower it.
Stone appears instead of custom blocks ItemsAdder, Nexo or CraftEngine isn't installed or loaded. Install it, or remove the custom block.
Magic block missing Broken by an explosion or a plugin. /ob check (or /ob respawnBlock).
Mobs spawn and die instantly Not enough space or water. Keep mobs-clear-blocks and water-mob-protection on.
Players can't open /ob phases aoneblock.phases is off by default. lp group default permission set aoneblock.phases true.
Block count went backwards after a crash Progress since the last save was lost. Lower save-every, and find the crash cause.
Server lags at peak hours Mob farms and item piles. Entity group limits, spark profiler, Paper settings above.
New player has islands in Skyblock and OneBlock Both game modes create islands on first login. Turn create-island-on-first-login off in one.

Launch checklist

  • [ ] Paper, pinned version, correct Java; /bentobox version lists AOneBlock and every addon.
  • [ ] Island distance, height and world names final; worlds regenerated after changes.
  • [ ] Spawn island set with /oba setspawn.
  • [ ] Phase lengths and requirements reviewed for the season length you want; /oba sanity clean.
  • [ ] Custom phases and chests added and tested with /oba setcount.
  • [ ] START_SAFETY on; aoneblock.phases given to default.
  • [ ] Level, Challenges, Limits installed and configured; entity group limits set.
  • [ ] Economy and shop prices checked against early-game item floods.
  • [ ] LuckPerms groups for players, ranks and staff; no staff on op.
  • [ ] Paper performance settings applied; spark tps healthy with test players.
  • [ ] CoreProtect installed.
  • [ ] Backup every 6 hours, a locked launch backup, a daily restart after a backup.

Going further

  • Skyblock servers: blueprints, challenges, generators and Upgrades in more depth
  • Chunklock servers, including ChunkBlock, a BentoBox mode that combines OneBlock with chunk unlocking
  • Run several game modes as one network
  • AOneBlock documentation at docs.bentobox.world, and the heavily commented phases/0_plains.yml on your own server, which documents every phase option.