-
-
Notifications
You must be signed in to change notification settings - Fork 15
Installation
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
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!
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
On your Plot System server, you will first need to install the following dependencies by downloading and moving them into the plugins folder:
- Multiverse-Core (V4)
- FastAsyncWorldEdit
- World Guard
- HeadDatabase
- VoidGen
- LangLibs
- FancyNpc (V2.4.1)
- DecentHolograms
- LangUI - Recommended so you can switch languages via /language & plot-system companion button
- FreedomChat - Needed for the msg inputs
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'.
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.
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.
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
.
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.
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.
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.
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!
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.
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 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.
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.
You have to configure LangLibs, lthe same way as Plot-System.
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.
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.