Discord
PlotSquared
Wiki - Plugins

PlotSquared: a creative plot system for your server

PlotSquared is the standard on creative servers. It lets players claim, manage and decorate their own plots in a dedicated world. It supports road schematics, protection flags, plot merging, ratings and full integration with FastAsyncWorldEdit. It runs on Paper and Spigot from version 1.13 to 1.21.x.

Reading time: ~8 min Platform: Paper / Spigot / Purpur

What PlotSquared is

PlotSquared is an open-source plugin developed by the IntellectualSites team. Its job is simple: split a chosen Minecraft world into equal plots and give players the tools to manage them. Every plot has an owner, a list of trusted players, built-in protection and a set of flags that control how the world behaves within its borders.

The plugin has existed since Minecraft 1.7 and over the years has become the absolute standard on creative servers. It's hard to find a creative server that doesn't use PlotSquared or a fork of it. The branch in active development is PlotSquared v7, compatible with Minecraft 1.18 to 1.21.x, although older plugin versions support earlier game releases.

Unlike WorldGuard, which protects regions you mark by hand, PlotSquared automatically generates a grid of plots and manages them without admin involvement. The player claims a free plot with a command, builds it up, and decides who can build on it. The admin focuses on global configuration instead of marking protected areas by hand.

You can download the plugin from SpigotMC or from Modrinth. The documentation is on the IntellectualSites site.

Creating a plot world

PlotSquared doesn't create a plot world automatically after installation. You have to generate a dedicated world and then tell the plugin to manage it. There are two ways:

Method 1 - Multiverse-Core (recommended): If you have Multiverse-Core installed, use the command:

/mv create creative normal -g PlotSquared

This generates a new world named creative with the PlotSquared generator. Once you're in the world, the plots are ready to claim.

Method 2 - manual configuration: Open the plugins/PlotSquared/worlds.yml file and add an entry for an existing world:

worlds:
  creative:
    generator:
      plugin: PlotSquared
      init_height: 64
    plot:
      size: 42
      height: 64
    road:
      width: 7
      height: 64

After a server restart, PlotSquared takes control of the world and starts generating plots whenever a chunk loads.

The plot size (plot.size) is a value in blocks, not counting the road. The standard setting is 42 blocks, but on servers with mega-plots you'll see 100, 200 or even 500. The road width (road.width) is usually 7 blocks. Keep in mind that changing these values after the world is generated requires regenerating it, since existing chunks are not recalculated automatically.

Player commands

PlotSquared gives players a rich set of commands. They all start with /plot (alias: /p). Here are the most important ones:

Command What it does Permission
/plot claim Claims the plot you're standing on plots.claim
/plot auto Automatically assigns the nearest free plot plots.auto
/plot home [number] Teleports you to your plot (or the one with the given number) plots.home
/plot visit Player [number] Teleports you to another player's plot plots.visit
/plot trust Player Gives the player full building permissions on the plot (they can also use flags) plots.trust
/plot add Player Gives the player building rights, but only while the owner is online plots.add
/plot deny Player Blocks the player from entering the plot plots.deny
/plot remove Player Removes the player from the trusted / denied list plots.remove
/plot merge [direction] Merges the plot with an adjacent one (you must own both) plots.merge
/plot unlink Splits merged plots back into separate ones plots.merge
/plot clear Resets the plot to its original state plots.clear
/plot delete Deletes the plot and returns it to the pool of free ones plots.delete
/plot info Shows information about the plot (owner, ID, flags) plots.info
/plot flag set [flag] [value] Sets a flag on the plot plots.flag.set
/plot rate [1-10] Rates someone else's plot plots.rate

Merging plots (/plot merge) is one of the most popular features on creative servers. You can merge a plot with an adjacent one in any direction (north, east, south, west), or use /plot merge all to merge all four adjacent plots at once, as long as you own them. A merged mega-plot behaves as a single whole: it has shared flags, a shared trusted list, and can be cleared with one command.

Admin commands

Administering a creative server comes down to a few key commands. Most of them require the plots.admin permission or more specific nodes:

