Installation - CryptoMorin/KingdomsX GitHub Wiki

Installing the plugin is quite easy. It's the same as any other plugin. Simply just put the downloaded file inside your plugins folder. Your plugins folder should be in the same folder where your server JAR file and other files like eula.txt, ops.json, bukkit.yml, logs and etc are. If you don't see the folder or any of those files, run the server once and it should generate the files.

Note

If you put the plugin's file while the server is running, you need to restart the server for it to become enabled. Force enabling the plugin with PlugMan or any other plugin loader will cause issues.

System Requirements

While the plugin doesn't have any dependencies that you need to download manually, it does need internet connection for the first time you run the plugin. It also needs internet connection for additional optional content.

  • Java - 1.8 or above.
  • Minecraft Edition: This plugin is only compatible with Minecraft Java Edition the plugin will/can't make no attempt to support other editions that are linked by other softwares.
  • Server Version - The plugin is compatible with 1.9+ up to the latest version that is supported is on the Spigot page, but only for the latest server version of that minor update. For example, the plugin doesn't support 1.14, 1.14.1, 1.14.2 or 1.14.3. It only supports 1.14.4, which is the latest (patch) version of 1.14 minor version. You'll get all the plugin features only on the latest Minecraft version that the plugin supports.
  • Software - Your server must be a Spigot or Paper server. The plugin will not work on Bukkit, however it should work on Paper or any other Spigot forks. If it doesn't, it's a bug with that fork, not the plugin. Note that it might not function properly (or most likely not function at all) on Forge+Bukkit, Java+Bedrock server softwares or any other kind of software that adds cross-platform support like these (specially Magma, Mohist and GeyserMC which are extremely incompatible.)
  • Hardware: Kingdoms tend to sacrifice memory for performance, so you need at least 1GB for a medium-sized server (around ~100 players).
    The only resource-intense system that kingdoms has is turrets. The plugin tries its best to make turrets as fast as possible, however due to the single-threaded nature of Minecraft Java edition, it has its own limitations for old/low-budget CPUs.
    Note: These numbers are just estimates and they're given regardless of your server version and other plugins.
  • Clients: The plugin is supposed to work with all modded clients, but if for some reason, somehow, the plugin didn't work on modded clients, but it did work on the official non-modded client, you'll have to report this issue to the client devs.
  • Internet Connection:

Setup

Kingdoms default settings are designed in a way that most owners would prefer. All the needed permissions are given by default that you can remove as well.
The plugin is pretty much just Plug and Play for the latest Minecraft version. It might need a few tweaks for older versions as not all features are available in older versions. Not doing so can even result in errors.
Each config option is explained in its file, join the discord server if you have any questions.

Note that Kingdoms does not have any dependencies. All core features of the plugin are included in the main JAR. It does support a few other plugins, but these are merely for compatibility and don't directly make any new features available for Kingdoms plugin itself.
The plugin, however, has a few official addons which add extra features to it. Refer to the Addons page for more info.

It is important to disable certain features that you want to disable before publishing your server since disabling them after the plugin started to save players data can cause errors or even data corruptions.
One example is that you can't disable a structure/turret type (or more technically referred to as a "style") since they're already placed and removing them doesn't remove the block or hologram from the world and the plugin will start yelling at you because it doesn't know how to handle them.

Libraries

The files in the plugin's libs folder, some of these libraries are required for the plugin to function and others are optional. To avoid Spigot's file upload limit, they're not included with the plugin. Also, it helps by not downloading useless content that are not required by certain configurations

You can delete the files, but if you're going to do that, delete all of them. The plugin will download them all back again.

You can move these files when you're moving kingdoms folder, they'll continue to work correctly.

Reloading

Caution

NEVER use /reload command or PlugMan with KingdomsX installed.

For 90% of the changes in the configs, you do not need to do anything. Yes, you heard that right. The plugin will automatically reload the specific file that you made changes too.
However some complicated changes might need a plugin reload (/k reload) or even a server restart.
Almost 99% of the features can be reloaded properly using /k reload command.
Please note that the automatic reload performance is much better than the command as the command reloads everything. There is no reason to use the command unless the changes aren't applied.
These automatic reloads can take up to 5 seconds until it detects the changes.
If an option requires a restart to change, it's commented above them.

Important

For the reasons above, kingdoms will disable /reload and any PlugMan command that tries to interfere with kingdoms plugin permanently and you cannot disable this restriction.

