Minecraft Server Admin Guide
Welcome to this guide! This book aims to provide a full guide into setting up and maintaining a Minecraft Java edition server!
Hopefully this can help make setting up your server a little bit easier. Feel free to share this with your staff members as a guide on how to use plugins!
What does this book aim to do?
With this book I aim to provide full documentation for setting up and using as many of the popular plugins as possible.
Not only do I explain how to set everything up, but also all the commands you need to know to use all of the features of the plugins.
Format of this book
Each top-level (root) chapter is dedicated to a certain plugin or concept. All pages of this chapter will fully document everything you need to know about that concept.
Plugin chapters
Chapters which are dedicated to a certain plugin usually have at least these pages:
- Installation
- Good starting permissions
- Plugin configuration
- Pages for command usage
Server software
There are a lot of different Minecraft server softwares. The two I'd recommend are:
Purpur, based on Paper - compatible with allBukkitplugins and very well optimised.Fabric, for fully vanilla behaviour and loading Fabric mods, but Fabric is not as well optimised.
This guide mainly focuses on Purpur. Almost all information in this guide will
also be compatible with regular Paper and likely Bukkit/Spigot - perhaps with
the exception of certain optimisation guides.
Installing plugins
In this guide, I mostly document the manual way of installing plugins: uploading
the plugins .jar file to your server's plugins folder.
If you're using a hosting provider, your game panel should provide a way to
easily install plugins. Instead of directly adding the jar file to your
server, you are welcome to install the plugin through a Plugins tab if you
would rather.
Plugin repositories
The two places I'd recommend installing plugins from are:
- Modrinth - for most plugins
- Paper Hangar - for paper-specific plugins
You can also find plugins at SpigotMC, however try to find the plugin on Modrinth or Hangar first.
Good starting permissions
One page you will notice comes up in almost every plugin chapter is the
Good starting permissions page.
Every plugin defines permissions that determine who can access which commands. Using a plugin called LuckPerms, we can give different groups of people access to different commands. See the LuckPerms chapter for help on adding permissions to groups, users, etc.
For each plugin you install, if you want to restrict or give access to its
commands, you need to set up the permissions for it. Each chapter has a page
which outlines some good permissions you should give to three groups: default,
moderator and admin.
Default permissions
Default permissions are those permissions that are given to every player on your server.
Any permissions under this section should be given to your default group. You
should run this command for every PERMISSION in the list:
/lp group default permission set PERMISSION
Moderator permissions
Moderator permissions are those permissions given to your mods: moderators
usually teleport around the server in spectator, catching cheaters and rolling
back any griefing that occurs.
They do not deal with plugin issues or any other server-side issue; that's
reserved for admins.
Any permissions under this section should be given to your moderator group.
You should run this command for every PERMISSION in the list:
/lp group moderator permission set PERMISSION
Admin permissions
Admin permissions are those permissions given to your admins: admins generally
do what mods do, and so your admin group should inherit from your moderator
group.
Admins do more than that, though: they also deal with configuring plugins,
server configuration and anything else regarding the server itself. So admins
need more permissions than moderators.
Any permissions under this section should be given to your admin group.
You should run this command for every PERMISSION in the list:
/lp group admin permission set PERMISSION
Topics
This book is under heavy development and so many things will be added in the future.
Current plugins documented:
- LuckPerms
- ViaVersion
- Geyser
- Floodgate
- DiscordSRV
- CoreProtect
- Grim - sparsely documented
- Vanish
- Simple Voice Chat
- Chunky
Plugin documentation currently being written:
Other guides:
Other guides being written:
LuckPerms
LuckPerms allows you to create groups for players and give them certain permissions.
Why is this useful compared to just using /op? Opped players have every
permission, and you might not want to give all players full access to every
command.
What can you do with LuckPerms?
LuckPerms allows you give certain groups of people specific permissions. For
example, you could have a Moderator role who could switch gamemodes, teleport
to other players and ban people, but would not have full OP.
LuckPerms installation
You can install LuckPerms like any other plugin: download the plugin jar and
place it into your server's plugins folder.
Setup
Once installed, you shouldn't need to change anything about LuckPerm's config unless you need a custom use case, for example, connecting to a custom database.
LuckPerms is fully configured using the /lp command and the web editor.
LuckPerms groups
A luckperm 'group' is essentially like a rank. Players can be in multiple groups at once, and they will gain permissions from all groups they are in.
Groups can also inherit (extend) from other groups. For example, you could
have an Admin group which inherits from the Moderator group, meaning admins
would have all the permissions moderators had, plus any extra that only admins
have.
What can groups do?
- Give players permissions to use certain commands
- Give players prefixes and suffixes
Managing server groups
Creating a group
You can create a group using this command:
/lp creategroup <groupName>
Deleting a group
To delete a group, use:
/lp deletegroup <group>
List all groups
/lp listgroups
Adding a player to a group
/lp user <player> parent add <group>
Note that we use parent add here instead of parent set: that's because you
usually want to keep somebody's existing groups, but just add another. If you
want to delete all groups from a player and just have the new one, use parent set instead.
Group inheritance
If you want one group to take all permissions from another (and then possibly add some) run this command:
/lp group <group> parent set <parentGroup>
For example, to make the admin group inherit from the moderator group:
/lp group admin parent set moderator
You should always inherit from at least one group (which itself will inherit from the
defaultgroup). If a group doesn't have a logical parent, you should instead make it inherit from thedefaultgroup.
Setting group weight
Each group has a weight. When LuckPerms decides what permission it has, it will prioritise the permissions of higher-weighted groups.
For example, if the moderator group specifically prevents access to the
/tp command but the admin group allows it, if admin has a higher weight,
then players with admin will have that permission, as admin takes priority
over moderator.
You can set a group's weight like this:
/lp group <group> setweight <weight>
... where <weight> is a number.
LuckPerms player permissions
You can set permissions for either a group or an individual player.
Permissions determine which commands a player has access to. There are generally separate permissions for each command, giving you a lot of control over what commands they can access.
Note: it's usually better to add permissions to groups rather than players, but if you only want to give a permission to a single person, you can just use player permissions.
Adding a permission to a player
To add a permission from a player, use this command:
/lp user <player> permission set <permission> true
Luckperms will infer you want to set the permission to true, so you don't have
to type the true:
/lp user <player> permission set <permission>
Using our example above, we can give the teleport permission to user
Minecraft123 like this:
/lp user Minecraft123 permission set minecraft.command.teleport
Removing a permission from a player
To remove a permission from a player, use this command:
/lp user <player> permission unset <permission>
Using our example above, we can remove the teleport permission from
Minecraft123 like this:
/lp user Minecraft123 permission unset minecraft.command.teleport
Explicit false player permissions
Some commands are available to everyone by default, even if they are not an operator.
For example, the /plugins command is available to everyone by default on
Bukkit servers, but you might not want this.
To explicitly block a command, use:
/lp user <player> permission set <permission> false
For example, to block Minecraft123 from using /plugins, you can use:
/lp user Minecraft123 permission set minecraft.command.plugins false
Querying player permissions
If you want to know what permissions a player has, use this command:
/lp user <player> info
For example, to check all of Minecraft123's permissions, type:
/lp user Minecraft123 info
Adding temporary permissions
You can set a permission for a player, but only for a certain amount of time, using this syntax:
/lp user <player> permission settemp <permission> <true/false> <duration>
For example, to give Minecraft123 permission to use the /ban command but
only for two days:
/lp user Minecraft123 permission settemp minecraft.command.ban true 2d
Or, to prevent them from using the /tell command for 5 minutes:
/lp user Minecraft123 permission settemp minecraft.command.tell false 5m
Removing permissions temporarily
You can temporarily remove a permission for a player (for only a certain amount of time) using this syntax:
/lp user <player> permission unsettemp <permission> <duration>
For example, to remove Minecraft123's permission to use the /ban command but
only for two hours:
/lp user Minecraft123 permission unsettemp minecraft.command.ban 2h
LuckPerms group permissions
You can set permissions for either a group or an individual player.
Permissions determine which commands a player has access to. There are generally separate permissions for each command, giving you a lot of control over what commands they can access.
Note: it's usually better to add permissions to groups rather than players, but if you only want to give a permission to a single person, you can just use player permissions
Note: to set a permission for all players, you should set permissions for the
defaultgroup.
Giving a permission to a group
To give a permission to a group, use this command:
/lp group <group> permission set <permission> true
You don't actually need to add the true at the end, so this would also be
fine:
/lp group <group> permission set <permission>
For example, we could give permission to the /tp command to a group called
Moderator like this:
/lp group Moderator permission set minecraft.command.teleport true
Removing a permission from a group
To remove a permission from a group, use this command:
/lp group <group> permission unset <permission>
Using our example above, we can remove the teleport permission from
Moderator like this:
/lp group Moderator permission unset minecraft.command.teleport
Explicit false permissions
Some commands are available to everyone by default, even if they are not an operator.
For example, the /plugins command is available to everyone by default on
Bukkit servers, but you might not want this.
To explicitly block a command, use:
/lp group <group> permission set <permission> false
For example, to block Moderator from using /plugins, you can use:
/lp group Moderator permission set minecraft.command.plugins false
Getting information about permissions
If you want to know what permissions a group has, use this command:
/lp group <group> info
For example, to check all of Moderator's permissions, type:
/lp group Moderator info
Setting permissions temporarily
You can set a permission for a group, but only for a certain amount of time, using this syntax:
/lp group <group> permission settemp <permission> <true/false> <duration>
For example, to give Moderator permission to use the /ban command but
only for two days:
/lp group Moderator permission settemp minecraft.command.ban true 2d
Or, to prevent them from using the /tell command for 5 minutes:
/lp group Moderator permission settemp minecraft.command.tell false 5m
Unsetting permissions temporarily
You can temporarily remove a permission for a group (for only a certain amount of time) using this syntax:
/lp group <group> permission unsettemp <permission> <duration>
For example, to remove Moderators' permission to use the /ban command but
only for two hours:
/lp group Moderator permission unsettemp minecraft.command.ban 2h
Adding a permission to a group
To add a permission from a group, use this command:
/lp group <group> permission set <permission> true
Luckperms will infer you want to set the permission to true, so you don't have
to type the true:
/lp group <group> permission set <permission>
Using our example above, we can give the teleport permission to group
moderator like this:
/lp group moderator permission set minecraft.command.teleport
Removing a permission from a group
To remove a permission from a group, use this command:
/lp group <group> permission unset <permission>
Using our example above, we can remove the teleport permission from
Moderator like this:
/lp group Moderator permission unset minecraft.command.teleport
Explicit false group permissions
Some commands are available to everyone by default, even if they are not an operator.
For example, the /plugins command is available to everyone by default on
Bukkit servers, but you might not want this.
To explicitly block a command, use:
/lp group <group> permission set <permission> false
For example, to block Moderator from using /plugins, you can use:
/lp group Moderator permission set minecraft.command.plugins false
Querying group permissions
If you want to know what permissions a group has, use this command:
/lp group <group> info
For example, to check all of Moderator's permissions, type:
/lp group Moderator info
Adding temporary permissions
You can set a permission for a group, but only for a certain amount of time, using this syntax:
/lp group <group> permission settemp <permission> <true/false> <duration>
For example, to give Moderator permission to use the /ban command but
only for two days:
/lp group Moderator permission settemp minecraft.command.ban true 2d
Or, to prevent them from using the /tell command for 5 minutes:
/lp group Moderator permission settemp minecraft.command.tell false 5m
Removing permissions temporarily
You can temporarily remove a permission for a group (for only a certain amount of time) using this syntax:
/lp group <group> permission unsettemp <permission> <duration>
For example, to remove Moderator's permission to use the /ban command but
only for two hours:
/lp group Moderator permission unsettemp minecraft.command.ban 2h
User prefixes
LuckPerms allows you to manage prefixes and suffixes for users. You can also set prefixes for all users in a group - see the page for group prefixes and suffixes.
Note: you will need a plugin such as TAB in order to display prefixes in chat and tablist.
Prefix priority
- Each prefix and suffix has a weight, or priority - players and groups can have multiple prefixes and suffixes, and LuckPerms will use whatever prefix and suffix has the highest weight!
Setting a prefix for a user
/lp user <player> meta setprefix <weight> <prefix>
For example, to give the user Minecraft123 the [Builder] prefix with a
weight of 40, you would use:
/lp user Minecraft123 meta setprefix 40 "[Builder] "
The space after [Builder] is important here, as otherwise there would be no
gap between the prefix and the main name.
Removing a prefix from a player
To remove a prefix, you remove the prefixes at a specific weight:
/lp user <player> meta removeprefix <weight>
For example, to remove prefixes from Minecraft123 with a weight (priority) of
40:
/lp user Minecraft123 meta removeprefix 40
Setting a prefix temporarily
Just like how you can temporarily add a user to a group, you can also set a temporary prefix:
/lp user <player> meta settempprefix <weight> <prefix> <duration>
For example, to temporarily set the [Helper] prefix for the Minecraft123
player at priority 60 for 3 days:
/lp user Minecraft123 meta settempprefix 60 "[Helper] " 3d
User suffixes
LuckPerms allows you to manage suffixes for users. You can also set suffixes for all users in a group - see the page for group suffixes.
Note: you will need a plugin such as TAB in order to display suffixes in chat and tablist.
Suffix priority
- Each suffix has a weight, or priority - players and groups can have multiple suffixes, and LuckPerms will use whatever suffix has the highest weight!
Setting a suffix for a user
/lp user <player> meta setsuffix <weight> <suffix>
For example, to give the user Minecraft123 the [Builder] suffix with a
weight of 40, you would use:
/lp user Minecraft123 meta setsuffix 40 " [Builder]"
The space before [Builder] is important here, as otherwise there would be no
gap between the username and the suffix.
Removing a suffix from a player
To remove a suffix, you remove the suffixes at a specific weight:
/lp user <player> meta removesuffix <weight>
For example, to remove suffixes from Minecraft123 with a weight (priority) of
40:
/lp user Minecraft123 meta removesuffix 40
Setting a suffix temporarily
Just like how you can temporarily add a user to a group, you can also set a temporary suffix:
/lp user <player> meta settempsuffix <weight> <suffix> <duration>
For example, to temporarily set the [Helper] suffix for the Minecraft123
player at priority 60 for 3 days:
/lp user Minecraft123 meta settempsuffix 60 "[Helper] " 3d
Group prefixes
LuckPerms allows you to manage prefixes and suffixes for groups. You can also set prefixes for specific players - see this page for more info: player prefixes.
Note: you will need a plugin such as TAB in order to display prefixes in chat and tablist.
Prefix priority
- Each prefix and suffix has a weight, or priority - groups and groups can have multiple prefixes and suffixes, and LuckPerms will use whatever prefix and suffix has the highest weight!
Setting a prefix for a group
/lp group <group> meta setprefix <weight> <prefix>
For example, to give the group Moderator the [Mod] prefix with a
weight of 40, you would use:
/lp group Moderator meta setprefix 40 "[Mod] "
The space after [Mod] is important here, as otherwise there would be no
gap between the prefix and the main name.
Removing a prefix from a group
To remove a prefix, you remove the prefixes at a specific weight:
/lp group <group> meta removeprefix <weight>
For example, to remove prefixes from Moderator with a weight (priority) of
40:
/lp group Moderator meta removeprefix 40
Setting a prefix temporarily
Just like how you can temporarily add a group to a group, you can also set a temporary prefix:
/lp group <group> meta settempprefix <weight> <prefix> <duration>
For example, to temporarily set the [Moderator] prefix for the Moderator
group at priority 60 for 3 days:
/lp group Moderator meta settempprefix 60 "[Moderator] " 3d
Group suffixes
LuckPerms allows you to manage prefixes and suffixes for groups. You can also set suffixes for specific players - see this page for more info: player suffixes.
Note: you will need a plugin such as TAB in order to display suffixes in chat and tablist.
Suffix priority
- Each suffix and suffix has a weight, or priority - players and groups can have multiple suffixes and suffixes, and LuckPerms will use whatever suffix and suffix has the highest weight!
Setting a suffix for a group
/lp group <group> meta setsuffix <weight> <suffix>
For example, to give the group Moderator the [Mod] suffix with a
weight of 40, you would use:
/lp group Moderator meta setsuffix 40 " [Mod]"
The space after [Mod] is important here, as otherwise there would be no
gap between the suffix and the main name.
Removing a suffix from a group
To remove a suffix, you remove the suffixes at a specific weight:
/lp group <group> meta removesuffix <weight>
For example, to remove suffixes from Moderator with a weight (priority) of
40:
/lp group Moderator meta removesuffix 40
Setting a suffix temporarily
Just like how you can temporarily add a group to a group, you can also set a temporary suffix:
/lp group <group> meta settempsuffix <weight> <suffix> <duration>
For example, to temporarily set the [Moderator] suffix for the Moderator
group at priority 60 for 3 days:
/lp group Moderator meta settempsuffix 60 " [Moderator]" 3d
Good starting permissions
You can manage who can use luckperms, using luckperms! Basically, that means you can use luckperms to give certain groups access to use certain luckperms commands.
This page will, in the future, contain a list of good defaults for permissions to set in order to help manage who can use luckperms.
If you don't set any luckperms permissions for groups, only players with op
can use LuckPerms.
ViaVersion
ViaVersion allows players who aren't playing on the same version your server is on to still connect to your server.
For example, if your player is on version 1.21.8 but your server still runs 1.21.6, ViaVersion translates the packets which allows the player to join the server, even though they're on the wrong version.
ViaVersion installation
Installing ViaVersion should be as simple as downloading the plugin or mod's
.jar file and uploading it to your server's plugins folder.
Bukkit/Paper servers
For Bukkit/Paper servers, you can install ViaVersion, which is a plugin.
For server hosts with a plugins tab, you should be able to find ViaVersion
there.
ViaFabric (for Fabric servers)
If your server isn't running PaperMC or another Bukkit-based server software,
but is instead using Fabric, you can install the ViaFabric mod.
ViaFabric and ViaFabricPlus both support clients, allowing players to
connect to servers on any version they want, but ViaFabric also supports
servers. When on a server, ViaFabric works very similarly to how ViaVersion
works, just for Fabric servers.
Important: as far as I'm aware, ViaFabricPlus does not work on servers. Use
regular ViaFabric instead.
Setup
After installing ViaVersion, you shouldn't need to do anything. Newer clients will be able to connect to your server with no configuration needed.
ViaVersion add-ons
If you also want to allow clients older than the server itself, you can install the ViaBackwards mod. Install it just like you installed ViaVersion or ViaFabric.
There are also ViaRewind (for very old versions pre-1.8.9) and
ViaAprilFools (which supports clients from april fools versions). You probably
don't need to install them, but they're listed below in case.
https://modrinth.com/plugin/viabackwards
https://modrinth.com/plugin/viarewind
https://modrinth.com/plugin/viaaprilfools
It's important to note that these versions may depend on ViaVersion or ViaFabric being installed, so if you need any of the extensions, install the main ViaVersion too.
ViaBackwards,ViaRewindandViaAprilFoolssupport both ViaVersion and ViaFabric. If you're using ViaVersion (plugin-based server like Paper) put the addons in your server'spluginsfolder. If you're using Fabric, you can put the addons in yourmodsfolder.
GeyserMC
GeyserMC is a plugin that allows bedrock players to join your Java server. It works by translating bedrock packets into Java packets, allowing for cross-play between the two versions.
It's especially useful with the Floodgate plugin, as that way, bedrock players
can join without a Java account.
Geyser ports setup
GeyserMC must use a different port to your default Java edition port.
If you're using a shared hosting provider:
- Find the tab for managing port allocations
- Create a new port allocation
- Note down the port number
If you're self-hosting:
- Go into your router's admin panel
- Find the option for port forwarding
- Open a port up for LAN and WAN port for the
UDPprotocol - Note down the port number you chose
Note: the default bedrock port is
19132. You should always choose that port number if possible, otherwise bedrock players will have to manually type in the port.
Installing the Geyser plugin
First, add the jar file to your plugins directory. You can find GeyserMC at
https://modrinth.com/plugin/geyser.
This should be enough if you already have bedrock's default port (19132) forwarded or allocated, and you don't want to use floodgate. If you want to use a different port number (for example, on shared hosting) please read on.
Geyser configuration
Restart your server and Geyser should generate its config.yml file in the
plugins/Geyser-Spigot folder.
Search for the port field and set that to whichever port number you allocated
and noted down earlier.
Importantly, if you are using Floodgate, you must set these config options in that file:
address: auto
auth-type: floodgate
You can also set the MOTD and server name to change how your server appears in the bedrock server listings.
Connecting to Geyser servers
Once the plugin is installed, bedrock players should be able to connect using the IP and bedrock port - your players don't need to do anything else!
For connecting on consoles, you need to see this guide for how to join custom servers on console:
Java features
Java edition has some features that bedrock edition lacks. These include (but are not limited to):
GeyserMC provides the above features to bedrock clients using commands. Bedrock players can run a command to get similar functionality to that on Java edition.
See the pages specific to each command for more details.
Offhand for any item
In Java edition, you can put any item in your offhand, while in bedrock, only some items such as shields can be placed in the offhand.
Geyser allows bedrock players to place any item in their offhand, by using the
/geyser offhand command.
Command usage
This command will swap the item in your offhand with the item in your main hand, if you are a bedrock player:
/geyser offhand
Tooltips for items
In Java edition, you can see extra information about an item, such as its NBT
tags, durability, etc. by pressing F3 + H then hovering over the item in an
inventory. Bedrock does not have this.
Geyser allows bedrock players to view these advanced tooltips by using the
/geyser offhand command.
Command usage
This command will show advanced tooltips about items, if you are a bedrock player:
/geyser tooltips
Advancements
Bedrock doesn't have advancements, at least, not Java-style advancements.
Bedrock players can still view their advancements using the
/geyser advancements command.
Command usage
Show your advancements (as a bedrock user):
/geyser advancements
World statistics
In Java edition, you can view statistics about your time on a server, such as how many of a certain type of block you have mined, or how long you have played the server.
Geyser brings this missing functionality to bedrock with the
/geyser statistics command.
Command usage
Running this command on bedrock will bring up a Java-style statistics menu:
/geyser statistics
Good starting permissions
Default permissions
- geyser.command.offhand
- geyser.command.tooltips
- geyser.command.advancements
- geyser.command.statistics
- geyser.command.help
- geyser.command.list
Moderator permissions
There aren't any extra Geyser permissions moderators need that aren't already included in the default group.
Admin permissions
- geyser.command.dump
- geyser.command.settings
- geyser.command.shutdown
- geyser.command.reload
- geyser.command.version
- geyser.command.extensions
Floodgate
Floodgate is an extention for GeyserMC, meaning you need Geyser installed as a plugin. Please see the previous chapter or the Floodgate config config options needed for Geyser to support Floodgate.
Floodgate allows servers in online-mode to connect to your server, without needing a Java account. If you use Geyser, you should probably install this too.
Floodgate installation
Installing Floodgate is as simple as downloading the jar file and adding it to
your plugins folder.
Floodgate config
As mentioned in the GeyserMC chapter, you need to set a few
settings in Geyser's config.yml:
address: auto
auth-type: floodgate
Floodgate is mostly configured through GeyserMC, so check the configure options for Geyser for more information.
Connecting to a Floodgate server
Floodgate should work out-of-the-box after you've installed it.
Bedrock players should be able to connect with just the IP and bedrock port - they don't need to set up any custom proxy on their end.
Whitelisting bedrock players
There are two options for whitelisting bedrock players:
- Turn off the whitelist, allow them to join, add the user to the whitelist and then turn back on the whitelist
- Use the
/fwhitelist(floodgate whitelist) command.
/fwhitelist add
You can add players to the whitelist using the /fwhitelist add command. For
example:
/fwhitelist add Bedrock123
Note above that we do not add the dot before the user's name, like you would if using the default
/whitelistcommand.
Running that will allow the Bedrock123 user to join, if they have a Microsoft
account linked to their Minecraft profile.
Important note: the
/fwhitelistcommand requires a player to have joined a Geyser server before. If they have never connected to any Geyser server, this command will fail and you will need to first temporarily disable the whitelist to allow them to join.
/fwhitelist remove
Similar to the default /whitelist command, you can remove players from the
whitelist. For example:
/fwhitelist remove Bedrock123
Note again that we do not add the dot before the user's name, like you would if using the default
/whitelistcommand.
Linking to a Java account
Good starting permissions
Default permissions
- floodgate.command.linkaccount
- floodgate.command.unlinkaccount
Moderator permissions
- floodgate.command.fwhitelist
Admin permissions
Admins don't need any extra permissions that the moderator and default
group above don't provide.
DiscordSRV
DiscordSRV allows you to read and type in in-game-chat through your Discord server.
You can create a new text channel, and that channel will act as a 'tunnel' to your Minecraft chat!
DiscordSRV plugin installation
Install the plugin like you do with any other plugin, by adding the jar file to
your plugins folder.
DiscordSRV create bot
- Log into your account on the Discord developer portal.
- Click
New Application. - Choose a name for your chat bot and create the bot.
- Go to the
Bottab. - Disable the
Public Botsetting. - Enable the
Server Members IntentandMessage Content Intent. - Click
Reset Token. - Click
Copyto copy your bot's private token. Don't share this anywhere except in yourconfig.ymlfile.
Configuring the plugin
Edit the plugins/DiscordSRV/config.yml file.
BotToken
Find the BotToken field in the config file and set it to equal the bot token
you just copied. You shouldn't share this, and the only place you should paste
it is in your config.yml file.
Channels
- Create a channel on your discord server for your in-game chat.
- Right click the channel and click 'Copy Channel ID'.
- Find the
Channelsfield and replace the0s with the channel ID you copied.
Adding the DiscordSRV bot
Once you've set up the plugin, you can add the bot to your discord server.
- Go to the
General Informationpage on the discord developer portal page for your application. - Copy the
Application ID - Go to https://scarsz.me/authorize and paste in the application ID using
Ctrl + V. - Follow the instructions to add the bot to your server.
Using the plugin
Try typing in your Minecraft chat. You should see the message in your Discord server! You should also be able to talk to Minecraft players through Discord, just by typing in the channel you created.
Good starting permissions
Default permissions
- discordsrv.discord
- discordsrv.chat
- discordsrv.help
- discordsrv.link
- discordsrv.unlink
- discordsrv.linked
- discordsrv.linked.others (if you want players to be able to see others' discord account names)
Moderator permissions
- discordsrv.link.others
- discordsrv.unlink.others
- discordsrv.linked.others
- discordsrv.bcast
Admin permissions
- discordsrv.updatenotification
- discordsrv.reload
- discordsrv.resync
- discordsrv.debug
- discordsrv.groupsyncwithcommands
- discordsrv.nicknamesync
CoreProtect
CoreProtect is a block logging plugin. This means it logs everything that happens in your world and allows you to roll it back.
For example, if a player griefed a base by stealing items from a player's chest, you can run a command to check who stole and roll everything back.
CoreProtect installation
To install CoreProtect, simply place the .jar file into your plugins
directory.
Building from source
CoreProtect hasn't updated in a while, but you can get an up-to-date version if you are comfortable with compiling the plugin yourself.
Please see https://gist.github.com/iamnotpayingforyourpatreon/20371ddfb318c49dda48fc537032d923 for help on building CoreProtect from scratch.
Setup
Unless you wish to use a custom database, you don't need to make any changes to the Coreprotect config to get it up and running. The default configuration works out-of-the-box.
CoreProtect alternatives
If you're using Fabric, CoreProtect isn't available. The best alternative is
Ledger. Ledger isn't covered in this guide, but you should be able to figure
out the commands. Installation is as simple as adding the mod's .jar file to
your mods folder. You can find the .jar at https://modrinth.com/plugin/ledger
If you are using a Bukkit-based server software like Paper but don't want to use CoreProtect, you can try https://modrinth.com/plugin/prism. Setup is a little more involved though, as you need to set up a custom database and link to it, so Prism isn't covered in this guide.
If you are using Sponge, Prism is the best option.
CoreProtect lookup
Lookups are a way of listing the actions that match the query, but not actually doing anything about it. In other words, just looking up what happened.
Command usage
/co lookup <query>
Example: action, radius and time
For a simple example, to lookup results matching the block action within a
5 block radius in the last 1 hour, use:
/co lookup action:block radius:5 time:1h
Example: item type, global radius, time and excluding a user
This example will return all logs created in the last 1 day which include an
elytra item and were not carried out by user Minecraft123.
/co lookup radius:#global include:elytra exclude:Minecraft123 time:1d
Query parameters
There are lots of different parameters you can use to narrow down your search.
You can find a full list on the query parameters page.
CoreProtect rollback
When running a rollback with coreprotect, it essentially runs a lookup and rolls back each event that lookup returns.
This means that when you run a rollback, you can be sure that it will roll back everything and only everything that is returned by the same query as a lookup (assuming you don't move and all query parameters stay the same).
Command usage
/co rollback <query>
Example: action, radius and time
For a simple example, to rollback results matching the block action within a
5 block radius in the last 1 hour, use:
/co rollback action:block radius:5 time:1h
Example: item type, global radius, time and excluding a user
This example will roll back all events in the last 1 day which include an
elytra item and were not carried out by user Minecraft123.
/co rollback radius:#global include:elytra exclude:Minecraft123 time:1d
Query parameters
There are lots of different parameters you can use to narrow down your search.
You can find a full list on the query parameters page.
CoreProtect undo
It's important to be able to undo a rollback if you mess up the command. Coreprotect makes this easy.
Command usage
It's very easy to undo a coreprotect action...
/co undo
... if you only want to undo the last action (the last rollback/restore).
If you want to undo a rollback from the past, you need to use the restore command. Restore essentially undoes the actions of a rollback.
CoreProtect restore
Restores are essentially the opposite of rollbacks.
Their function is to undo the actions of a rollback. For example, if you
accidentally rolled back somebody's base too far, it may delete parts you
didn't want it to. If /co undo won't do the job, you can rerun the same
command you used to roll it back but with rollback replaced with restore,
and if you stand in the same place, the rollback will be reverted.
Command usage
/co rollback <query>
Example: action, radius and time
For a simple example, we rolled back events matching the block action within a
5 block radius in the last 1 hour. This was a mistake, so we can restore
(undo the rollback) using:
/co restore action:block radius:5 time:1h
Example: item type, global radius, time and excluding a user
In this example, we accidentally rolled back all events in the last 1 day
which include an elytra item and were not carried out by user
Minecraft123. To undo this, you can run:
/co restore radius:#global include:elytra exclude:Minecraft123 time:1d
Query parameters
There are lots of different parameters you can use to narrow down your search.
You can find a full list on the query parameters page.
Query parameters
CoreProtect provides lots of parameters you can specify to help narrow down your search or rollback.
They act as filters: if an event doesn't match one of the filters, it will be removed from the results and won't show up in the lookup and won't be rolled back.
List of parameters
Flags
CoreProtect also allows you to specify extra information about what you want the command to do. You should add these flags at the end of your command.
CoreProtect flags start with a hastag (#).
See more: CoreProtect flags
Action parameter
Every event that coreprotect logs is a type of action. For example, a block action, or container action.
Syntax
You can query for a specific action type in any lookup, rollback or restore,
using either of the below parameters, where ACTION is the name of the action
type:
action:ACTION
a:ACTION
Types of actions
Block action
Block actions are called whenever any blocks are created or destroyed in the world.
CoreProtect logs block events from many sources: creeper and TNT explosions, worldedit commands, etc, not just from players.
Syntax
You can use the block action query in one of these two ways:
action:block
a:block
Example lookup
/co lookup action:block ...
Block place action
To overspecify the action type to only return results for block place events,
you can use the +block action:
/co lookup action:+block ...
This will only return results for block place events, and block break events will be ignored.
Block break action
To overspecify the action type to only return results for block break events,
you can use the -block action:
/co lookup action:-block ...
This will only return results for block break events, and block place events will be ignored.
Chat action
Chat actions are called whenever any message is sent in chat.
This action is generally only triggered by player events.
Syntax
You can use the chat action query in one of these two ways:
action:chat
a:chat
Example lookup
/co lookup action:chat ...
Rollbacks
Chat events can't be rolled back or restored, as they were already sent to clients.
Click action
Click actions are called whenever a player interacts with a block or other part of the world (through a mouse click).
There are hundreds of different causes of a click action, such as interacting with a crafting table, opening a chest or opening a door/trapdoor.
Syntax
You can use the click action query in one of these two ways:
action:click
a:click
Uses
I've personally found the click action very useful when looking up which
player clicked the trapdoor above another player's ender pearl stasis chamber.
There are probably far more uses than this. You can also see when players clicked buttons, flipped levers, etc.
Example lookup
/co lookup action:click ...
Example lookup: only oak trapdoors
/co lookup action:click include:oak_trapdoor ...
Command action
Command actions are called whenever a player executes a server command.
Syntax
You can use the command action query in one of these two ways:
action:command
a:command
Example lookup
/co lookup action:command ...
Example user-specific lookup
/co lookup action:command user:Minecraft123
Container action
Container actions are called whenever items enter or exit a container. This could be because a player transferred the items, or a hopper transferred them to another container.
Syntax
You can use the container action query in one of these two ways:
action:container
a:container
Example lookup
/co lookup action:container ...
Example: checking 5 block radius, last 7 days
/co lookup action:container radius:5 time:7d
Container item insert action
To overspecify the action type to only return results for when items were
added to a container, you can use the +container action:
/co lookup action:+container ...
This will only return results for item insert events, and item remove events will be ignored.
Container item remove action
To overspecify the action type to only return results for when items were
removed from a container, you can use the -container action:
/co lookup action:-container ...
This will only return results for item remove events, and item insert events will be ignored.
Inventory action
Inventory actions are called whenever any item leaves or enters a player's inventory.
Syntax
You can use the inventory action query in one of these two ways:
action:inventory
a:inventory
Example lookup
/co lookup action:inventory ...
Example: rolling back diamonds
/co rollback user:Minecraft123 action:inventory include:diamond time:90m
Inventory item insert action
To overspecify the action type to only return results for item add events,
you can use the +inventory action:
/co lookup action:+inventory ...
This will only return results for inventory item insert (gain) events, and item removal events will be ignored.
Inventory item remove action
To overspecify the action type to only return results for item remove events,
you can use the -inventory action:
/co lookup action:-inventory ...
This will only return results for inventory item removal (loss) events, and item insertion events will be ignored.
Item action
Item actions are called whenever any item is dropped or picked up by a player.
Syntax
You can use the item action query in one of these two ways:
action:item
a:item
Example lookup
/co lookup action:item ...
Item remove (pickup) action
To overspecify the action type to only return results for item pickup events,
you can use the +item action:
/co lookup action:+item...
This will only return results for item pickup events, and item drop events will be ignored.
Item remove (drop) action
To overspecify the action type to only return results for item drop events,
you can use the -item action:
/co lookup action:-item...
This will only return results for item drop events, and item pickup events will be ignored.
Kill action
Kill actions are called whenever a player or another mob kills an entity.
For example, if a zombie killed a villager, coreprotect would log that as:
- user: #zombie
- action: kill
- target: #villager
Syntax
You can use the kill action query in one of these two ways:
action:kill
a:kill
Example lookup
/co lookup action:kill ...
Example lookup for villager death
/co lookup action:kill include:villager ...
Example: roll back dogs dying
/co rollback action:kill include:wolf
Session action
Session actions are created when a player logs into the server or logs out of the server.
Syntax
You can use the session action query in one of these two ways:
action:session
a:session
Example lookup
/co lookup action:session ...
Log-in action
To overspecify the session action type to only return results for when a user
logged in to the server, you can use the +session action:
/co lookup action:+session ...
This will only return results for log-ins, and log-outs will be ignored.
Log-out action
To overspecify the session action type to only return results for when a user
logged out of the server, you can use the -session action:
/co lookup action:-session ...
This will only return results for log-outs, and log-ins will be ignored.
Sign action
Sign actions are used when a player edits the text on a sign.
Syntax
You can use the sign action query in one of these two ways:
action:sign
a:sign
Example lookup
/co lookup action:sign ...
Example: look up sign edits for specific player
/co lookup action:sign user:Minecraft123 time:7d ...
Username action
Username actions are triggered when a player changes their username.
Syntax
You can use the block action query in one of these two ways:
action:username
a:username
Example lookup
/co lookup action:username ...
User parameter
The user query filter parameter allows us to filter the events by the user
that performed them.
The user could be a player, but could also be another entity in the world, for example, TNT.
Syntax
You can query for only events by a specfic user in one of these ways:
user:USER
u:USER
Types of user
While user is often the username of a player, it can also be one of these
special user types:
...
Radius parameter
The radius filter allows us to get only the events within a certain radius of
the player, or another radius type.
Syntax
You can query for results only within a certain radius using one of the following:
radius:RADIUS
r:RADIUS
Types of radius
numerical radius: up to how many blocks away to check?#world: search the entire overworld dimension#world_nether: search the entire nether dimension#world_the_end: search the entire end dimension#worldeditor#we: search only within your worldedit selection
Example: lookup within 5 blocks of you
/co lookup radius:5
Example: lookup in overworld dimension
/co lookup radius:#world
Example: lookup in nether dimension
/co lookup radius:#world_nether
Example: lookup in end dimension
/co lookup radius:#world_the_end
Example: lookup within worldedit region
Note: to use the
#worldeditradius, you need to have first selected a region using the worldedit wand (wooden axe). You can get it by running//wand. Select the region by left clicking and then right clicking on each corner of the selection.
See the WorldEdit chapter for more help using WorldEdit.
/co lookup radius:#worldedit
Time parameter
The time parameter allows us to filter for only events that happened less than
a certain time ago, e.g. are more recent than 2 days ago.
This parameter is often required.
Syntax
You can specify the time parameter in one of two ways:
time:TIME
t:TIME
Time format
The time is specified using units, for example, 3d for 3 days. A full list
of the units coreprotect understands is shown below:
s- secondsm- minutesh- hoursd- daysw- weeks
Combining units
You can combine different units together. For example, to filter for events that happened less than 1 hour and 20 minutes ago:
time:1h20m
Decimals
You can use decimals in your time values. For example, to filter for events within 2 and a half days:
time:2.5d
Time ranges
If you want to get events that occured more recently than one time frame but longer ago than another time frame, you can use a time range.
For example, to check for events that happened between 2-3 hours ago:
time:2h-3h
Include parameter
The include parameter allows us to massively narrow down our search by only
including events that match a specific item, block or entity type.
Types of include parameters
The include parameter can be any one of:
- a block
- an item
- an entity
Specifying multiple patterns
Sometimes, you don't want to just look up a single item but rather a list of items you want to check. You can do this by separating the different item IDs using a comma, for example:
include:stone,cobblestone,smooth_stone
Example: rolling back diamond blocks
For example, we could roll back only events that a user called Minecraft123
did and that included a diamond_block item, by 3 days, like this:
/co rollback user:Minecraft123 include:diamond_block time:3d
Exclude parameter
The exclude parameter allows us to narrow down our search by ignoring events
that match a specific item, block, entity type or player.
The ability to ignore players makes this incredibly useful for cases such as checking for stealing from chests, as you can exclude the owner from the lookup so any stealing is immediately obvious.
Types of exclude parameters
The include parameter can be any one of:
- a block
- an item
- an entity
- a player
Specifying multiple patterns
Sometimes, you don't want to just exclude up a single item but rather a list of items. You can do this by separating the different item IDs using a comma, for example:
include:stone,cobblestone,smooth_stone
Example: excluding a shop owner from a lookup
/co lookup radius:5 action:container time:3d exclude:Minecraft123
Example: excluding multiple shop owners from a lookup
/co lookup radius:5 action:container time:3d exclude:Minecraft123,Minecraft456
Flags
Flags in coreprotect allow us to get extra information about the lookup or rollback.
Flags start with a hashtag (#) and you should add them at the end of a
command.
The 4 flags in coreprotect
Preview flag
The #preview flag lets you see what the result of a rollback or restore would
be, without actually applying it.
It's incredibly useful for if you're not sure which command to use and so you don't want to fully apply a rollback/restore.
Example: rolling back griefing
If you want to roll back griefing on user Minecraft123's house but aren't sure exactly which command to use, you can test out the results of a rollback like this:
/co rollback radius:30 exclude:Minecraft123 time:7d #preview
That way, you can check the rollback will actually do what you want it to do, so you won't accidentally break something that can't fully be reverted using /co undo.
Example: restoring an incorrect rollback
Let's say you didn't learn your lesson above and rolled back the house without
previewing first. You accidentally deleted the house above because you forgot
the exclude:Minecraft123. You'd restore it like this:
/co restore radius:30 time:7d user:Minecraft123
... in order to restore any actions done by Minecraft123.
But you could make sure that this would restore the house by adding the
#preview flag:
/co restore radius:30 time:7d user:Minecraft123 #preview
A note about rollbacks
If you add the #preview flag, coreprotect won't actually roll anything back.
You'll need to rerun the rollback command without the #preview if you want
to complete a rollback.
Count flag
The #count flag lets you see how many rows a lookup returned.
It allows you to see exactly how many events occured that match the filter parameters.
Example: counting the number of container logs
Let's say you want to find out how many logs there are of player Minecraft123
taking out diamonds from nearby containers. Here's how you would do that:
/co lookup radius:5 user:Minecraft123 action:-container include:diamond #count
The
#counttells CoreProtect to tell us how many logs it found that matched our query filter.
Verbose flag
The #verbose flag simply tells CoreProtect to give us extra information while
the rollback or restore is running.
This means it tells you exactly what it's doing at each tick.
Syntax
Add the flag to the end of your command like any other flag:
/co rollback <query> #verbose
/co restore <query> #verbose
Silent flag
The #silent flag simply tells CoreProtect not to alert us after it finishes
rolling back each chunk.
This can make your chat cleaner.
Syntax
Add the flag to the end of your command like any other flag:
/co rollback <query> #silent
/co restore <query> #silent
Good starting permissions
Default permissions
The default group doesn't need any CoreProtect permissions.
If you trust your players, you could give players these permissions so they can lookup griefing and stealing themselves (but not do any rollbacks):
- coreprotect.inspect
- coreprotect.lookup
- coreprotect.help
This is rare, though. Usually restricting access to only moderators is a good idea.
Moderator permissions
- coreprotect.inspect
- coreprotect.lookup
- coreprotect.rollback
- coreprotect.restore
- coreprotect.teleport
- coreprotect.help
Admin permissions
- coreprotect.reload
- coreprotect.status
- coreprotect.purge -- if you completely trust your admins
Grim
GrimAC is an open source anticheat plugin.
Why do you need an anticheat?
On any server, you will have players who use mods to give them an advantage in-game (i.e. 'hacks').
Installation
Install Grim by downloading the .jar from https://modrinth.com/plugin/grimac
and placing it into your plugins directory.
Alternatives
If you can afford it, I would recommend getting Vulcan. It's a paid anticheat,
but is by far the best anticheat for Minecraft Java servers.
You can buy and download Vulcan at its SpigotMC page, https://www.spigotmc.org/resources/vulcan-anti-cheat-advanced-cheat-detection-1-8-1-21-8.83626/
Vanish
One essential plugin for server moderation is a /vanish plugin. They allow you to go invisible on your server to essentially spy on other players.
Why is that useful?
Often, you'll want to check that a certain player isn't causing any trouble. You could do this using spectator mode, but most people will stop causing chaos if they see your little grey name in the tablist :)
Installation
There are lots of different vanish plugins. We will use this one:
Downloading the plugin
Download the plugin from the Modrinth page and add it to your server's plugins
folder.
Setup
Once you have the jar file in your plugins directory, you should be ready to
use /vanish with no extra setup needed!
Vanishing yourself
Provanish has a /vanish command which will make you invisible to other
players.
Note that this won't make you invisible to any player which has the vanish.see
permission - players with that permission can see people even when they're in
vanish.
Command to vanish
Simply run this command to make yourself invisible to others:
/vanish
Command to unvanish
Provanish uses the same command to vanish as to unvanish! That means to unvanish yourself, just type this:
/vanish
Vanishing other players
Provanish has a /vanish command which can vanish not only yourself but also
another player.
Note that this won't make them invisible to any player which has the vanish.see
permission - players with that permission can see people even when they're in
vanish.
Command to vanish another player
Simply run this command to make a player invisible to others:
/vanish <player>
Command to unvanish
Provanish uses the same command to vanish as to unvanish! That means to unvanish someone, just type this:
/vanish <player>
Good starting permissions
Default
The default role doesn't need any vanish permissions.
Moderator
- vanish.use
- vanish.see
Note that you may want to temporarily disable the vanish.see permission for
moderators, if you want to spectate a mod. Sometimes it's helpful to not give
mods permission to see other vanished players :)
Admin
There aren't any extra permissions admins should have that they don't already
have from the moderator parent. But if you don't want mods to see other
vanished players, you should allow admins to with the vanish.see permission so
at least admins can see each other when in vanish.
Simple Voice Chat
Simple Voice Chat is a plugin and mod which allows players to talk to each other using proximity chat. It also has support for groups, allowing you to talk to others without being nearby.
Note: Simple Voice Chat must be installed on both the client and the server for players to talk to each other.
Port allocation
Before adding the plugin to your server, you should first allocate a port for it. This port should be a UDP port.
- If you're using a hosting provider, you should be able to create a new UDP
port allocation through the
NetworkorPortstab. - If you're self-hosting, you will need to port forward a new port number, in the same way you forwarded your main server's port.
Once your port is allocated, note down the port number and continue to Plugin installation
Plugin installation
Install Simple Voice Chat like you would any other plugin: to do it manually,
upload the jar file to your server's plugins directory.
Configuration
You shouldn't need to do any extra configuration except for specifying the SVC port.
- Start your server and Simple Voice Chat will generate the
plugins/VoiceChat/config.ymlfile. - Find the
portfield and change its value to be the port number you allocated in the previous page. - Save the config file and restart your server
By default, members without
opmay not be able to hear other players or speak. Please see the good starting permissions page to fix this.
Setup on clients
- Install the mod from https://modrinth.com/plugin/simple-voice-chat
- Log in to the server
- Press 'V' and follow the setup instructions
- Start talking!
Groups
If you press G, you can manage the different groups and join those groups.
Groups allow you to talk to other players (optionally in private), and allow you to keep talking to each other even if you are no longer near each other.
Types of group
Normal- you can hear players outside the group (when nearby) but they can't hear you.Open- you can hear players outside the group (when nearby) and they can also hear you.Isolated- you can't hear players outside the group, and they can't hear you.
Good starting permissions
Default permissions
- voicechat.listen
- voicechat.speak
- voicechat.groups
Moderator permissions
- voicechat.admin
Admin permissions
No extra permissions are needed for admins that they don't already inherit from
moderator.
Chunky
Chunky allows you to pregenerate the chunks of a world. On CPUs with very few threads, this can massively increase performance as the server doesn't have to generate new terrain.
If we do all the heavy computation in generating the chunks before players join the server, they can explore the world with little delay in chunks being loaded.
Installation
Download the Chunky plugin jar and upload it to your server's plugins
directory. That's it.
Setup
No additional setup is required to start using Chunky.
Pregenerating a world
You must set a (fairly) small worldborder before generating the world. By following the steps in this page, Chunky will begin to pregenerate the world inside the border.
Pregenerating the overworld
If you want to pregenerate the overworld dimension, run these commands while standing in the overworld:
/chunky world world
/chunky worldborder
/chunky start
Pregenerating the nether
If you want to pregenerate the nether dimension, run these commands while standing in the nether:
/chunky world world_nether
/chunky worldborder
/chunky start
Pregenerating the end
If you want to pregenerate the end dimension, run these commands while you are standing in the end:
/chunky world world_the_end
/chunky worldborder
/chunky start
World command
The chunky world command allows you to set the world Chunky should pregenerate
in (for vanilla servers, this is the dimension).
Command usage
/chunky world <world>
List of worlds
On Paper servers, you will usually have 3 worlds by default:
world- the overworld dimensionworld_nether- the nether dimensionworld_the_end- the end dimension
You may have more worlds than this, especially if you use custom plugins which add worlds or dimensions.
Example usages
Tell Chunky to pregenerate chunks in the overworld:
/chunky world world
Tell Chunky to pregenerate chunks in the nether:
/chunky world world_nether
Tell Chunky to pregenerate chunks in the end:
/chunky world world_the_end
Worldborder command
The chunky worldborder command tells Chunky to pregenerate every chunk within
the world border. The world is set using the chunky world
command.
What does it do?
Under the hood, the chunky worldborder command does two things:
- Sets the centre to
0,0(you can manually set the centre with the chunky center command). - Sets the radius to the same radius as the worldborder.
Command usage
/chunky worldborder
The command doesn't take any arguments.
Changing the vanilla world border
To set the diameter of the vanilla world border, you use the /worldborder
command:
/worldborder set <diameter>
For example, for a world border of diameter 20,000, use:
/worldborder set 20000
Center command
The chunky center command allows you to determine where Chunky should start
pregenerating from. It will then continue outwards from the center by the number
of blocks specified with chunky radius;
Command usage
/chunky world <x> <y>
Center at 0,0
Radius command
Spawn command
Start command
Checking Chunky's progress
You can use the chunky progress command to check what percentage of the world
chunky has pregenerated so far.
Command usage
/chunky progress
Cancel command
Use the chunky cancel command to stop pregenerating a world.
After using this command, you cannot resume pregeneration. If you just want to temporarily pause Chunky, you should instead use Chunky's pause command.
Command usage
/chunky cancel
When to use
You can only use chunky cancel if a chunky task is currently in progress. In
other words, you can only run this after starting the pregeneration with the
/chunky start command.
Pause command
Use the chunky cancel command to temporarily stop pregenerating a world.
After using this command, you can resume pregeneration using the chunky continue command.
If you instead would like to permanantly cancel the pregen, you should instead use the cancel command.
Command usage
/chunky pause
When to use
You can only use chunky pause if a chunky task is currently in progress. In
other words, you can only run this after starting the pregeneration with the
/chunky start command.
Continue command
Use the chunky continue command if you have previously paused a
chunky pregeneration and would like to resume, or 'unpause' it.
Command usage
/chunky continue
When to use
You can only use chunky resume if you have previously paused a
task using /chunkky pause.
Good starting permissions
Default permissions
Your regular players do not need to use Chunky.
Moderator permissions
Mods also don't need to use chunky; it's solely for server admins.
Admin permissions
- chunky.command.start
- chunky.command.pause
- chunky.command.continue
- chunky.command.cancel
- chunky.command.world
- chunky.command.shape
- chunky.command.center
- chunky.command.radius
- chunky.command.worldborder
- chunky.command.spawn
- chunky.command.corners
- chunky.command.pattern
- chunky.command.selection
- chunky.command.silent
- chunky.command.quiet
- chunky.command.progress
- chunky.command.reload
I would not recommend giving anybody else the
chunky.command.trimpermission, as it can be used to delete your entire world.