---
title: "EssentialsX Setup: Homes, Warps, Kits and Economy"
description: "Set up EssentialsX on a Minecraft server: which module jars to install, the permission nodes, multiple homes, warps, kits, teleports and the economy."
url: "https://www.gameserverkings.com/knowledge-base/minecraft/essentialsx-setup/"
category: "Minecraft"
category_url: "https://www.gameserverkings.com/knowledge-base/minecraft/"
published: "2026-08-19T10:07:54.788Z"
updated: "2026-08-19T10:20:09.179Z"
source_format: "markdown"
site: "GameServerKings"
---

# EssentialsX Setup: Homes, Warps, Kits and Economy

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.

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.

Installing plugins in general is covered in [How to install plugins for Minecraft Java Edition](/knowledge-base/minecraft/java-plugins/).

## 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`.

> [!IMPORTANT] 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`, `/warp` and 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 19 August 2026 the current release is **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 supporting Minecraft 26.2 yet.** If you are on 26.2, check the project's development builds before upgrading the server. 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.

## Permissions: The Part That Actually Matters

EssentialsX grants a player nothing by default. Every command has a node, and until you hand them out through a permissions plugin nobody can do anything.

The node pattern is `essentials.<command>` — `/home` is `essentials.home`, `/tpa` is `essentials.tpa`, `/kit` is `essentials.kit`. Sub-nodes extend it: `.others` lets a player run the command on somebody else, and specific commands add their own.

```text title="A workable default rank"
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.warp true
lp group default permission set essentials.msg true
lp group default permission set essentials.balance true
lp group default permission set essentials.pay true
```

`/spawn` and `/setspawn` come from the **EssentialsXSpawn** module rather than the core jar, so their nodes only exist once that module is installed.

```text title="What a moderator adds on top"
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.invsee true
lp group mod permission set essentials.vanish true
lp group mod permission set essentials.tphere true
lp group mod permission set essentials.fly true
```

Setting up ranks, inheritance and weights is covered in [How to Set Up LuckPerms Permissions for Minecraft](/knowledge-base/minecraft/luckperms-permissions/). If you cannot work out which node a command is checking, LuckPerms' verbose mode (`lp verbose record <player>` then `lp verbose upload`) will show you the exact string, which is faster than guessing.

> [!TIP] Almost every command has an `e`-prefixed alias
> EssentialsX registers 153 commands, and **150 of them carry an `e<name>` alias** — `/ehome`, `/ewarp`, `/etpa`. That exists precisely so you can reach EssentialsX's version when another plugin has claimed the plain name. The three exceptions are `/createkit`, `/customtext` and `/showkit`. Aliases are the same command, so they check the same permission node — there is no separate `essentials.ehome`.

## 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`:

```yaml title="plugins/Essentials/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.

```text title="Three homes for everyone, five for VIP"
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](/knowledge-base/minecraft/multiverse-multiple-worlds/).

## Warps and Kits

### Warps

`/setwarp <name>` creates a server-wide warp at your position, `/warp <name>` goes to it, `/delwarp` removes it, `/warp list` shows them all.

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 `/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.

```text title="Everyone gets the starter kit; VIPs also get theirs"
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:

```yaml title="plugins/Essentials/config.yml"
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.

```yaml title="plugins/Essentials/config.yml"
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.

> [!IMPORTANT] 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](/knowledge-base/minecraft/monetising-your-server/) 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".

> [!WARNING] 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. If `lp user Steve info` shows 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](/knowledge-base/minecraft/luckperms-permissions/).

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](/knowledge-base/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, then `lp verbose upload` to see exactly what was checked.
- **Another plugin has taken over `/home` or `/warp`.** Use the `e`-alias (`/ehome`) to confirm which plugin is answering, then fix the conflict in `commands.yml` or 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-multiple` does 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.kit` but not `essentials.kits.<name>`, or the kit is one-time and already used.
- **Signs do nothing.** They are commented out in `enabledSigns`, or the player lacks the `use` permission for that type.
- **Everything broke after a Minecraft update.** EssentialsX is version-specific. Check the release notes before upgrading the server — the current release does not yet cover 26.2.

## 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](/knowledge-base/minecraft/op-permission-levels/).

### 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 it support Minecraft 26.2?

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. Check the project's development builds if your server is already on 26.2.

### 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](/knowledge-base/general/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](/knowledge-base/minecraft/java-plugins/) for getting the jars onto the server
- [How to Set Up LuckPerms Permissions for Minecraft](/knowledge-base/minecraft/luckperms-permissions/) for handing out the nodes above
- [Minecraft Op Permission Levels: 0 to 4 Explained](/knowledge-base/minecraft/op-permission-levels/) for why opping staff is the wrong fix
- [Minecraft Whitelist and Ban Management](/knowledge-base/minecraft/whitelist-and-ban-management/) for the ban lists EssentialsX sits alongside
- [Minecraft Server Monetisation: What Mojang Actually Allows](/knowledge-base/minecraft/monetising-your-server/) before you sell anything against the economy
- [Multiverse: Running Several Worlds on One Minecraft Server](/knowledge-base/minecraft/multiverse-multiple-worlds/) for per-world homes and warps
- [Minecraft Grief Protection and Rollback](/knowledge-base/minecraft/grief-protection-and-rollback/) — EssentialsXProtect is not a substitute for CoreProtect

**Primary sources used for this guide** (all checked 19 August 2026): 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](https://github.com/EssentialsX/Essentials/releases/tag/2.22.0) for supported Minecraft versions, the module list and the unsupported-platform list; the [EssentialsX source at tag 2.22.0](https://github.com/EssentialsX/Essentials/tree/2.22.0) for the `essentials.warps.<name>` node; and the [EssentialsX project on Modrinth](https://modrinth.com/plugin/essentialsx).

---

Made with 💜 by GameServerKings
