EssentialsX Permissions List and Setup: Homes, Warps, Kits
Which EssentialsX permission nodes to give players, VIPs and staff as copy-paste LuckPerms commands, plus homes, warps, kits, economy and 26.x support.
Ask any Minecraft server owner which plugin they installed first and the answer is almost always EssentialsX. It is the plugin that provides /home, /warp, /tpa, /kit, /spawn, a working economy, and about a hundred and fifty other commands that players assume are part of the game. They are not — vanilla has none of them. None of them work for a normal player until you hand out the matching EssentialsX permissions, and this guide lists the nodes for every rank, ready to paste.
EssentialsX is a maintained fork of the original Essentials, and it is the version to install; the original has not been updated for modern Minecraft. It ships as a set of jars rather than one, it needs a permissions plugin to be useful, and it has a couple of interactions with other plugins that catch people out. All three are covered below, starting with the permissions.
Installing plugins in general is covered in How to install plugins for Minecraft Java Edition.
Which Jars You Actually Need
EssentialsX is modular. The download is a set of separate jars, and you install only the ones you want.
| Jar | What it adds | Most servers? |
|---|---|---|
EssentialsX |
The core: homes, warps, kits, teleports, economy, moderation, ~153 commands | Yes — required by all the others |
EssentialsXChat |
Chat formatting, prefixes and suffixes, local and global chat | Usually |
EssentialsXSpawn |
/spawn, /setspawn, respawn handling and a first-join spawn |
Usually |
EssentialsXProtect |
Basic block and explosion protection, plus signs | Only if you have nothing better |
EssentialsXAntiBuild |
Permission-based build restrictions | Rarely |
EssentialsXDiscord |
A Discord bridge | Optional |
EssentialsXDiscordLink |
Links Minecraft accounts to Discord accounts | Optional |
EssentialsXGeoIP |
Country lookup for connecting players | Optional |
EssentialsXXMPP |
XMPP notifications | Rarely |
The core jar is a dependency of every module, so EssentialsX always goes in. Drop the jars you want into plugins/ and restart — not /reload. On first boot the core generates plugins/Essentials/config.yml and plugins/Essentials/kits.yml.
Do not run EssentialsX alongside CMI or another all-in-one
CMI is a paid alternative that covers the same ground. Running both means two plugins registering
/home,/warpand an economy, and the result is unpredictable. Pick one. The same applies to running a second economy plugin: Vault routes economy calls to exactly one backing provider.
As of 28 September 2026 the current release is still EssentialsX 2.22.0, published 31 May 2026. Its actively supported Minecraft version is 26.1.2, with 1.8.8 through 1.21.11 still supported but not a priority. There is no stable release for Minecraft 26.2 or 26.3. Support for both is in the development builds: the project merged 26.2 support on 16 June 2026 and 26.3 support on 15 September 2026, and the current dev build is 2.22.1-dev+25-cfb6f12. Dev builds are linked from the EssentialsX downloads page. Test one on a copy of your server first, and keep a backup. EssentialsX also does not support Folia, Mohist, Forge/Bukkit hybrids such as Magma, CatServer and Arclight, or 1.7.10 and below; on a Forge, NeoForge or Fabric server the project points you at FTB Essentials instead. Paper is the recommended server software, and several commands — /anvil, /grindstone, /loom, /smithingtable, /stonecutter, /cartographytable — only work on Paper at all.
EssentialsX Permissions: What to Give Each Rank
EssentialsX grants a normal player nothing by default. Every command has a permission node, and until you hand them out through a permissions plugin, only operators can use anything.
The node is essentials.<command>: /home is essentials.home, /tpa is essentials.tpa, /kit is essentials.kit. Sub-nodes extend it, and .others lets a player run the command on somebody else. Three rules explain almost every "EssentialsX permissions not working" question:
- No default means op-only. Of the 453 nodes EssentialsX 2.22.0 declares, the only ones that default to
truefor everyone areessentials.back.onteleport,essentials.teleport.cooldown.bypass.tpaandessentials.teleport.cooldown.bypass.back. The EssentialsXChat module adds a few more for sending and receiving local chat. Everything else is either op-only or off, which is why the plugin works perfectly for you and not at all for your players. - Aliases check the command's real name.
/homesis/home,/warpsis/warp,/baltopis/balancetop,/baland/moneyare/balance. The one oddity is/r(and/reply), which checksessentials.msgrather thanessentials.r. - Some commands need two nodes. Multiple homes, kits and staff game-mode switching all need a second node on top of the command node. They are marked in the tables below.
The player commands, and the nodes they need
| Command | Node | Also needs, or worth knowing |
|---|---|---|
/home, /homes |
essentials.home |
/home bed needs essentials.home.bed |
/sethome |
essentials.sethome |
More than one home needs two nodes: see Homes below |
/delhome |
essentials.delhome |
|
/renamehome |
essentials.renamehome |
|
/spawn |
essentials.spawn |
Only exists with the EssentialsXSpawn jar installed |
/tpa, /tpahere |
essentials.tpa, essentials.tpahere |
|
/tpaccept, /tpdeny, /tpacancel |
essentials.tpaccept, essentials.tpdeny, essentials.tpacancel |
Without tpaccept, nobody can answer a /tpa |
/back |
essentials.back |
Returns to the death spot only with essentials.back.ondeath, which defaults to false |
/warp <name> |
essentials.warp |
With per-warp-permission: true, each warp also needs essentials.warps.<name> |
/warp or /warps on its own |
essentials.warp.list |
This is the warp list. /warp list would try to warp to a warp called "list" |
/kit <name> |
essentials.kit |
Plus essentials.kits.<name> per kit, or essentials.kits.* for all |
/msg, /r |
essentials.msg |
Covers replies too |
/mail |
essentials.mail |
Sending needs essentials.mail.send as well |
/ignore |
essentials.ignore |
|
/afk |
essentials.afk |
|
/list |
essentials.list |
|
/rules, /motd |
essentials.rules, essentials.motd |
|
/helpop |
essentials.helpop |
Staff need essentials.helpop.receive to see the messages |
/balance, /baltop, /pay |
essentials.balance, essentials.balancetop, essentials.pay |
|
/playtime, /seen |
essentials.playtime, essentials.seen |
/seen shows IPs only with essentials.seen.ip |
/nick |
essentials.nick |
Colours need essentials.nick.color |
/hat, /workbench, /enderchest |
essentials.hat, essentials.workbench, essentials.enderchest |
Typical donor perks |
| Coloured chat | essentials.chat.color |
From the EssentialsXChat jar |
Copy-paste permission sets
These use LuckPerms and assume four groups where each inherits the one before it, default → vip → mod → admin, built the way How to Set Up LuckPerms Permissions for Minecraft builds its ladder. Each rank then only adds its own nodes. Paste them into the Console tab without the leading slash.
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.spawn true
lp group default permission set essentials.tpa true
lp group default permission set essentials.tpahere true
lp group default permission set essentials.tpaccept true
lp group default permission set essentials.tpdeny true
lp group default permission set essentials.tpacancel true
lp group default permission set essentials.back true
lp group default permission set essentials.warp true
lp group default permission set essentials.warp.list true
lp group default permission set essentials.kit true
lp group default permission set essentials.kits.starter true
lp group default permission set essentials.msg true
lp group default permission set essentials.mail true
lp group default permission set essentials.mail.send true
lp group default permission set essentials.ignore true
lp group default permission set essentials.afk true
lp group default permission set essentials.list true
lp group default permission set essentials.rules true
lp group default permission set essentials.helpop true
lp group default permission set essentials.balance true
lp group default permission set essentials.balancetop true
lp group default permission set essentials.pay true lp group vip permission set essentials.sethome.multiple true
lp group vip permission set essentials.sethome.multiple.vip true
lp group vip permission set essentials.back.ondeath true
lp group vip permission set essentials.kits.vip true
lp group vip permission set essentials.nick true
lp group vip permission set essentials.nick.color true
lp group vip permission set essentials.chat.color true
lp group vip permission set essentials.hat true
lp group vip permission set essentials.workbench true
lp group vip permission set essentials.enderchest true What you may sell as a donor perk is limited by Mojang's rules, so check Minecraft Server Monetisation: What Mojang Actually Allows before you put a price on this rank.
lp group mod permission set essentials.kick true
lp group mod permission set essentials.mute true
lp group mod permission set essentials.tempban true
lp group mod permission set essentials.togglejail true
lp group mod permission set essentials.invsee true
lp group mod permission set essentials.vanish true
lp group mod permission set essentials.tp true
lp group mod permission set essentials.tphere true
lp group mod permission set essentials.fly true
lp group mod permission set essentials.seen.ip true
lp group mod permission set essentials.socialspy true
lp group mod permission set essentials.helpop.receive true
lp group mod permission set essentials.kick.notify true
lp group mod permission set essentials.mute.notify true
lp group mod permission set essentials.ban.notify true lp group admin permission set essentials.* true
lp group admin permission set essentials.exempt true essentials.* works in LuckPerms because wildcard permissions are applied by default (apply-wildcards: true in its config). essentials.exempt is a parent node that makes the holder immune to kick, ban, tempban, mute and sudo, and stops others editing their inventory with /invsee. Give it to admins only, or your moderators cannot act on each other.
Three commands trip up moderator ranks. /invsee shows an inventory but only lets you change it with essentials.invsee.modify. /gamemode needs essentials.gamemode and either essentials.gamemode.all or a per-mode node such as essentials.gamemode.creative. And /ban and /unban are deliberately left for the admin rank above; add essentials.ban and essentials.unban to mod if your moderators should issue permanent bans.
Setting up the ranks themselves, with inheritance and weights, is covered in How to Set Up LuckPerms Permissions for Minecraft. If you still cannot work out which node a command checks, LuckPerms' verbose mode (lp verbose record <player>, have them run the command, then lp verbose upload) shows you the exact string.
Almost every command has an
e-prefixed aliasEssentialsX registers 153 commands, and 150 of them carry an
e<name>alias:/ehome,/ewarp,/etpa. That exists so you can reach EssentialsX's version when another plugin has claimed the plain name. The three exceptions are/createkit,/customtextand/showkit. Aliases are the same command, so they check the same permission node. There is no separateessentials.ehome.
The full node list is on the EssentialsX permissions page, and in the plugin.yml inside the jar, which is where every node above was read from.
Homes
/sethome saves a location, /home returns to it, /delhome removes it. Out of the box every player gets one home.
Multiple homes are a two-node system, and this is where people get stuck. A player needs essentials.sethome.multiple and a matching rank node, and the ranks are defined in config.yml:
sethome-multiple:
default: 3
vip: 5
staff: 10 Those rank names are arbitrary labels inside EssentialsX; they do not have to match your permission groups. Someone with essentials.sethome.multiple alone gets the default count of 3. Someone with essentials.sethome.multiple and essentials.sethome.multiple.vip gets 5. essentials.sethome.multiple.unlimited removes the cap entirely.
lp group default permission set essentials.sethome.multiple true
lp group vip permission set essentials.sethome.multiple.vip true Named homes are then /sethome base, /home base, and /renamehome changes a name. Related settings worth knowing: spawn-if-no-home sends a player to spawn if they run /home with none set, confirm-home-overwrite asks before replacing an existing home, and world-home-permissions gates /home between worlds behind essentials.worlds.<worldname> — the setting to reach for if you run a creative world people should not be able to hop out of. See Multiverse: Running Several Worlds on One Minecraft Server.
Warps and Kits
Warps
/setwarp <name> creates a server-wide warp at your position, /warp <name> goes to it, and /delwarp removes it. /warp (or /warps) with no name lists them all, which needs essentials.warp.list.
By default anyone with essentials.warp can use every warp. Setting per-warp-permission: true in config.yml changes that: each warp then needs essentials.warps.<warpname>, and the warp list only shows the ones a player may actually use. That is how you build a donor-only warp or a staff warp without a second plugin.
Kits
Kits live in plugins/Essentials/kits.yml, not in config.yml. Each has a delay, and a negative delay makes it a one-time kit — the standard way to hand out a starter kit exactly once.
Access is per-kit: essentials.kits.<kitname> grants one, essentials.kits.* grants all. essentials.kit grants the command itself, so a player needs both.
lp group default permission set essentials.kit true
lp group default permission set essentials.kits.starter true
lp group vip permission set essentials.kits.vip true /createkit <name> <delay> builds a kit from your current inventory rather than making you write YAML. By default it writes straight into kits.yml; set pastebin-createkit: true and it hands you a link with the kit code instead. use-nbt-serialization-in-createkit stores items as NBT so complex items like filled shulker boxes survive — at the cost of not being able to downgrade the server afterwards. kit-auto-equip puts kit armour straight onto the player.
essentials.kit.exemptdelay skips the cooldown for a rank, and skip-used-one-time-kits-from-kit-list hides spent one-time kits from /kit list.
Teleports
| Command | What it does |
|---|---|
/tpa <player> |
Ask to teleport to them |
/tpahere <player> |
Ask them to come to you |
/tpaccept / /tpdeny |
Answer a request |
/tp <player> |
Staff teleport, no request |
/tphere <player> |
Bring a player to you |
/back |
Return to where you were before your last teleport or death |
/top |
Teleport to the highest block above you |
/tpall, /tpaall |
Everyone, at once |
Four config settings shape how teleports feel on a survival server:
teleport-cooldown: 0
teleport-delay: 0
teleport-invulnerability: 4
tpa-accept-cancellation: 120
tpa-max-requests: 5 teleport-delay is a warm-up in seconds during which moving or being attacked cancels the teleport — the standard defence against players teleporting out of a fight. teleport-cooldown is the wait between teleports. teleport-invulnerability gives a few seconds of protection on arrival so nobody gets killed mid-load. tpa-accept-cancellation times out unanswered requests.
essentials.teleport.timer.bypass skips the delay for staff and essentials.teleport.timer.move lets a player move during it. Note that essentials.teleport.cooldown.bypass.tpa and .back default to true, so cooldowns do not apply to those two unless you explicitly deny the node.
/back has a nuance: essentials.back.ondeath defaults to false, so /back will not return a player to their death spot unless you grant it. essentials.back.onteleport defaults to true.
The Economy
EssentialsX ships a working economy — balances, /pay, /balancetop, shop signs — and most economy-aware plugins reach it through Vault, an abstraction layer they all depend on. Economy-driven gametypes such as a Minecraft prison server or a SkyBlock server are built on this layer, and both guides cover the Vault naming trap.
starting-balance: 0
currency-symbol: '$'
currency-symbol-suffix: false | Command | What it does |
|---|---|
/balance [player] |
Check a balance |
/pay <player> <amount> |
Send money |
/balancetop |
The richest players |
/eco give|take|set|reset <player> <amount> |
Staff adjustment |
/worth, /sell |
Item values and selling |
essentials.eco.loan lets a player go negative. essentials.pay.offline allows paying players who are not online. essentials.balancetop.exclude keeps a staff account off the leaderboard. Set economy-log-enabled: true to write transactions to a log file, which is worth having the first time somebody claims they were not paid.
Run exactly one economy provider
Vault routes every economy call to a single backing plugin. Install EssentialsX and a second economy plugin and you get two sets of balances that silently disagree. If you are selling ranks or perks against this economy, note that Mojang's rules on what a Minecraft server may sell are narrower than most owners assume — Minecraft Server Monetisation: What Mojang Actually Allows quotes them directly.
Chat, Prefixes and Nicknames
EssentialsXChat is the module that formats chat, and it is one of the two common answers to "my LuckPerms prefix is not showing".
LuckPerms stores the prefix; something else has to render it
LuckPerms holds
prefix.100.[Admin]as data. A separate plugin must put it in front of the player's name, and on Bukkit, Spigot and Paper that plugin also needs Vault installed to read LuckPerms. EssentialsXChat is the usual choice when Essentials is already present. Iflp user Steve infoshows a prefix and chat does not, LuckPerms has done its job and the problem is in the formatter. See How to Set Up LuckPerms Permissions for Minecraft.
Beyond formatting, the core jar handles nicknames (/nick, with essentials.nick.changecolors for colours), private messages (/msg, /r), ignoring (/ignore), mail (/mail), and chat spy for staff (essentials.chat.spy, with essentials.chat.spy.exempt to keep senior staff out of it).
Moderation Commands
The core jar covers most day-to-day moderation without a separate plugin: /kick, /kickall, /ban, /tempban, /banip, /tempbanip, /unban, /mute, /togglejail (aliased /jail), /setjail, /jailedplayers, /vanish, /invsee, /god, /heal, /feed, /burn, /kill, /socialspy, /seen and /whois. /mute takes an optional duration, so there is no separate temp-mute command.
Two settings are worth knowing. jail-online-time: true counts jail time only while the player is online, which stops someone waiting out a sentence offline. And EssentialsX bans and the vanilla ban list are separate systems — a full account of whitelisting, banning and which list wins is in Minecraft Whitelist and Ban Management.
Signs
EssentialsX supports functional signs. The full set in 2.22.0 is balance, buy, free, sell, trade, enchant, repair, gamemode, heal, info, kit, mail, randomteleport, warp, anvil, cartography, disposal, grindstone, loom, smithing, workbench, spawnmob, time and weather — plus color, which is not a sign type but enables colour codes on signs.
Every one of them is commented out by default. Each has to be uncommented in the enabledSigns block of config.yml, and each carries three permissions: essentials.signs.create.<type>, essentials.signs.use.<type> and essentials.signs.break.<type>. Give players use and staff create, or anyone who can place a sign can build a free-item dispenser.
Common Issues
- A command works but says "you do not have permission". The node is missing.
lp verbose record <player>, have them run it, thenlp verbose uploadto see exactly what was checked. - Another plugin has taken over
/homeor/warp. Use thee-alias (/ehome) to confirm which plugin is answering, then fix the conflict incommands.ymlor by removing the duplicate plugin. - Multiple homes are not working. The player has only one of the two required nodes, or the rank name in
sethome-multipledoes not match the node suffix. - A prefix set in LuckPerms is not showing in chat. EssentialsXChat (or another formatter) plus Vault is missing.
- Two economies disagree. Two economy providers are installed. Remove one.
- A kit gives nothing. The player has
essentials.kitbut notessentials.kits.<name>, or the kit is one-time and already used. - Signs do nothing. They are commented out in
enabledSigns, or the player lacks theusepermission for that type. - Everything broke after a Minecraft update. EssentialsX is version-specific. Check the release notes before upgrading the server. The current stable release does not cover 26.2 or 26.3; only the development builds do.
- Players cannot see the warp list.
/warpon its own needsessentials.warp.list, whichessentials.warpdoes not include.
FAQ
Do I need EssentialsX and LuckPerms both?
Yes, in practice. EssentialsX supplies the commands, LuckPerms decides who may run them. Without a permissions plugin only operators can use anything, and opping people to make commands work hands them /stop too — see Minecraft Op Permission Levels: 0 to 4 Explained.
Does EssentialsX work on Fabric or Forge?
No. It is a Bukkit plugin and only runs on Paper, Spigot and their forks. The project explicitly warns against Forge/Bukkit hybrids and points modded servers at FTB Essentials.
Does EssentialsX support Minecraft 26.2 or 26.3?
Not in a stable release. 2.22.0 actively supports 26.1.2 and still supports 1.21.11 and a long tail of older versions. The development builds (2.22.1-dev) added 26.2 in June and 26.3 in September 2026, so a server already on 26.2 or 26.3 needs a dev build until 2.22.1 or later is released. Paper's own 26.3 builds were still marked alpha on 28 September 2026.
Where is the full EssentialsX permissions list?
In the plugin.yml inside the jar, which declares 453 nodes for the core plugin, and on the EssentialsX permissions page. The tables above cover the nodes most servers actually hand out.
Is Essentials the same thing as EssentialsX?
EssentialsX is the maintained fork. The original Essentials is only appropriate for 1.7.10 and below, where EssentialsX will not run.
Where does player data live?
Under plugins/Essentials/userdata/, one file per player UUID, holding their homes, balance and other per-player state. It is part of the server volume, so it is inside your normal backups — see How to create a backup.
Can I use it on a Folia server?
Not yet. The project says Folia support is still being worked on and warns that running current versions on Folia or its forks can lose userdata.
What to Read Next
- How to install plugins for Minecraft Java Edition for getting the jars onto the server
- How to Make a Minecraft SMP Server for Friends — the short plugin list for a friends server, and where EssentialsX sits in it
- How to Set Up LuckPerms Permissions for Minecraft for handing out the nodes above
- Minecraft Op Permission Levels: 0 to 4 Explained for why opping staff is the wrong fix
- Minecraft Whitelist and Ban Management for the ban lists EssentialsX sits alongside
- Minecraft Server Monetisation: What Mojang Actually Allows before you sell anything against the economy
- Multiverse: Running Several Worlds on One Minecraft Server for per-world homes and warps
- Minecraft Grief Protection and Rollback — EssentialsXProtect is not a substitute for CoreProtect
Primary sources used for this guide (checked 19 August 2026; versions and the permissions reference re-checked 28 September 2026 against the 2.22.0 source, the EssentialsX commit history and the EssentialsX dev build server): the plugin.yml and config.yml shipped inside the EssentialsX 2.22.0 jar, which is where the 153 commands, their aliases and the permission nodes and defaults quoted above were read from; the EssentialsX 2.22.0 release notes on GitHub for supported Minecraft versions, the module list and the unsupported-platform list; the EssentialsX source at tag 2.22.0 for the essentials.warps.<name> node; and the EssentialsX project on Modrinth.
- How to Teleport in Minecraft — why
/tpaand per-node permissions beat opping a player just so they can teleport
Made with 💜 by GameServerKings

Need a Minecraft server?
Deploy an instantly-provisioned Minecraft server on high-clock hardware — DDoS protected, no contracts, cancel anytime.
From $4.80 /month