Skip to content

Installation

Zoriot edited this page Sep 30, 2025 · 28 revisions

Before we begin - Requirements

You will need to have the following things for the Plot System to work:

  • at least 1 Terra Paper Minecraft Server
  • 1 separate Paper Minecraft Server - this is where the Plot System will run
  • at least 1, ideally 2 MariaDB or MySQL Databases - One for the Plot System itself, and one for LangLibs

Setting up the Plot System Server

We will firstly set up the server, where the main Plot System plugin will run. This will be the place where your users will build the plots. This server should be running vanilla Paper with the version 1.21.4.

Warning

The Plot System server can also just be a regular Hub but should not be a Terra server!

Worlds Files Folder

We recommend setting a specific world folder to better organize your server's worlds. This practice helps manage multiple worlds more effectively and keeps your server directory tidy. You can follow the guide here: Organizing Worlds in a Separate Folder

Note

This is not required for the plugin to function correctly

Installing Dependencies

On your Plot System server, you will first need to install the following dependencies by downloading and moving them into the plugins folder:

If any of the required dependencies are missing, an error like this will appear in the console:

[12:58:17] [Server thread/ERROR]: [ModernPluginLoadingStrategy] Could not load 'plugins/.paper-remapped/PlotSystem-5.0.0.jar' in 'plugins/.paper-remapped'
org.bukkit.plugin.UnknownDependencyException: Unknown/missing dependency plugins: [Multiverse-Core, DecentHolograms]. Please download and install these plugins to run 'Plot-System'.

Message Input

Currently we use Chat Message Input's for the Tutorial Calculating Height stage and for inputting the review text feedback (for that it's optional because you can also do it via /editfeedback). For that to work, player messages need to reach the backend/paper server. So be sure you proxy global chat plugin allow that. For message input's to work you may need to install FreedomChat (or a simular plugin), also you have to set enforce-secure-profile in server.properties to false. Otherwise there may be issues.

Configuring LangLibs

For the Plot System to properly run, you will need to set up LangLibs, a localisation plugin, first.

Run your server for the first time, which should create a LangLibs folder within your plugins directory with a config.yml File.

Simply fill out the database credentials for your MySQL or MariaDB language database.

Tip

Optionally restart to see if LangLibs can successfully connect to the provided database.

World Edit Region Protection

Currently we use FAWE World Guard Integration - for it to work correctly, the players (visitors) need the permissions:

fawe.worldguard
fawe.permpack.basic

You may allow the permpack only on the plot server in plot worlds (via context) & also disable some of the permission nodes. You can also use single worldedit perms. FAWE region-restrictions needs to be true.

Installing the PlotSystem

Now you can install the latest version of the Plot System, which can be found here - we will switch to GitHub Releases again after the ongoing database rework.

Configuring the PlotSystem

Next, the config must be configured.

Simply enter your URL and database credentials into the config.

database:
  url: jdbc:mariadb://adress:3306/
  dbname: plotsystem
  username: plotsystem
  password: minecraft

If you want to create a new SQL user for the Plot System or want to use an existing one, make sure it has the following permissions:

SELECT, INSERT, UPDATE, DELETE, CREATE

or use command:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON plotsystem.* TO plotsystem@% WITH GRANT OPTION

which will grant all requiered permissions to the plotsystem user and the database with the name plotsystem. Otherwise feel free to just use an already existing user!

The database will then be automatically created with the name you entered on the dbname field, if it doesn't exist already!

Tip

It is recommended, that you go through the configuration wiki page and make sure that all the other smaller settings are correct as well.

Setup Commands

Finally, you should be able to start the Plot System server without any issues!

Join the server and enter the following commands as an operator or with the plotsystem.admin.pss.* permission.

Build Teams

Since v3.0 there is a Build Team table which allows multiple Build Teams to share a single Plot System instance.

To see all relevant commands, enter /pss buildteam

To add a Build Team use the following command. The name can be your Build Team name, project name or whatever you want to use.

/pss buildteam add <Name>

Note

This name is merely an internal identifier, which you will need to reference later when adding city projects. It should therefore contain no spaces or special characters. This name won't be shown to the end user.

Important

At least one Build Team always needs to be configured!

Build Teams allow you to manage city projects individualy by assigning reviewers. Every build team can have multiple city projects and reviewers assigned. To add a reviewer use the following command.

/pss buildteam addreviewer <BuildTeam-ID> <Player-Name>

Note

The player does not need to be online but has to have been on the sever at least once.

We will assign the city projects to the build team when creating the city projects themselves. Let's continue!

Servers

Next we need to configure the underlying Terra Servers. These are the servers where we will later set up the PlotSystem-Terra on.

Here we only need to configure the name of each server and the corresponding build team. This name will later be needed for the PlotSystem-Terra to know, which plots will have to be pasted on which server.

For each Terra server that you use, enter the following command:

/pss server add <Name> <BuildTeam-ID>

We recommend to use the same names as the ones in the Bungeecord config for simplicity and maintainability.

Countries

Regardless if you are hosting a range of Countries or Canton/States/Regions, you should create a separate "Country" entry for each one of them.

To create a country enter the following:

/pss country add <Code> <Continent> <Material> <CustomModelData?>

The code should be a ISO 3166-1 Alpha-2 2 letter code like "AT", "CH" or "LI" for Austria, Switzerland and Liechtenstein respectively

For the continent, you need to provide one of the following values

  • EU for Europe
  • AS for Asia
  • AF for Africa
  • OC for Oceania
  • SA for South America
  • NA for North America

The material is the item (e.g. NETHER_STAR) that will be displayed for this country in the companion menu. If you want to use a HeadDatabase head instead of a simple material, you will need to set this to head(<ID>). For a head with the Liechtenstein flag for example, you would use head(26174)

Additionally, you also may define an optional custom model data integer or string. This is useful for when you are using custom resource packs.

Important

You need to have at least one Country set up, to create City Projects in it.

City Projects

City Projects are the individual Cities/Towns/Places, that you want to create Plots for.

Create them like the following:

/pss city add <CityProject-Name> <Country-Code> <Server-Name> <BuildTeam-ID>

Note

The CityProject-Name is merely an internal identifier. It should therefore contain no spaces or special characters. This name won't be shown to the end user.

Important

You need to have at least one City Project configured, to create Plots.

Setting up the Terra servers

Last but not least, you will need to hook up your Terra Server(s) to the Plot System. FAWE is required on the Terra server.

For this, we need to install the separate Plot System Terra plugin and (LangLibs)[https://github.com/Cinnazeyy/LangLibs/releases] on each Terra server.

Restart the Terra server to generate the Plot System Terra & LangLibs config files.

Configuration

You have to configure LangLibs, lthe same way as Plot-System.

Server name

Most importantly, you will need to configure the server name.

server-name: ALPS-2

Important

These are the values which you have configured earlier when setting up the "Servers" with the PSS command! They must be same as configured.

Communication with the Plot System

Depending on if you want the terra server to directly connect to the database or use a separate API instead, specify your data mode:

# The data mode in which the plugin should run. Possible values: DATABASE, API
data-mode: DATABASE

If you chose API, configure the following:

api:
  api-url: plot.yourdomain.com
  port: 8080
  api-key: ffffffff-ffff-ffff-ffff-ffffffffffff

Else configure the same database credentials as you did for the main Plot System plugin.

Clone this wiki locally