Note

Note that automatic updates are generally unreliable on Linux machines due to how Java implemented it. I cannot fix this, but you can disable this feature in the config if you're experiencing abnormal behaviors, but it should work properly on Windows. On Linux its behavior can range from double reloads, no reloads or even infinite reloads.
Also, this behavior is affected by your text editor, whether you're on Windows or Linux. For example, Vim and Sublime are known to cause duplicate, saves, but the plugin tries to ignore these duplicates.

Updating

If you're upgrading Minecraft versions, that's totally fine, however you can't downgrade Minecraft versions, it'll corrupt your world. Updating plugin versions should be fine as well. If anything breaks, you can still use the backups provided.
New language options will be added automatically to your language file, for other configs, you can also use the auto config updater feature or you update your config manually by checking the version history of configs or you could also use a file difference checker tool such as diffchecker to compare your config to the latest version. There are plans to automate this process.

Updating isn't always easy if you changed a lot of settings in your configs. It can be as simple as just swapping the JAR files or an annoying nightmare. One of this plugin's main principles is that it doesn't sacrifice performance and improvements (even very simple ones that can have breaking changes) for the backwards compatibility of configs. Even with the auto config update system, the format of some options might change and there's no way for the auto config updater to "update" these settings because it might override your own preferences.
However, the second main principle of this plugin is to never have breaking changes that requires data resets, unless you're using a BETA version.
These breaking config changes don't happen often. They happen mostly after major updates after feature cycles.

If you're updating to an unstable version, you should read stability section for more information before updating.

Uninstallation

Kingdoms plugin can't be removed from your server safely if structures or turrets are used. The turret and structure blocks and items will stay in the world and in players' inventories.
So if you're planning to remove Kingdoms, be prepared to reset your world and player inventories.


Compatibility

Caution

The plugin is not compatible with ANY mods at all.

