Build a Better Creative Server

From an empty server to a smooth public build server: plots or free-build, PlotSquared worlds and roads, FastAsyncWorldEdit with per-rank limits, brushes, schematics, LuckPerms ranks, lag limits, build competitions and backups

Minecraft Game Modes

17 min readIntermediateLast updated Oct 31, 2026

A good creative server gives builders space, powerful tools and a world that never gets in the way: no mobs, no weather, no surprise night. It also stops one huge WorldEdit command or one redstone clock from lagging everyone, and it never loses a build that took a hundred hours.

What you'll build: a Paper server with a plot world (or a free-build world), FastAsyncWorldEdit with safe limits per rank, terrain brushes, schematics, a showcase world for finished builds, ranks with exact LuckPerms commands, lag protection and a backup plan.

Time: 2–3 hours for the full setup.

You need: a Paper or Purpur server with 4–8 GB of memory (more for busy servers with big edits), access to the panel at game.crashcrafts.com, and the basics from Paper and Purpur servers. Never installed a plugin? Read Install plugins first.

1

Pick the layout

Layout How it works Good for Watch out for
One free-build world A flat or void world where anyone builds anywhere, often with WorldGuard regions for protection. A few trusted builders, build teams. No automatic protection or limits per player.
Plot world PlotSquared gives each player claimed plots on a grid with roads. Each plot is protected, can be merged, cleared and rated. Public servers, build competitions. Plot size is fixed when the world is created.
Several worlds Multiverse-Core runs a plot world, a free-build world, a showcase world and a staff world side by side. Larger servers. More memory, more backups.

Most public creative servers end up with several worlds: plots for everyone, a free-build world for trusted builders, and a showcase world for finished work. This guide builds that.

Plot plugin choice

PlotSquared is the standard plot plugin and integrates with FastAsyncWorldEdit. It's a paid download (about US$15) on SpigotMC. IntellectualSites publishes the source and release notes on GitHub, but the ready-made jar comes from the SpigotMC page. If you'd rather not pay, a free-build world with WorldGuard regions works well for smaller servers.

2

Server settings

Stop the server, then open server.properties on Files and set:

gamemode=creative
force-gamemode=true
difficulty=peaceful
spawn-monsters=false
pvp=false
spawn-protection=0
view-distance=8
simulation-distance=4
allow-flight=true
Setting Why
force-gamemode=true Everyone is put back in creative when they join.
difficulty=peaceful No hostile mobs, and no hunger.
simulation-distance=4 Builders mostly look at their build, not machines far away. Lower simulation saves a lot of CPU.
allow-flight=true Stops the server kicking builders for "flying".
spawn-protection=0 Protection plugins handle spawn instead.
3

Install the plugins

Install from Minecraft Plugins (or upload the jar on Files → plugins), one at a time, restarting after each and checking the console for errors.

Plugin Job Price
LuckPerms Ranks and permissions. Free
FastAsyncWorldEdit (FAWE) WorldEdit's commands, much faster on huge edits, history on disk, and per-rank limits. Install it instead of WorldEdit, never both. Free
PlotSquared Plot worlds. Needs FAWE (or WorldEdit). Paid (SpigotMC)
Multiverse-Core Extra worlds: free-build, showcase, staff. Free
WorldGuard Region protection for spawn, the showcase world and free-build areas. Free
FastAsyncVoxelSniper VoxelSniper's long-range brushes, running on FAWE. Free
goBrush / goPaint (or BetterGoPaint) Heightmap terrain brushes and texture painting. BetterGoPaint is a maintained fork of goPaint. Free
Head Database Thousands of decorative heads. A paid version on SpigotMC and a free project of the same name on Modrinth exist; pick one. Varies
CoreProtect Logs every block change so you can roll back griefing. Free
EssentialsX /spawn, /warp, /tp, /speed, nicknames. Free
Axiom Paper Plugin (optional) Server side for Axiom, a client mod with a powerful in-game editor. Players need the Axiom mod (Fabric). Free

Arceon (advanced brushes, masks and noise patterns, by the goBrush author) is a paid plugin sold through the author's Patreon, and the author asks for permission before you run it on your own server. Only use it on that basis.

Check they loaded: run plugins in the Console. All should be green.

4

Create the plot world

Choose plot size and road width first

