DGuard

EssentialsX: core server commands — modules, permissions and setup

EssentialsX is a free suite of core commands for Paper and Spigot: homes, warps, teleport requests, kits, economy, private messages and moderation. The main jar does most of it; chat, spawn and Discord come as separate modules. The key step after installing is giving players permissions through LuckPerms.

The DGuard team8 min read

In short: download the main EssentialsX.jar and the modules you need in the same version, put them in plugins/ together with Vault and LuckPerms, and restart the server. Out of the box only operators have EssentialsX permissions, so regular players need them granted: essentials.home, essentials.tpa, essentials.warp and so on. Settings live in plugins/Essentials/config.yml.

What EssentialsX gives you

The developers describe it as over 160 commands for servers of every size: teleportation, moderation tools and gameplay conveniences. It's open source and free, funded by donations. The parts people use most:

TaskCommands
Homes/sethome, /home, /delhome
Warps/setwarp, /warp
Teleport requests/tpa, /tpahere, /tpaccept, /tpdeny, /back
Spawn (Spawn module)/setspawn, /spawn
Kits/kit, /createkit; kits themselves live in kits.yml
Economy/balance, /pay, /baltop, /eco
Chat between players/msg, /r, /mail, /nick
Moderation/ban, /tempban, /mute, /vanish
The full list of commands and permissions is on the EssentialsX site, under Commands and Permissions

Modules: what to install

The main jar is required: no module works without it. The rest depends on what you need. On Modrinth each module is its own project, marked as requiring the main one.

ModuleWhat it doesDo you need it
EssentialsXCommands, signs, kits, economyAlways
ChatChat format: prefixes, suffixes, colours, per-group formatsIf you style the chat
SpawnSpawn point on first join and after death, /setspawn per groupAlmost always
DiscordA lightweight Discord bridge: two-way chat, joins, leaves, deaths, consoleOptional
Discord LinkLinks Minecraft and Discord accounts, syncs roles with groupsTogether with Discord
GeoIPA player's approximate country or city from their IP, on join and in /whoisOptional
ProtectSimple world rules: creeper damage, fire spread, specific mob spawnsOptional
AntiBuildPermissions to build, interact and craft per block and itemOptional
XMPPA legacy Jabber/XMPP bridgeNo, unless you know what it is
Based on the Module Breakdown page of the EssentialsX wiki

Installation

  1. 1

    Check the server software and version

    EssentialsX runs on CraftBukkit, Spigot and Paper; the developers recommend Paper. As of October 2026, the 2.22.0 release on Modrinth is marked for versions up to 26.1.2, while the README on the development branch already lists 1.21.11, 26.1.2, 26.2 and 26.3 — for the newest versions check the downloads page.

  2. 2

    Download the main jar and modules

    Releases are on Modrinth, SpigotMC and GitHub releases; development builds are on the site's downloads page. Unzip the SpigotMC archive first. Take every module in the same version as the main jar.

  3. 3

    Install Vault and LuckPerms

    Without Vault, prefixes, suffixes and everything group-related won't work. For permissions the developers recommend LuckPerms — see LuckPerms in 10 minutes.

  4. 4

    Restart the server

    A restart, not /reload. On first start EssentialsX creates config.yml, kits.yml and the rest in plugins/Essentials/. General rules are in how to install a plugin.

Permissions with LuckPerms

In EssentialsX's plugin.yml, essentials.* is granted to operators, and most permissions have no default set — which under Bukkit's rules also means "operators only". So right after installing, regular players can't even use /home. Give the default group a basic set, and extended permissions to paid or trusted groups:

server console: core commands for everyone and several homes for VIP
lp group default permission set essentials.home true
lp group default permission set essentials.sethome true
lp group default permission set essentials.delhome true
lp group default permission set essentials.tpa true
lp group default permission set essentials.tpaccept true
lp group default permission set essentials.tpdeny true
lp group default permission set essentials.back true
lp group default permission set essentials.warp true
lp group default permission set essentials.spawn true
lp group default permission set essentials.balance true
lp group default permission set essentials.pay true
lp group default permission set essentials.msg true
lp group default permission set essentials.kit true
lp group default permission set essentials.kits.tools true

