From EssentialsX to NexoraSMP
Most servers running EssentialsX also run AdvancedBan, ClearLag, ChatControl, a punishment plugin, a kit plugin, an anti-cheat, and three more for staff tools. NexoraSMP replaces the whole stack. This guide walks through the swap.
plugins/ folder and your worlds before you start. We've made the migration safe, but anything that reads the same data as EssentialsX (like balances or homes) needs you to copy that data over by hand if you want to keep it.
What gets replaced
If your server runs any of the following, NexoraSMP covers it natively:
- EssentialsX (homes, warps, /tpa, /spawn, /back, /afk, kits)
- EssentialsX Chat (channels, format, mute)
- EssentialsX AntiBuild (protection)
- AdvancedBan / LiteBans (warns, mutes, kicks, bans, history)
- CoreProtect (audit log via dashboard)
- ClearLag (auto entity cleanup, lag spike detector)
- ChatControl Pro (anti-spam, anti-caps, links filter)
- NoCheatPlus / Matrix (anti-exploit baseline; pair with GrimAC for movement-grade)
- Vault + EssentialsX Economy (built-in eco optional)
- Most staff tools: vanish, freeze, invsee, enderchest, /tp, /tphere, notes, staff chat
Command mapping
Player-facing commands are intentionally identical. Staff tooling sometimes lives under /nexora or /n for clarity, but the EssentialsX names still resolve as aliases unless you turn them off.
| EssentialsX | NexoraSMP | Note | |
|---|---|---|---|
| /sethome | → | /sethome | Identical. Limit set in config.yml |
| /home, /homes | → | /home, /homes | Identical |
| /tpa, /tpaccept | → | /tpa, /tpaccept | Identical. Cooldown configurable |
| /spawn, /setspawn | → | /spawn, /setspawn | Identical |
| /warp, /setwarp | → | /warp, /setwarp | Identical. Stored in data/warps.yml |
| /back | → | /back | Tracks death, teleport, world change |
| /afk | → | /afk | Auto-AFK in config |
| /kit | → | /kit | Defined in modules/kits.yml |
| /vanish | → | /vanish | Staff only. Hides joins/quits |
| /invsee, /echest | → | /invsee, /echest | Identical |
| /freeze | → | /freeze | Identical |
| /mute, /unmute | → | /mute, /unmute | History stored in DB |
| /ban, /tempban, /unban | → | /ban, /tempban, /unban | Replaces AdvancedBan |
| /kick | → | /kick | Identical |
| /warn, /warnings | → | /warn, /warnings | Auto-escalation in config |
| /msg, /reply, /r | → | /msg, /reply, /r | Identical |
| /seen, /whois | → | /seen, /whois | Identical |
| /clearchat | → | /clearchat | Identical |
| /feed, /heal | → | /feed, /heal | Permission-gated |
| /gamemode (gm0..3) | → | /gm0..3, /gmc, /gms | Identical |
| /fly, /god, /speed | → | /fly, /god, /speed | Identical |
| /eco, /pay, /balance | → | — (use Vault) | We don't ship economy. Keep Vault + your eco plugin if needed |
Step-by-step
Stop the server & back up
Take a copy of plugins/, world/, world_nether/, world_the_end/. If you use MySQL, dump that too.
Drop in NexoraSMP
Put the JAR in plugins/. Don't delete EssentialsX yet — start the server with both installed so NexoraSMP can read your existing homes/warps/balances if you want to import them.
plugins/ ├── NexoraSMP.jar ← new ├── EssentialsX.jar ← keep for now └── ...
Run the importer
From console:
/nexora import essentialsx
This pulls homes, warps, kits, and ban/mute history into NexoraSMP's database. Progress shows in console. Idempotent — safe to re-run.
Disable EssentialsX commands
Edit commands.yml in your server root and add EssentialsX command aliases under our names so the right plugin handles each one. Or, simpler: open config.yml and set commands.override-essentials: true. NexoraSMP takes priority on every shared command.
Test on a private copy first
Before pulling the trigger on production, test the import on a copied world + DB. Check homes resolve, /back works, ban history is intact, kits give the right items.
Remove EssentialsX
Once you've confirmed the migration on the test server: stop the live server, remove EssentialsX.jar, restart. NexoraSMP now owns every command it imported.
Permission node mapping
Most permission nodes follow the EssentialsX pattern but under nexora.*. Common mappings:
| EssentialsX | NexoraSMP | |
|---|---|---|
| essentials.home | → | nexora.home |
| essentials.sethome.multiple | → | nexora.home.set.multiple |
| essentials.warps.* | → | nexora.warp.* |
| essentials.kit.<name> | → | nexora.kit.<name> |
| essentials.ban | → | nexora.punish.ban |
| essentials.vanish | → | nexora.staff.vanish |
| essentials.fly | → | nexora.qol.fly |
/nexora import luckperms-permissions after the main import. It generates a diff before applying so you can review.
FAQ
Will my players lose their homes?
No. The importer reads plugins/Essentials/userdata/*.yml and copies homes, last-location, mail, and ignored players into NexoraSMP's database.
Can I run both at the same time?
Yes, but only during the migration window. Long-term, dual ownership of the same commands causes weird behavior. Pick one and disable the other.
What about EssentialsX Economy?
We don't ship our own economy module yet. If you want to keep /pay and /balance, leave Vault + EssentialsXEcon installed. The two plugins coexist fine.
Can I roll back if I don't like it?
Yes. EssentialsX never modifies its own data files when NexoraSMP is also installed (it just stops being asked to). Restore your backup, drop EssentialsX back in, remove NexoraSMP, restart.