Plot size and road width are fixed once a world is generated. Changing them later means a new world and moving every build by schematic. Choose generously:

Server type Plot size Road width Notes
Casual public server 48 × 48 7 Room for a house and garden.
General builders 64 × 64 7 A common choice. Merge for bigger builds.
Serious builders, competitions 100 × 100 or 128 × 128 7–9 Big builds without merging.
Huge projects 256 × 256 or more 9 PlotSquared supports very large plots.

Merging is the escape hatch: ranks can combine neighbouring plots into one big plot (see step 7), so you don't need huge plots for everyone.

Option A: the main world as the plot world

  1. Stop the server.

  2. On Files, delete the world folder (and world_nether and world_the_end on versions before 26.1). This removes the existing world.

  3. In server.properties, set level-name=plotworld.

  4. At the bottom of bukkit.yml, add:

    worlds:
      plotworld:
        generator: PlotSquared
    
  5. Start. PlotSquared generates the plot grid.

Option B: an extra world with Multiverse-Core

Keep your main world (for example as a hub) and create the plot world in the console:

mv create plotworld normal --generator PlotSquared

Or run the guided wizard in-game with /plot setup and follow each prompt.

Set the plot world's layout

Plot world settings live in plugins/PlotSquared/config/worlds.yml. Stop the server before editing, and only change size and width before anyone has claimed plots. Our recommended layout:

worlds:
  plotworld:
    plot:
      height: 62
      size: 64
      filling: minecraft:stone
      floor: minecraft:grass_block
      bedrock: true
      biome: minecraft:plains
      create_signs: true
    wall:
      height: 62
      block: minecraft:smooth_stone_slab
      block_claimed: minecraft:sandstone_slab
      filling: minecraft:stone
      place_top_block: true
    road:
      height: 62
      width: 7
      block: minecraft:quartz_block
      flags: {}
    home:
      default: side
      nonmembers: side
Key What it does
plot.size Plot width and length in blocks.
road.width Road width between plots.
plot.height, road.height, wall.height Ground height. Keep all three the same.
plot.floor / plot.filling Top block and the blocks below it.
wall.block / wall.block_claimed Border block for unclaimed and claimed plots, so players see which plots are free.
road.block The road surface.
home.default Where /plot home puts you: side or center.

Start the server again. Fly along a road to check the layout looks right.

Optional: plot and road schematics

  • Road schematic: build one perfect road section and save it, so every road gets lamps, kerbs or trees. See PlotSquared's road schematic guide.
  • Plot schematic on claim: paste a starter floor or border when a player claims a plot. In worlds.yml, under schematic:, set on_claim: true and file: to your schematic's name.

Default flags for every plot

Under the same world in worlds.yml, add flags: that apply to every claimed plot unless the owner changes them:

worlds:
  plotworld:
    flags:
      mob-cap: 20
      entity-cap: 200
      vehicle-cap: 10
      misc-cap: 100

These cap mobs, entities, vehicles and misc entities (armor stands, item frames, items) per plot. They're the single best defence against plot lag.

5

The other worlds

Free-build world (trusted builders)

mv create freebuild normal --world-type flat

Then protect the whole world from everyone except builders with WorldGuard:

rg flag __global__ -w freebuild build deny

Builders with worldguard.region.bypass.freebuild, or added to regions, can build. Alternatively, give the builder rank membership of a big region.

Showcase world

A showcase world displays finished builds where nobody can break them. Copy builds in with schematics (see step 6), then lock it:

mv create showcase normal --world-type flat
rg flag __global__ -w showcase build deny
rg flag __global__ -w showcase interact deny

Add warps (/setwarp showcase) so players can visit.

World settings in every creative world

Game rules are per world, so set them in each. Minecraft 1.21.11 renamed game rules to lowercase names with underscores. Use the column for your version; if one isn't accepted, type /gamerule and let the autocomplete show your version's name.

Older name 1.21.11 and newer Value Why
doMobSpawning spawn_mobs false No mobs wandering into builds.
doWeatherCycle advance_weather false Builds always seen in clear weather. Run weather clear too.
doDaylightCycle advance_time false Fixed time; set it with time set noon.
doFireTick fire_spread_radius_around_player false / 0 Fire never spreads. On new versions, 0 turns spread off.
mobGriefing mob_griefing false Nothing breaks blocks on its own.
randomTickSpeed random_tick_speed 0 Crops, leaves, ice and copper stay exactly as placed.
doInsomnia spawn_phantoms false No phantoms.
doTraderSpawning spawn_wandering_traders false No wandering traders.