lp group vip permission set essentials.sethome.multiple true
lp group vip permission set essentials.sethome.multiple.vip true
  • Several homes. The number of homes is set by sethome-multiple in config.yml (default ranks: default: 3, vip: 5, staff: 10). A player needs both permissions: essentials.sethome.multiple and essentials.sethome.multiple.<rank>. No limit: essentials.sethome.multiple.unlimited.
  • Kits. The /kit permission unlocks the command, and each kit is a separate permission, essentials.kits.<kit>.
  • Warps. By default essentials.warp opens every warp. To grant them one by one, set per-warp-permission: true.
  • Back to the death point. /back after death only works with essentials.back.ondeath — nobody has it by default.

What to set in config.yml

KeyDefaultWhy change it
teleport-delay0Delay before a teleport in seconds; moving or taking damage cancels it. Stops escaping a fight with /home and /tpa
teleport-cooldown0A pause between /home, /tp and other teleports
teleport-invulnerability4Seconds of invulnerability after a command teleport; the player can't attack during them either
starting-balance0Starting money for a new player
currency-symbol'$'The currency symbol
spawn-on-joinfalseSend everyone to spawn on join (Spawn module)
chat.radius0Chat range in blocks; 0 means global chat (Chat module)
update-checktrueCheck for EssentialsX updates on startup
Values from config.yml in the EssentialsX repository

Chat format is set by chat.format, per-group formats by chat.group-formats (Chat module). The name, message, prefix and group go in as placeholders in curly braces; the list is right in the config.yml comments. Prefixes come from your permissions plugin through Vault — for example, from meta setprefix in LuckPerms.

Colours. Colour codes in chat, nicknames and private messages are unlocked by essentials.chat.color, essentials.nick.color and essentials.msg.color. Since 2.18.0, hex colours are supported as &#RRGGBB — they're controlled by permissions ending in .rgb, such as essentials.chat.rgb and essentials.nick.rgb. A gradient nickname is easy to build with the gradient text generator.

EssentialsX and the anticheat

Some EssentialsX commands change how a player moves and survives: /fly, /speed, /god, /tp. Give them to staff only, through LuckPerms: a player with /fly flies legitimately, and handing such permissions to everyone cancels your own server rules. And teleport-delay closes the teleport escape from a fight, which no anticheat will flag — it's a server mechanic, not a cheat.

EssentialsX has /ban, /tempban and /mute, but they won't tell you who is cheating. That's the anticheat's job. DGuard — the best anticheat for a modern Minecraft server — watches combat, movement, packets, inventory, building and the world at once, gathers evidence without rushing to a verdict, and you set how strict punishments are. Turn on punishment-log in DGuard's config and every ban lands in the panel's log with a report, which moderators on your team can see without OP or console access. DGuard runs on Paper and Leaf 1.21–26.3 and is free up to 30 players online.

FAQ

Why can't players use /home and /tpa?

Out of the box only operators have EssentialsX permissions. Grant the default group essentials.home, essentials.sethome, essentials.tpa, essentials.tpaccept and whatever else you need through LuckPerms.

Does EssentialsX need Vault?

Yes, if you want prefixes, suffixes and per-group chat formats: without Vault EssentialsX can't see your permissions plugin's groups. The developers recommend LuckPerms as the permissions plugin.

How do I give a player several homes?

Define ranks in sethome-multiple in config.yml and give the player both permissions: essentials.sethome.multiple and essentials.sethome.multiple.<rank>. No limit: essentials.sethome.multiple.unlimited.

Does EssentialsX work on Folia?

No. The developers warn that current versions on Folia and its forks can lose user data. Use Paper.

Does EssentialsX Protect replace a region plugin?

No. Protect and AntiBuild set simple world rules and building permissions; for protecting areas the EssentialsX developers recommend WorldGuard.

Sources

All sections

Run the best anticheat for modern Minecraft

DGuard catches all 47 kinds of cheats in our comparison — the closest rival, Intave, has 27. Full protection on every plan, free up to 30 players online.