The symptom often appears after the first restart: /sethome responds, but your players see "You do not have access to that command." EssentialsX does not magically give you a ready to play server. You install the right file, open the right permissions, then set the limits before 30 players place 300 homes.
Install EssentialsX on a Paper Minecraft server
EssentialsX runs on Paper, Purpur and Spigot. In 2026, Paper 1.21.8 with Java 21 remains the clean choice for a public server. Download EssentialsX from the project's official page. Not from a mirror that has been stuck in 2021. A file compiled for Minecraft 1.16 may start, then break on a teleport command with a "NoSuchMethodError" type error. You lose an evening because of the wrong .jar.
- Stop the server from the panel. Do not replace a plugin while Paper is writing its YAML files.
- Upload
EssentialsX.jarinto theplugins/folder. Add EssentialsXSpawn if you manage /spawn, EssentialsXChat if you modify the chat format. - Start the server and watch the console for 30 seconds. A correct load shows "EssentialsX version" then "Enabled Essentials".
- Log in in game and type /ess version. You should see the plugin version, the server version, and the number of loaded modules.
On the Starmine panel, installation from the catalog avoids three classic mistakes: uploading the wrong FTP file, placing it in the wrong folder, then forgetting the restart. You keep control over the installed version and the files generated after the first launch via our panel.
If the console shows "Could not load 'plugins/EssentialsX.jar' in folder 'plugins'", check Java first. Minecraft 1.21 requires Java 21. Java 17 still loads some old plugins, but Paper 1.21 refuses to start correctly in many cases.
Choose EssentialsX modules without installing everything
EssentialsX is not a single block. The main file adds /home, /warp, /msg, /tpaccept, /back, /spawn if the spawn module is there, and dozens of admin commands. The surrounding modules address separate needs. Installing the five files because a 2019 tutorial does it makes maintenance heavier. You add settings, permissions, and failure causes that nobody uses.
| Module | Exact file | Real use | When to avoid it |
|---|---|---|---|
| Core | EssentialsX.jar | Homes, warps, private messages, teleportation, basic economy | Never, it is the foundation |
| Spawn | EssentialsXSpawn.jar | /spawn, arrival point, respawn according to your rules | Minigame server with separate lobby |
| Chat | EssentialsXChat.jar | Chat format, LuckPerms prefixes, controlled colors | If a modern chat plugin already does the job |
| Protect | EssentialsXProtect.jar | Block TNT, fire spread, lava placement with simple rules | On a survival server with WorldGuard already configured |
EssentialsXProtect does not replace an anti grief plugin. It blocks actions. It does not restore a destroyed base. For 20 connected players, Core plus Spawn is enough in most private survival setups. Add Chat if your LuckPerms groups need to display "[Modo]" or "[VIP]" before the nickname. Add Protect only if you know which rule you are looking for, for example blocking TNT in the world world while leaving the Nether open.
Configuring spawn, homes and teleports in EssentialsX
The first file to open after startup is config.yml, in the Essentials folder. Do not paste a configuration found at random on a forum. It can contain 400 lines for a 1.19 version, while your 1.21.8 server generates different keys. Work on the file created by your version. Change only a few values at a time, then test.
Set teleport-delay to 3 on a public survival server. Three seconds prevent use of /home as an emergency button during a fight. Beyond 5 seconds, players often think the command does not work, especially with 80 ms ping and a busy chat. Keep teleport-safety on true. This check prevents arriving in lava, inside a block or above the void. The cost stays low, a safe position search at teleport time, not a continuous task.
For spawn, choose a rule and stick to it. spawn-on-join: false leaves players at their last position after a disconnect. spawn-on-join: true brings them back to the hub on every login. That makes sense for a lobby, much less for survival where a player is mining 4,000 blocks away. If EssentialsXSpawn is installed, set the spawn with /setspawn from the desired world. Also check Minecraft spawn protection in server.properties, spawn-protection at 16 blocks building in a 33 by 33 square for non-ops. Many blame EssentialsX, while Vanilla is refusing the click.
Giving EssentialsX permissions with LuckPerms
Being op solves the problem for 5 minutes and creates ten more. An operator bypasses protections, uses /give, changes spawn, ignores certain limits, and ends up in ops.json with level 4. On a community server, give rights by group. LuckPerms stores these rights cleanly and shows denials without guessing.
lp group default permission set essentials.spawn trueThis command gives /spawn to the default group. Then add essentials.home, essentials.sethome, essentials.delhome, essentials.tpa and essentials.tpaccept. Do not give essentials.* to a player rank. This wildcard also opens moderation commands depending on the loaded modules. For a server with 10 to 40 players, start with 1 home for default, 3 homes for validated member, 5 to 10 for donor if your model allows it. At 50 homes per person, the problem is not storage. It is usage, players replace roads, portals and secondary bases with a confusing list.
- default : essentials.spawn, essentials.home, essentials.sethome, essentials.tpa. A player joins, sets a home, returns to spawn and asks for a teleport.
- member : essentials.sethome.multiple.3, essentials.warp, essentials.back.ondeath. Returning after death remains useful without turning /back into an escape tool.
- moderator : essentials.tp, essentials.tphere, essentials.mute, essentials.kick. No essentials.gamemode if you want to separate staff and creative.
If a player reads "You do not have access to that command.", EssentialsX is already responding. The permission is missing. Type /lp verbose on, replay the command, then read the denied node in the console.
Setting up economy, kits and warps without breaking survival
The EssentialsX economy looks light, but it changes the server pace from day one. Player balances, /sell prices and teleport costs quickly become part of the routine. If you double the earnings after two weeks, older players keep their lead and new players arrive in a currency that is already inflated.
Warps work well for spawn, shop, event and nether. Limit public warps to fewer than 20. Beyond that, players no longer know whether "shop", "shops", "market" and "marche" point to the same area. Warp files are stored in the Essentials folder, with a position, a world, a yaw and a pitch. A world error after a reset causes a warp to an absent dimension or to a coordinate with no ground.
| Setting | Starting value | Why | Problem threshold |
|---|---|---|---|
| Price /home | 0 dollar | Basic command, not a tax | More than 25 dollars slows new players |
| Price /warp shop | 0 to 5 dollars | Small filter against spam | More than 50 dollars makes the shop punitive |
| Tools kit | Cooldown 86400 seconds | One kit per day limits abuse | Less than 3600 seconds gives free iron in a loop |
| Starting money | 100 dollars | Enough to test the shop | More than 1000 dollars crushes small trades |
Keep the kits weak, stone, food, torches. A diamond kit every 24 hours kills mining on a 15-player survival server. For a semi-RP server, sell limited services instead, like a town warp or a colored nickname change with cooldown.
Troubleshooting EssentialsX after an update or console error
A Minecraft update is not handled like a normal restart. First move to Paper, then EssentialsX, then the add-ons. The reverse order produces misleading errors, the plugin loads, then fails on a missing server method. The message "Unsupported API version" often points to a plugin that is too old for the Paper version. The message "Unsupported class file major version 65" points to a Java version that is too low or to a file compiled for Java 21 launched with Java 17.
Before deleting an Essentials folder, back it up. By deleting userdata, you lose homes, last known locations, nicknames, balances, mute times and some cooldowns. An intact world does not give that data back to players.
Make a full backup before every version change, world folder, world_nether folder, world_the_end folder, plugins folder, server.properties file. A 6 GB archive transfers more slowly than a patch, but it avoids the evening where 25 players look for their missing homes. If you need to test, copy the server into a staging instance with the same Java 21 and the same Paper 1.21.8 version.
Avoid /reload. Paper says it itself, "Please note that this command is not supported and may cause issues." EssentialsX sometimes reloads its files with /ess reload, but the hooks with Vault, LuckPerms and chat do not always restart cleanly. Restart the server. Thirty seconds of downtime is better than a plugin half attached for two hours.
Guides
Why does my /home disappear after a world reset?
The EssentialsX home keeps a world name and coordinates. If you delete world then recreate a world with another name, the old home points to a missing world. Restore userdata with the same world name, or warn players that homes linked to the reset are lost.
Why can players use /spawn but not /sethome?
The two commands use two different permissions. /spawn requires essentials.spawn, while /sethome requires essentials.sethome, sometimes with a limit like essentials.sethome.multiple.3. Check LuckPerms verbose to read the exact denied node.
Is EssentialsX enough to protect a base?
No. EssentialsXProtect blocks some global actions, like TNT or fire depending on your settings. It does not manage player claims with members, flags and area limits. Add a land protection plugin if your server accepts strangers.
Do I need to restart the server after changing config.yml?
For a small EssentialsX change, /ess reload reloads part of the configuration. For a version update, a module addition or a change related to Vault, LuckPerms or chat, restart. Restarting avoids hooks loaded in the wrong order.