With Multiverse-Core you can also set world properties: mv modify freebuild set gamemode creative, mv modify freebuild set difficulty peaceful, mv modify freebuild set allow-weather false.

6

Schematics

Schematics are saved copies of builds. They're how builders move work between worlds, back it up, and share it.

Command What it does
//wand Gives the selection wand (left-click corner 1, right-click corner 2).
//copy Copies the selection, relative to where you stand.
//schem save <name> Saves the clipboard to a file.
//schem list Lists saved schematics.
//schem load <name> Loads one into the clipboard.
//paste Pastes the clipboard where you stand. Add -a to skip air.
/plot download Exports your whole plot as a schematic (PlotSquared).

Schematics are stored in plugins/FastAsyncWorldEdit/schematics/ on Files, where you can download and upload them. To stop players filling the disk, give each player their own folder: in plugins/FastAsyncWorldEdit/config.yml, set per-player-schematics: true, and use schem-file-size-limit and schem-file-num-limit in their limit group (see next step).

7

Ranks and permissions with LuckPerms

The rank plan

Group Weight Who Can do
default 0 New players 1 plot, basic plot commands, no WorldEdit.
builder 10 Approved players 3 plots, merge up to 4, WorldEdit in their plots with modest limits, brushes.
architect 20 Proven builders 10 plots, bigger limits, free-build world, schematics.
helper 50 Staff Teleport, inspect plots, CoreProtect lookups.
admin 100 Owners Everything, unlimited edits.

Create the groups

Run these in the Console (in-game, start each with /):

lp creategroup builder
lp creategroup architect
lp creategroup helper
lp creategroup admin

lp group builder parent add default
lp group architect parent add builder
lp group helper parent add architect
lp group admin parent add helper

lp group default setweight 0
lp group builder setweight 10
lp group architect setweight 20
lp group helper setweight 50
lp group admin setweight 100

lp group builder meta setprefix 10 "&a[Builder] "
lp group architect meta setprefix 20 "&b[Architect] "
lp group helper meta setprefix 50 "&e[Helper] "
lp group admin meta setprefix 100 "&c[Admin] "

Each group inherits everything from the one below, so you only add what's new at each level.

default: basic plots

lp group default permission set plots.permpack.basic true
lp group default permission set plots.plot.1 true
lp group default permission set essentials.spawn true
lp group default permission set essentials.warp true
lp group default permission set essentials.speed true

plots.permpack.basic grants the everyday plot commands (/plot auto, claim, home, add, trust, deny, clear, delete, visit, merge and more). It includes merging up to 4 plots; if you don't want new players merging, also run lp group default permission set plots.merge false.

plots.plot.<number> sets how many plots a player may own.

builder: WorldEdit in their own plots

lp group builder permission set plots.plot.3 true
lp group builder permission set plots.merge true
lp group builder permission set plots.merge.4 true
lp group builder permission set fawe.permpack.basic true
lp group builder permission set fawe.plotsquared true
lp group builder permission set fawe.limit.builder true
  • fawe.permpack.basic is FAWE's set of WorldEdit permissions considered safe for a creative server.
  • fawe.plotsquared lets plot owners and trusted players use WorldEdit inside their plot only. FAWE keeps edits inside the plot.
  • fawe.limit.builder selects the builder limit group you create in step 8.
  • Brush plugins (FastAsyncVoxelSniper, goBrush, goPaint) each have their own permission nodes, listed on their plugin pages. Grant them to builder the same way. If you're unsure of a node, lp verbose on (see below) shows the exact one a command checks.

architect: more space, bigger edits

lp group architect permission set plots.plot.10 true
lp group architect permission set plots.merge.16 true
lp group architect permission set fawe.limit.architect true
lp group architect permission set worldguard.region.bypass.freebuild true

FAWE gives a player the highest value of each limit across all their limit groups, so architects get the bigger limits even though they inherit fawe.limit.builder.

helper and admin

lp group helper permission set plots.visit.other true
lp group helper permission set plots.admin.visit.untrusted true
lp group helper permission set coreprotect.inspect true
lp group helper permission set coreprotect.lookup true
lp group helper permission set essentials.tp true