Command What it does
/plot admin Opens the admin panel (world overview, statistics)
/plot setowner Player Changes the plot's owner to the given player
/plot purge world:[world] Removes all unused plots from the database
/plot reload Reloads the plugin configuration without a server restart
/plot schematic save Saves the current plot as a schematic
/plot schematic paste Pastes a saved schematic onto the plot
/plot done Marks the plot as finished (changes its status in the database)
/plot cluster Manages plot clusters (grouping plots under one organization)
/plots toggle debug Turns on debug mode for diagnosing problems

The plots.admin.command.* permission gives access to all admin commands. You can also hand out granular nodes, for example plots.admin.command.setowner for moderators who may only change the owner but have no access to purge or schematics.

Plot and road schematics

One of PlotSquared's most valued features is being able to set a custom look for plots and roads. By default roads are made of stone and plots have flat terrain, but you can change that completely.

A road schematic is a pattern that PlotSquared applies to every segment of road between plots. You make it in a normal game world: build a piece of road the way you want it to look (sidewalk, lampposts, decorations), then save it as a schematic through FAWE or WorldEdit. You put the schematic file in plugins/PlotSquared/schematics/GEN_ROAD_SCHEMATIC/.

A plot schematic is the starting look of an empty plot. Instead of flat terrain you can start with a paved base, a fence or even a sample build. Plot schematics go in plugins/PlotSquared/schematics/ and you select them in the world configuration:

worlds:
  creative:
    schematic:
      file: starter_plot  # without the .schematic/.schem extension
      on_claim: true       # pastes the schematic when a plot is claimed

An important note: generating schematics is a computationally heavy operation. On a server with many players, every plot claim can briefly load the CPU. That's why FAWE (FastAsyncWorldEdit) integration is essential here: it performs these operations asynchronously and doesn't block the server's main thread.

Plot flags

Flags are a system that lets players and admins control how the world behaves within a specific plot. They work much like WorldGuard flags, but they're tied to the plot rather than to a hand-marked region.

A player sets a flag with the /plot flag set [flag] [value] command, but only flags they have permission for. An admin can grant or block access to particular flags per rank through LuckPerms.

The most important flags:

Flag Values What it controls
pvp true / false Player-vs-player combat on the plot
mob-spawning true / false Natural mob spawning on the plot
animal-spawning true / false Animal spawning (separate from hostile mobs)
weather rain / sun / storm Weather on the plot (local, independent of the server)
time 0-24000 Time of day on the plot (local time)
explosion true / false Whether explosions (TNT, creepers) destroy blocks
fire-spread true / false Fire spreading
leaf-decay true / false Whether leaves decay after the wood is cut
keep-inventory true / false Keeping your inventory after dying on the plot
player-interact true / false Whether players without access can press buttons, pull levers, etc.
use block list Which blocks guests can use (for example chests, furnaces)
greeting text Message shown when entering the plot
farewell text Message shown when leaving the plot
no-worldedit true / false Stops others from using WorldEdit on the plot