Only compatible with the latest version of the plugins mentioned below (except WorldGuard that supports v6 and v7+):

  • WorldGuard: Disallows claiming in regions by default. Supports 16*255*16 chunk cuboid check, meaning that even if the region overlaps with just a single block in a chunk, that chunk cannot be claimed. It's also used for other minor stuff such as land indicators in a WorldGuard region and used for Outpost regions. Doesn't disable /k fly if the player enters a region that allows flight using WorldGuard Extra Flags. Supports both WorldGuard v6 and v7.
    • kingdoms-claimable Whether anyone can claim in a region (defaults to deny).
    • kingdoms-friendly-fire Whether PvP is enabled between everyone, despite their relationship (defaults to deny).
    • kingdoms-damage-champion Whether players can damage the champion in a region (defaults to allow).
  • DiscordSRV: Sends private chat channels messages (such as kingdoms and allies chat) to a specific channel and sends global chat to another channel. Also used for announcements such as invasions.
  • Citizens: Stops turrets from shooting NPCs. No manual setup is necessary.
  • MyPet: Stops turrets from shooting friendly pets (ones who their owner's kingdom has turret ceasefire relationship attribute with the kingdom that the turret belongs to.)
  • MCPet: Same purpose as the pet plugin above.
  • Vault: For taxes and economy like Kingdoms and Nations bank. It's also used for some prices like claiming a land. Don't forget that you need to have an economy plugin (like Essentials) for this to work.
  • AuthMe: Checking for online kingdom members limit before invading. (The enemy members can join as one of the invaded kingdom members without logging in)
  • LuckPerms: Adds custom context for permissions.
    • territory: Permissions only apply when players are in a certain territory. It can either be wilderness or one of the relationship names (ally, enemy, truce, neutral and self)
    • hasKingdom: Permissions only apply if the player has a kingdom.
    • Note: Most people don't know this, but if you want to use Kingdoms placeholders or any placeholders, you could use the official ExtraContexts LuckPerms addon. A comprehensive example of how it can be used in advanced situations is found here for custom misc upgrades.
  • BlueMap - Dynmap - squaremap - Pl3xMap: Map markers and icons. Every kingdom can set their own flag and marker color from nexus settings. This exists as a separate addon which you can download.
  • MythicMobs v4 & v5: Used for kingdom champions, guards, and soldiers. Here's a FAQ how to do it.
  • PlaceholderAPI & MVdWPlaceholderAPI: For plugin placeholders, they also support short, fancy and relational placeholders.
  • Slimefun: Prevents the plugin items such as Explosive Pickaxes from breaking turret and structure items. Due to how their system is designed, not all kingdoms options are compatible with them.
  • ProjectKorra: This is meant to be and was originally something that ProjectKorra devs had to add, but they couldn't maintain the plugin due to "constant changes to the API", so I accepted to make a built-in support. It prevents players from using bendings in unfriendly lands.

Plugins that support Kingdoms

  • BetterRTP | Random Teleport: Prevents people from getting teleported in middle of another kingdom.
  • FactionsTop: Provides different ways to represent top kingdoms.
  • SubSide's KoTH or Benzimmer's KoTH: Kingdoms already has a built-in KoTH system called Outposts and is quite advanced, but if you for some reasons want this plugin, they're also compatible.
  • EcoEnchants: Prevents enchantments that can destroy blocks from destroying kingdom related blocks when used by an enemy player.
  • DeadlyDisasters: A plugin that simulates realistic disasters, specially if you live in London, but kingdom lands are an exception to these disasters because the government taxes the inhabitants, including the animals.
  • Plan: A multi-platform player analytics plugin which tracks resource point donations, power, the amount of players who have kingdoms/nations/flags, etc.
  • ComplexTurrets | LaserTurrets: Kingdoms already has a quite advanced built-in turret system, but if you still prefer this plugin, it prevents players from placing/breaking turrets in other kingdoms' lands.
  • JetMinions: A way for players to place minions that perform different tasks, such as mining ores. These resources can be automatically put into a linked chest nearby. It prevents players from placing these minions in unfriendly lands.
  • CombatLogX: Prevents friendly-fire based on relation attributes.
  • DeluxeCombat: Prevents friendly-fire based on relation attributes.
  • ApiaEnvoy: Scheduled envoys, and flare envoys with cosmetics (fireworks, holograms, etc). I'm not sure what it has to do with Kingdoms tho. Probably prevents deploying envoy flares on claimed lands?
  • SurvivalTop: A wealth calculation plugin which considers player, lands and kingdom information.
  • SlimeGlue: SlimeGlue is a Slimefun addon which target to improve the compatibility with other plugins. This was the old compatibility addon, newer versions of Kingdoms already have built-in Slimefun support.
  • BossShopPro: Adds support for purchasing items with resource points.
  • Dungeons: Doesn't generate dungeons in kingdom claims.
  • NotBounties: Prevents claiming bounties placed on kingdom/nation members or allied kingdom/nation members.

Important

Certain world management plugins load worlds in an inconsistent order. If the worlds are somehow loaded after the plugin loads, the plugin can't do anything about that and it'll start throwing errors. I cannot do anything about this, and you'd have to contact your world management plugin authors.

I'm not responsible for any kind of bugs caused by incompatibility with other plugins. I might fix some of them.

Stability

Some parts of this section applies to all kingdom versions, but most of them apply to beta versions only.

When kingdoms releases a beta version it means that the plugin is in an unstable state. They should not be used in production servers. They can contain small to severe bugs such as exploits, dupes or even data losses.

However, there's one major drawback to using Kingdom's stable version. You might not receive support for specific errors since kingdom's internal structure usually goes through a major change during its beta stages and I won't be able to pinpoint certain issues due to their outdated errors/bugs. It's possible that some bugs that you've reported have already been fixed in the latest version. I cannot maintain two separate stable and unstable versions of the plugin because I'm simply not a company, I cannot do something that needs too much time and resources like this, therefore I prefer to focus on the latest version rather than stable versions.

Caution

If you decided to use a beta version, you should do so in a test server, in a server where you're okay with resetting things. If not, make sure to always take backups during beta stage yourself. Although the plugin already takes backups, you should take backup of other things in the server, such as your world since Kingdoms affects that. If you're using this in a production server, you should check bug reports regularly to see if there are any exploits.

I do my best to test new changes during beta stages, but I cannot test every possible situation. This is simply not possible for a single human being to do this. Kingdoms relies on server owners who are willing to take the risk of testing beta versions. That means if no one uses the new versions = no bugs reported = the plugin will remain unstable, but this situation never happened until now.

About new features, please refer to feature cycles section.

Again anything can happen when you're using beta versions, so be careful. I'll do my best to help.

⚠️ **GitHub.com Fallback** ⚠️