lp group admin permission set * true

Give owners * through LuckPerms rather than op, and give fawe.limit.unlimited (or fawe.bypass) only to admins.

Give ranks to players

lp user Steve parent set builder
lp user Steve parent addtemp architect 30d
lp user Steve info

parent set replaces their group; addtemp gives one for a limited time (useful for competition winners).

Find a missing permission

If a command says no permission, run lp verbose on, have the player try the command, then lp verbose off. LuckPerms prints the exact node that was checked. Prefer clicking? lp editor opens a web editor link.

8

Set WorldEdit limits per rank

Without limits, one //set across a huge selection can stall the server. FAWE limits are in plugins/FastAsyncWorldEdit/config.yml under limits:. The default group applies to anyone without a specific limit permission. Copy it to make named groups, then grant fawe.limit.<name>.

Stop the server, then edit:

limits:
  default:
    max-actions: 1
    max-changes: 0
    max-checks: 0
    max-fails: 0
    max-iterations: 0
    max-entities: 0
    max-radius: 0
    max-brush-radius: 0
    max-blockstates: 0
  builder:
    max-actions: 1
    max-changes: 500000
    max-checks: 1000000
    max-fails: 500000
    max-iterations: 100
    max-entities: 50
    max-radius: 50
    max-super-pickaxe-size: 5
    max-brush-radius: 15
    max-butcher-radius: 50
    max-blockstates: 200
    max-history-mb: 256
    schem-file-size-limit: 10240
    schem-file-num-limit: 20
    confirm-large: true
  architect:
    max-actions: 2
    max-changes: 10000000
    max-checks: 20000000
    max-fails: 10000000
    max-iterations: 500
    max-entities: 500
    max-radius: 200
    max-super-pickaxe-size: 10
    max-brush-radius: 40
    max-butcher-radius: 200
    max-blockstates: 1000
    max-history-mb: 1024
    schem-file-size-limit: 102400
    schem-file-num-limit: 100
    confirm-large: true

Keep the other keys FAWE already has in each group. These are starting values; raise them if your builders hit them often and the server copes.