The greeting and farewell flags support placeholders: %player% (the player's name), %world% (the world name). Plot owners like using them to build immersion: the welcome message greets the player as they enter the area. The local time and weather flags (time, weather) are an underrated feature. You can set eternal night on a horror plot or always-sunny weather for a garden showcase, regardless of what's happening in the rest of the world.

Plot world generators

PlotSquared offers several modes for generating the plot world. The generator you choose affects how the terrain looks and how the server performs.

The classic generator is the default mode. It generates a flat world with a grid of plots and stone roads. All plots start at level 64, and the biome is set to plains. It's the fastest generator in terms of CPU performance.

The augmented generator lets you lay the plot grid over a normally generated Minecraft world. The result: plots have natural relief (mountains, valleys, rivers) but are clearly separated by roads. It's the prettier option, but slower to generate. You configure it with parameters in worlds.yml:

worlds:
  creative_aug:
    generator:
      plugin: PlotSquared
      type: augmented
      terrain: ORE          # NONE / ORE / ROAD / ALL
      settings:
        biome: FOREST

The terrain parameter controls which parts of the natural terrain are kept in the road area: NONE - roads are flat, ORE - ores and structures stay, ROAD - natural terrain only on roads, ALL - full natural terrain everywhere.

On servers with very large plots (200+ blocks), consider a flat generator with a custom biome. It minimizes generation time and gives players clean building space with no terrain surprises.

Plot ratings and rankings

PlotSquared has a built-in plot rating system. Players can give ratings from 1 to 10 with the /plot rate [1-10] command while standing on someone else's plot. One person can rate a given plot only once.

The plot ranking is shown with:

  • /plot top - a list of the highest-rated plots in the current world
  • /plot list top - a sorted list with the average rating and number of votes
  • /plot list forsale - plots put up for sale (if an economy plugin is active)
  • /plot list done - plots marked as finished by their owner

The rating system works well on servers with building contests. An admin can limit rating to chosen ranks (for example only VIPs can rate), which prevents new players from manipulating the results.

PlotSquared also supports PlotSquared Economy, an integration with Vault that lets players buy and sell plots between themselves. You set prices with /plot set price [amount] and buy with /plot buy. It's a popular solution on mixed creative-survival servers where creative plots have trade value.

Configuration

The main configuration file is plugins/PlotSquared/settings.yml. The most important options:

enabled-components:
  economy: true          # Vault integration
  uuid-cache: true       # player UUID cache (performance)
  plot-expiry: false     # automatic removal of unused plots

ratings:
  enabled: true
  categories: []         # custom rating categories, e.g. [Creativity, Detail, Usefulness]

chat:
  enabled: true          # dedicated plot chat (/plot chat)

claims:
  max-auto-area: 2       # how many plots /plot auto can claim at once (for admins)

titles:
  enabled: true          # shows a title when entering a plot

The configuration of individual plot worlds lives in plugins/PlotSquared/worlds.yml. Each world can have different plot size, generator and schematic settings. On one server you can have several worlds: a classic 42x42 one, a 200x200 megaworld and a contest world with a different road schematic.

You control plot limits per player through permissions in LuckPerms. The node plots.plot.1 gives 1 plot, plots.plot.3 gives three, and plots.plot.10 gives ten. The default rank should have plots.plot.1, VIP can get plots.plot.5, and donors plots.plot.10 or more.

Per-world settings are detailed: each plot world has its own configuration block in worlds.yml that can override the defaults from settings.yml. That way you can have one world with no plot rating and another where rating is the main mechanic.

Tips and integrations

FAWE is a must-have. FastAsyncWorldEdit is officially supported by PlotSquared and should be installed on every serious creative server. With it, clearing a plot (/plot clear) is instant and doesn't freeze the server even with 200x200 plots. Without FAWE, operations on large plots can cause TPS drops that every player feels.

WorldGuard as a complement. PlotSquared doesn't protect areas outside plots: roads and unclaimed plots are fully accessible to everyone. It's worth adding WorldGuard and setting a global region over the plot world with building restrictions outside plots. That way players won't destroy roads or claim terrain outside the official grid.

Automatic removal of inactive plots. On servers with high player turnover, enable plot-expiry in the configuration. You can set a plot that hasn't been visited for 30/60/90 days to be cleared automatically and returned to the pool. A warning is sent to the player beforehand (this requires a working EssentialsX or another messaging plugin).

Single-player plots. The default PlotSquared configuration assumes every player builds on their own plot. But nothing stops one player from claiming several plots and creating a sprawling complex by merging. Mega-plots (for example 2x2 or 3x3 merged plots) are popular on servers where the scale of builds matters.

Plot chat. The /plot chat command turns on a mode in which all of a player's messages are visible only to people on the same plot. Handy for coordinating group work on a project without cluttering global chat.

Plot clusters. An advanced feature for server organizations: it lets you group many plots under one name and manage them centrally. Useful for contests, where each participant gets a plot from the contest pool and the admin sees all entries as one cluster.

Database. By default PlotSquared uses SQLite. On servers with hundreds of plots, switch to MySQL/MariaDB, since query performance is much better. You set the database configuration in settings.yml in the database section.

Related articles: WorldGuard (area protection), LuckPerms (permission management), the catalog of all plugins.