Description
EliteEssentials
The all-in-one essentials mod for Hytale servers. Homes, warps, kits, teleportation, economy, chat formatting, permissions, and more. Fully configurable and modular.
LuckPerms compatible | HyperPerms compatible | VaultUnlocked compatible | PlaceholderAPI support | Actively developed
Wiki | Report Issues | Discord
Have a suggestion, issue, or idea?
The goal for this plugin is to make it the best there is for you. If something is missing or could be better, we want to hear about it. Join us on Discord and let's chat about it.
Switching from another essentials mod?
EliteEssentials can migrate your data from EssentialsCore, Hyssentials, EssentialsPlus, or HomesPlus. Use /eemigration <source> (e.g. /eemigration essentialscore). Homes, warps, and player data are imported where applicable.
Switching from JSON to SQL?
Use /eemigrate to transfer all existing JSON data to your configured SQL database. Set storage.storageType to "h2" or "mysql" in config first, then restart and run the command.
Highlights
- Fully modular. Enable only the features you want. Disabled commands become OP-only.
- 300+ configurable messages. Full localization support via
messages.json. Translate the mod to any language. - Two permission modes. Simple mode (OP/Everyone) out of the box, or advanced mode with granular LuckPerms nodes.
- GUI everywhere. Homes, warps, kits, and TPA all have interactive selection GUIs.
- Per-world configuration. RTP ranges, spawn behavior, and more can be configured per world.
- Config auto-migration. Existing settings are preserved when updating.
Features at a Glance
Teleportation
| Command | What it does |
|---|---|
/home [name] |
Teleport to a saved home |
/sethome [name] |
Save a named home location |
/delhome <name> |
Delete a home |
/homes |
GUI to view, teleport, and manage homes |
/spawn [name] |
Teleport to spawn (nearest or named when per-world) |
/setspawn [name] |
Set spawn (named when per-world) (Admin) |
/delspawn <name> |
Delete a named spawn point (Admin) |
/spawns |
List spawn points in current world (Admin) |
/setfirstjoinspawn |
Set where new players spawn (Admin) |
/delfirstjoinspawn |
Remove first-join spawn (Admin) |
/back |
Return to your previous location (works on death) |
/rtp |
Random teleport with safe landing detection |
/rtp <player> [world] |
Admin/console: RTP a player (optionally to a world) |
/top |
Teleport to highest block (Admin) |
- Configurable max homes (global or permission-based:
home.limit.5) - Per-world RTP ranges with min/max distance settings
- Per-world spawns: set named spawns per world and teleport with
/spawn <worldname> - Cooldowns, warmups, and economy costs on all teleport commands
- Permission-based cooldown/warmup overrides per group
Teleport Requests
| Command | What it does |
|---|---|
/tpa [player] |
Request to teleport to someone (GUI if no player given) |
/tpahere [player] |
Request someone to teleport to you (GUI if no player given) |
/tpaccept |
Accept a request |
/tpdeny |
Deny a request |
/tphere <player> |
Instantly teleport a player to you (Admin) |
Kits
| Command | What it does |
|---|---|
/kit |
Opens the kit selection GUI |
/kit <name> |
Claim a specific kit (works with NPC integration) |
/kit create <name> [cooldown] [onetime] |
Create a kit from your inventory (Admin) |
/kit delete <name> |
Delete a kit (Admin) |
- One-time and cooldown-based kits
- Per-rank kit cooldown overrides via LuckPerms/HyperPerms (
kit.cooldown.<kitname>.<seconds>) - Inventory space check prevents claiming when inventory is full (replace-inventory kits are exempt)
- Starter kit auto-given to new players on first join
- Kits can execute server commands on claim (grant permissions, give currency, etc.)
- Per-kit permissions in advanced mode
- Aliases:
/kitsfor kit GUI
Warps
| Command | What it does |
|---|---|
/warp |
Opens the warp GUI |
/warp <name> |
Teleport directly to a warp |
/warp list |
Text list of all warps |
/warpadmin |
Create, delete, or inspect warps (Admin) |
/warpsetperm |
Set warp permission level (Admin) |
/warpsetdesc |
Set warp description shown in GUI (Admin) |
- Per-warp permissions:
all(everyone) orop(admins only)
Player Warps (Disabled by Default)
| Command | What it does |
|---|---|
/pwarp gui |
Opens the player warps GUI |
/pwarp <name> |
Teleport to a player warp |
/pwarp create <public|private> <name> [desc] |
Create a warp at your location |
/pwarp delete <name> |
Delete your warp |
/pwarp toggle <name> |
Switch between public and private |
/pwarp list |
List your warps with count/limit |
/pwarp info <name> |
View warp details |
/pwarp setdesc <name> <desc> |
Update warp description |
/pwarp setloc <name> |
Move warp to current position |
- Public warps visible to everyone; private warps visible only to the owner
- Per-group warp limits via LuckPerms/HyperPerms (
pwarp.limit.5,pwarp.limit.unlimited) - Cooldowns, warmups, and economy costs (both teleport and creation)
- GUI with delete confirmation for owned warps
- Full storage support: JSON, H2, MySQL
Economy (Disabled by Default)
| Command | What it does |
|---|---|
/wallet [player] |
View own or another player's balance |
/wallet set/add/remove <player> <amount> |
Admin: set, add, or remove balance |
/pay <player> <amount> |
Send money to another player |
/baltop |
Richest players leaderboard |
/eco |
Admin balance management (check, set, add, remove) |
- Configurable currency name, symbol, and starting balance
- Command costs. Charge players for teleport commands.
- Permission-based cost overrides and bypass nodes
- Balance change notifications - notify players when their wallet changes (chat, global broadcast, or HUD tooltip)
- Server sender name - customize the name shown for server-initiated economy changes (e.g., "Bank", "System")
- Full API for other mods (
com.eliteessentials.api.EconomyAPI) - VaultUnlocked integration for cross-mod economy compatibility
Chat and Communication
| Command | What it does |
|---|---|
/msg <player> <message> |
Private message (aliases: /whisper, /pm, /tell) |
/reply <message> |
Reply to last conversation |
/gc [chat] <message> |
Group/channel chat (aliases: /groupchat, /g) |
/gcset [chat] |
Set your default group chat for /gc |
/chats |
List your available chat channels |
/gcspy |
Spy on all group chats (Admin) |
/broadcast <message> |
Broadcast to all players (Admin) |
/clearchat |
Clear chat for everyone (Admin) |
/sendmessage |
Send formatted messages to players/groups (Admin) |
- Group-based chat formatting. Customize chat appearance per group with color codes, hex colors, and placeholders
- LuckPerms prefix/suffix.
{prefix}and{suffix}placeholders pull from LuckPerms meta - Tab list prefix. Show LuckPerms prefix in the player tab list (configurable)
- Group chat channels. Group-based or permission-based channels with optional proximity range
- PlaceholderAPI. Use cross-plugin placeholders in chat format, and expose EE placeholders to other mods
- Player chat colors. Allow players to use color codes in chat (configurable per permission)
Server Info
| Command | What it does |
|---|---|
/motd |
Message of the Day with color codes, hex colors, clickable URLs, and placeholders |
/rules |
Server rules |
/discord |
Discord info with clickable invite link |
/list |
Online players (aliases: /online, /who) |
/eehelp |
All commands you have permission to use |
- Custom help entries via
custom_help.json- add help text for commands from other plugins to/eehelp- Each entry has
command,description,permission(everyone/op/custom node), andenabledfields - Ships with disabled examples so admins can see the format immediately
- Reloads with
/ee reload
- Each entry has
- All commands appear in
/eehelpbased on your permissions:/playtime,/joindate,/playerinfo,/mail,/afk,/ignore,/unignore,/gc,/gcset,/chats,/repair,/trash,/vanish,/clearchat,/mute,/unmute,/warn,/warnings,/clearwarnings,/ban,/unban,/tempban,/ipban,/unipban,/freeze,/invsee, spawn commands, and more - Console broadcast options for monitoring player communications (all disabled by default)
chatFormat.broadcastToConsole- logs all player chat to console as[CHAT]groupChat.broadcastToConsole- logs all group chat messages to console as[GC]msg.broadcastToConsole- logs all private messages (/msg, /reply) to console as[MSG]
Player Management
| Command | What it does |
|---|---|
/god |
Toggle invincibility (Admin) |
/heal [player] |
Restore full health (self: Everyone when enabled; others: Admin) |
/fly |
Toggle flight (Admin); optional cost-per-minute for limited paid flight |
/flyspeed <1-100|reset> |
Set fly speed (Admin) |
/clearinv [player] |
Clear own or target's inventory (Admin); console must specify player |
/trash [size] |
Open a disposal window to trash items (optional 1–45 slots) |
/repair [all] |
Repair held item or entire inventory (Admin) |
/vanish |
Toggle invisibility with fake join/leave messages (Admin) |
/seen <player> |
View player info (first join, last seen, play time) |
/playerinfo [player] |
Detailed player stats (UUID, nickname, wallet, playtime, kit claims, etc.) |
/joindate [player] |
Check first join date |
/playtime [player] |
Check total play time |
/afk |
Toggle AFK status (auto-AFK on inactivity, tab list prefix) |
/invsee <player> |
View (and optionally modify) a player's inventory (Admin) |
- Console support:
/repair,/heal,/god,/fly,/flyspeed, and/clearinvcan target specific players from console or NPCs - World blacklists: restrict commands from being used in specific worlds (supports
*wildcards)
Moderation
| Command | What it does |
|---|---|
/mute <player> [reason] |
Mute a player server-wide (Admin) |
/unmute <player> |
Unmute a player (Admin) |
/warn <player> [reason] |
Add a warning to a player (Admin) |
/warnings [player] |
List warnings for self or target |
/clearwarnings <player> |
Clear all warnings for a player (Admin) |
/ban <player> [reason] |
Permanently ban a player (Admin) |
/unban <player> |
Unban a player (Admin) |
/tempban <player> <time> [reason] |
Temporarily ban a player (Admin) |
/ipban <player> [reason] |
IP ban a player (Admin) |
/unipban <player> |
Remove an IP ban (Admin) |
/freeze <player> |
Freeze/unfreeze a player (Admin) |
/ignore <player> |
Block a player's messages (personal) |
/ignore list |
List ignored players |
/unignore <player|all> |
Stop ignoring a player or all |
- Warning system: Warnings stored per player; optional auto-punish (ban or tempban) at configurable threshold when warning count is reached
- Offline player support: All moderation commands (
/ban,/tempban,/mute,/freeze,/warn,/ipban) work on offline players. Partial name matching for both online and offline lookups
Mail System
| Command | What it does |
|---|---|
/mail send <player> <message> |
Send mail to any player (online or offline) |
/mail read [number] |
Read mail |
/mail list |
List all mail with timestamps and unread indicators |
/mail clear [read] |
Clear all or just read mail |
/mail delete <number> |
Delete specific mail |
- Login notification for unread mail
- Spam protection with per-recipient cooldown
- Configurable mailbox limit
PlayTime Rewards
- Repeatable rewards. Trigger every X minutes (e.g., hourly bonus)
- Milestone rewards. One-time rewards at specific thresholds (e.g., 100 hours played = VIP rank)
- Execute LuckPerms commands, grant economy currency, or send custom messages
- Defined in
playtime_rewards.json
Command Aliases
/alias create <name> <command> [permission]Create custom shortcut commands (Admin)- Works with commands from any mod
- Command chains with
;separator (e.g.,warp spawn; heal; fly) - Auto-generated permission nodes per alias
- Silent mode for suppressing teleport messages
- Two-gate permission model - Gate 1: alias permission controls who can use the alias. Gate 2: validates the player has the target command's actual permission before dispatch, not just the alias's own permission
- Prevents privilege escalation where an alias with "everyone" permission could invoke admin-only commands
- Covers all known EE commands via a permission map; unknown commands (other plugins) pass through to the target command's own permission check via
CommandManager - Debug logging shows when Gate 2 blocks a command
Nickname System
| Command | What it does |
|---|---|
/nick <nickname> |
Set your own display nickname (Admin) |
/nick off |
Clear your own nickname (Admin) |
/nick <player> <nickname|off> |
Set/clear another player's nickname (requires nickname.others) |
/realname <name> |
Look up the real username behind a nickname (Admin) |
- Nicknames appear in chat, group chat, tab list,
/msg,/list, and join/quit messages - Color codes in nicknames gated behind
eliteessentials.command.misc.nick.colorpermission - Admin only in simple mode
- Note: other mods will still show the player's real username
Sleep Percentage
/sleeppercent <0-100>Set percentage of players needed to skip the night (Admin)- Configurable sleep and wake times
- AFK players excluded from the sleep percentage count (configurable via
afk.excludeFromSleep) - Progress messages shown to all players
Spawn Protection
- Configurable radius and Y-range around spawn
- Disable PvP and/or all damage in the protected area
- Per-world: each world with a set spawn can have its own protection
- Admin bypass permission:
eliteessentials.command.spawn.protection.bypass - First-join spawn: set a dedicated spawn for new players with
/setfirstjoinspawn - Multi-spawn: when per-world is enabled, set multiple named spawns per world with
/setspawn <name>. Choose nearest or random spawn selection for/spawnand death respawn
Admin UI Panel (/eeadmin)
- Full graphical admin dashboard with server stats, player management, and moderation tools
- Tabs: Dashboard, Players, Bans, Mutes, Warnings, Stats, Activity Log, Economy, Teleports, Player Data
- Quick-remove [X] buttons on active bans, mutes, and individual warnings
- Player Data tab shows homes, back history, kit claims, and player warps with TP/DEL buttons
- All moderation actions work for both online and offline players
- Granular permissions per action (see Wiki)
Group Sync
/ee groupsync lp-to-eeCopy LuckPerms groups into config.json (chatFormat, warps.groupLimits)/ee groupsync hp-to-eeCopy HyperPerms groups into config.json/ee groupsync ee-to-lpCreate missing EE config groups in LuckPerms/ee groupsync ee-to-hpCreate missing EE config groups in HyperPerms
Join Messages, Greetings & Death Messages
- Join/quit: Customizable first-join and regular join/quit messages; option to suppress default Hytale messages; optional world-change messages
- Greetings: Rule-based conditional messages on join, world enter, or respawn. Send different messages to different players based on group, permissions, world, or first-join status. Optional broadcast mode to announce to all players (e.g., VIP join announcements). Vanish-safe.
{displayname}placeholder for nick compatibility. Rules stored ingreetings.json. - Death messages: Configurable death messages with optional killer and cause (labels and format in
messages.json) - Spawn on login:
teleportOnEveryLoginrewrites the player's save file on disconnect so they load directly at spawn with no teleport flash- Works with per-world spawns and mainWorld setting; new players use
/setfirstjoinspawnor default spawn /setspawnmessage is customizable via messages.json (spawnSetwith{world}and{location})
- Works with per-world spawns and mainWorld setting; new players use
Permissions
Two modes via advancedPermissions in config:
Simple mode (default): "Everyone" commands work for all players. "Admin" commands require OP.
Advanced mode: Granular permission nodes following eliteessentials.command.<category>.<action>. Supports per-group cooldowns, warmups, costs, home limits, and bypass nodes. See the Wiki for the full permission reference.
Data Storage
EliteEssentials supports three storage backends, configurable via config.json:
- JSON (default) — file-based storage in
mods/EliteEssentials/. Zero setup, works out of the box. - H2 (embedded SQL) — embedded database stored in the plugin data folder. No external software needed. Better performance and data integrity than JSON.
- MySQL/MariaDB — external database for multi-server networks. Player data is shared across all connected servers.
Switch backends by setting storage.storageType to "json", "h2", or "mysql" in config.json. Use /eemigrate to migrate existing JSON data to SQL. See the Wiki for setup details.
All data lives in mods/EliteEssentials/:
- Config & content:
config.json,messages.json,motd.json,rules.json,discord.json,aliases.json,custom_help.json,groupchat.json,greetings.json,autobroadcast.json,playtime_rewards.json - Server data:
warps.json,player_warps.json,kits.json,spawn.json,firstjoinspawn.json,mutes.json,warns.json,bans.json,tempbans.json,ipbans.json,freezes.json - Per-player data:
players/<uuid>.json(homes, back locations, kit claims, mail, wallet, playtime, nickname, ignore list, default group chat, IP history, etc.)
Homes and other player-specific data are stored in each player's file under players/; there is no separate homes.json.
Config Update Notice
When you update EliteEssentials, your existing config is preserved and new options are added with defaults. You usually do not need to delete anything. If you experience issues after an update, you can delete mods/EliteEssentials/config.json and restart to generate a fresh config, then reapply your custom values.
Roadmap
- Chat filter with configurable actions