Key Limits
max-actions How many edits a player can run at once.
max-changes Blocks changed in one edit (for example by //set).
max-checks Blocks examined in one edit (for example //count).
max-iterations Brush iterations, such as //brush smooth.
max-entities Entities an edit can create (pasting a farm full of cows).
max-radius / max-brush-radius Largest sphere, cylinder or brush.
max-blockstates Chests, signs, heads and similar blocks per edit.
max-history-mb Size of each player's undo history.
schem-file-size-limit / schem-file-num-limit Per-player schematic folder size (KB) and count, with per-player-schematics on.
confirm-large Asks for //confirm before very large edits.

Start and test as a builder: a //set over a too-large selection should be refused with a limit message.

9

Keep it fast

Creative servers lag for three reasons: entities, redstone and giant edits. Tackle each.

Entities

  • Plot caps (mob-cap, entity-cap, misc-cap, vehicle-cap) from step 4.

  • Armor stands: in config/paper-world-defaults.yml, set entities.armor-stands.tick: false and entities.armor-stands.do-collision-entity-lookups: false. Decorative armor stands stop costing CPU. (It breaks armor-stand machines, which are rare on creative.)

  • Entity save limit: in the same file, chunks.entity-per-chunk-save-limit stops chunks saving thousands of loose entities:

    chunks:
      entity-per-chunk-save-limit:
        arrow: 16
        experience_orb: 16
        snowball: 8
        ender_pearl: 8
        egg: 8
        item: 128
    

Redstone

  • PlotSquared's plugins/PlotSquared/config/settings.yml has a redstone: section. disable-offline: true turns redstone off in plots whose owners and members are all offline, so abandoned clocks stop. disable-unoccupied: true goes further and stops it when nobody's in the plot.
  • Per plot, owners or staff can run /plot flag set redstone false.
  • In config/paper-world-defaults.yml, misc.redstone-implementation: ALTERNATE_CURRENT makes redstone much cheaper. Test redstone builds; timing can differ slightly from vanilla.
  • Plugins such as AntiRedstoneClock-Remastered (on Hangar) detect and break fast clocks.

Physics and big edits

  • /plot flag set disable-physics true stops sand, gravel and water updates in a plot, which helps detailed builds and huge pastes.
  • FAWE limits from step 8 keep edits bounded.
  • Allow 6–8 GB of memory on busy build servers. FAWE stores history on disk by default, which keeps memory down.
  • A world border on free-build worlds (worldborder set 4000 in that world) stops endless exploration. Creative players can fly far, fast, generating chunks the whole way. Pre-generate the free-build area.

Measure

Run spark profiler start, wait 5 minutes during a busy time, then spark profiler stop. Open the link: it shows which plots, entities or plugins cost the most. Fix lag

10

Build competitions

Competitions keep creative servers alive. A simple, fair routine:

  1. Make a contest world with a smaller plot size (for example 48 × 48) using mv create contest normal --generator PlotSquared, then set its size in worlds.yml and restart.
  2. Announce a theme, a start and an end time. Use a schedule on Schedules with Send Command say Build contest ends in 1 hour! for reminders.
  3. Entry: players run /plot auto in the contest world. Announce a one-plot-per-player rule and have staff remove extra claims with /plot delete.
  4. Freeze the plots at the deadline. Players mark their plot finished with /plot done; staff can stop edits by removing build permission in that world.
  5. Judge: players vote with /plot rate; staff check the top entries.
  6. Showcase the winners: //copy and //schem save each winning build, paste it into the showcase world, and give winners a temporary rank (lp user <name> parent addtemp architect 30d).
  7. Back up the contest world and lock the backup before resetting it.
11

Backups

Creative builds take hundreds of hours, and builders notice a lost evening.

  1. Schedule a backup every 2–6 hours. On Schedules, create a schedule with a Send Command save-all task, then a Create Backup task 10 seconds later. Backup schedules
  2. Lock a backup before every competition, update and world change.
  3. Download a backup weekly and keep it on your own computer or cloud storage.
  4. Database: if PlotSquared uses MySQL (plugins/PlotSquared/config/storage.yml), the plot owners live in the database, which panel backups don't include. Ask us for a dump, or keep PlotSquared on its default SQLite file so it's backed up with everything else. Databases
  5. Single builds: CoreProtect can undo griefing on one plot without a full restore, for example co rollback u:Griefer t:2h r:#global. PlotSquared's /plot backup command (where enabled) saves and restores single plots.

Launch checklist

  • [ ] Plot size and road width decided before the plot world was generated.
  • [ ] FAWE installed instead of WorldEdit; limit groups set and tested as a builder.
  • [ ] Game rules set in every world.
  • [ ] LuckPerms groups created; normal players checked from a non-staff account.
  • [ ] Plot caps and redstone settings in place.
  • [ ] Showcase world protected; warps set.
  • [ ] Free-build world bordered and pre-generated.
  • [ ] Backup schedule running (check Backups the next day) and a locked "launch" backup.
  • [ ] spark profiler run with a few builders online.

Common problems

Problem Fix
Server freezes on a big edit Use FAWE instead of WorldEdit, and lower that rank's max-changes.
You don't have permission in WorldEdit Missing fawe.permpack.basic or a WorldEdit node. Use lp verbose on to see which.
WorldEdit does nothing in a plot The player isn't owner, trusted or added to the plot, or lacks fawe.plotsquared.
Two WorldEdits loaded WorldEdit and FAWE both installed. Remove WorldEdit.jar.
Leaves decay or crops grow random_tick_speed (randomTickSpeed) isn't 0 in that world.
Mobs appear spawn_mobs (doMobSpawning) is on in that world. Game rules are per world.
Plots too small Size can't change on an existing world. Make a new plot world and move builds with schematics.
Plot world generates as normal terrain The generator isn't set. Check bukkit.yml worlds: → generator: PlotSquared, or recreate with --generator PlotSquared.
Lag with few players An entity pile-up or a redstone clock. Profile with spark and set plot caps.
Disk filling up Free-build world without a border, or unlimited per-player schematics.

Going further

  • Pre-generate free-build areas properly: Better pre-generated worlds.
  • Running survival too? Link it with a Velocity proxy. Velocity networks
  • Let Bedrock players visit plots: Bedrock crossplay. (Bedrock players can't use most WorldEdit wand features as easily, so give them commands like //pos1 and //pos2.)