-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
EliteEssentials is fully configurable through the config.json file located at mods/EliteEssentials/config.json.
mods/
EliteEssentials/
config.json
After editing the configuration, apply changes with:
/eliteessentials reload
{
"debug": false,
"advancedPermissions": false
}| Option | Type | Default | Description |
|---|---|---|---|
debug |
boolean | false |
Enable verbose debug logging |
advancedPermissions |
boolean | false |
Enable granular permission nodes (see Permissions) |
When set to true, EliteEssentials outputs detailed logging information to the server console. This is useful for troubleshooting issues but should be disabled in production to reduce log spam.
This setting controls how command access is determined:
When false (Default - Simple Mode):
- Commands use simple access levels: "Everyone" or "Admin only"
- All players can use basic commands (home, back, tpa, rtp, spawn, warp)
- Admin commands require OP status or
eliteessentials.admin.* - No permission plugin or setup required
When true (Advanced Mode):
- Default permissions are disabled completely
- Every command requires an explicit permission node to be granted
- Players without permissions cannot use any commands (except admins)
- You must configure permissions using Hytale's permission system or a permission management mod
- Allows fine-grained control: different ranks can have different home limits, bypass cooldowns, access specific warps, etc.
Important: When enabling Advanced Mode, you must set up permissions for your players or they will lose access to all commands. See the Permissions page for the complete list of permission nodes to grant.
"rtp": {
"enabled": true,
"minRange": 100,
"maxRange": 5000,
"cooldownSeconds": 30,
"warmupSeconds": 3,
"maxAttempts": 10,
"minSurfaceY": 50,
"chunkLoadTimeoutMs": 500,
"defaultHeight": 128,
"invulnerabilitySeconds": 5
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the /rtp command |
minRange |
int | 100 |
Minimum distance from center for random location |
maxRange |
int | 5000 |
Maximum distance from center for random location |
cooldownSeconds |
int | 30 |
Cooldown between uses (0 = no cooldown) |
warmupSeconds |
int | 3 |
Time player must stand still before teleport (0 = instant) |
maxAttempts |
int | 10 |
Maximum attempts to find a safe location |
minSurfaceY |
int | 50 |
Minimum Y level to accept (avoids caves/dungeons) |
chunkLoadTimeoutMs |
int | 500 |
Timeout for loading unloaded chunks (0 = skip) |
defaultHeight |
int | 128 |
Default Y height when chunk is not loaded |
invulnerabilitySeconds |
int | 5 |
Seconds of invulnerability after RTP (0 = disabled) |
"back": {
"enabled": true,
"maxHistory": 5,
"workOnDeath": true,
"cooldownSeconds": 0,
"warmupSeconds": 0
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the /back command |
maxHistory |
int | 5 |
Number of previous locations to remember |
workOnDeath |
boolean | true |
Save death location for /back |
cooldownSeconds |
int | 0 |
Cooldown between uses |
warmupSeconds |
int | 0 |
Warmup time before teleport |
"tpa": {
"enabled": true,
"timeoutSeconds": 30,
"warmupSeconds": 3
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable TPA commands |
timeoutSeconds |
int | 30 |
Seconds before request expires |
warmupSeconds |
int | 3 |
Warmup after accepting (requester must stand still) |
"homes": {
"enabled": true,
"maxHomes": 3,
"defaultMaxHomes": 3,
"cooldownSeconds": 0,
"warmupSeconds": 3
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable home commands |
maxHomes |
int | 3 |
Maximum homes per player |
defaultMaxHomes |
int | 3 |
Default max for new players |
cooldownSeconds |
int | 0 |
Cooldown between /home uses |
warmupSeconds |
int | 3 |
Warmup time before teleport |
"spawn": {
"enabled": true,
"cooldownSeconds": 0,
"warmupSeconds": 3
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the /spawn command |
cooldownSeconds |
int | 0 |
Cooldown between uses |
warmupSeconds |
int | 3 |
Warmup time before teleport |
"spawnProtection": {
"enabled": false,
"radius": 50,
"minY": -1,
"maxY": -1,
"disablePvp": true,
"disableAllDamage": false
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | false |
Enable/disable spawn protection |
radius |
int | 50 |
Protection radius in blocks (square area) |
minY |
int | -1 |
Minimum Y level to protect (-1 = no limit) |
maxY |
int | -1 |
Maximum Y level to protect (-1 = no limit) |
disablePvp |
boolean | true |
Disable PvP in spawn area |
disableAllDamage |
boolean | false |
Disable ALL damage in spawn area (fall, fire, drowning, etc.) |
Important: Spawn protection requires /setspawn to be used first. The protection area is centered on the spawn location set by an admin.
disableAllDamage: When enabled, players in the spawn area are completely invulnerable to all damage sources including fall damage, fire, drowning, mob attacks, and environmental damage. This is useful for spawn areas where you want players to be completely safe.
"warps": {
"enabled": true,
"cooldownSeconds": 0,
"warmupSeconds": 3,
"maxWarps": -1,
"groupLimits": {
"Admin": -1,
"Owner": -1,
"Moderator": 20,
"VIP": 10,
"Default": 5
}
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable warp commands |
cooldownSeconds |
int | 0 |
Cooldown between /warp uses |
warmupSeconds |
int | 3 |
Warmup time before teleport |
maxWarps |
int | -1 |
Maximum warps that can be created (-1 = unlimited) |
groupLimits |
object | see below | Per-group warp limits (advanced permissions mode) |
Warp Limits:
-
maxWarps: Global limit for total warps. Set to-1for unlimited. -
groupLimits: Per-group limits when using advanced permissions mode. Players get the highest limit from their groups. Use-1for unlimited.
Permission-based limits (Advanced Mode):
-
eliteessentials.command.warp.limit.<number>- Set specific limit -
eliteessentials.command.warp.limit.unlimited- Unlimited warps
"sleep": {
"enabled": true,
"sleepPercentage": 50
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable sleep percentage feature |
sleepPercentage |
int | 50 |
Percentage of players needed to skip night (0-100) |
"deathMessages": {
"enabled": true,
"showKiller": true,
"showCause": true
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable death messages |
showKiller |
boolean | true |
Show killer name (player or mob) |
showCause |
boolean | true |
Show death cause (fall, fire, etc.) |
"discord": {
"enabled": true
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the /discord command |
Configuration:
The discord content is configured in mods/EliteEssentials/discord.json. Edit this file to customize your server's discord information. URLs are automatically made clickable.
"autoBroadcast": {
"enabled": true
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the auto broadcast system |
Configuration:
Auto broadcasts are configured in mods/EliteEssentials/autobroadcast.json. This file contains an array of broadcast groups, each with their own settings.
Example autobroadcast.json:
{
"broadcasts": [
{
"id": "discord",
"enabled": true,
"intervalSeconds": 600,
"prefix": "",
"random": false,
"requirePlayers": true,
"messages": [
"&5&l[Discord]&7 - &fJoin our community!\n&7Chat, updates, events & support.\n&bhttps://discord.gg/YourInvite",
"&6&l[Tip]&7 - &fNeed help getting started?\n&7Check out our commands with &e/help\n&7Set your home with &e/sethome"
]
}
]
}Broadcast Options:
| Option | Type | Default | Description |
|---|---|---|---|
id |
string | required | Unique identifier for this broadcast group |
enabled |
boolean | true |
Enable/disable this specific broadcast |
intervalSeconds |
int | 600 |
Seconds between broadcasts |
prefix |
string | "" |
Prefix added before each message (supports color codes) |
random |
boolean | false |
If true, picks random message; if false, cycles sequentially |
requirePlayers |
boolean | true |
Only broadcast when players are online |
messages |
array | required | Array of messages to broadcast |
Multi-line Messages:
Use \n within a message string to create multiple lines:
"messages": [
"&5&l[Discord]&7 - &fJoin our community!\n&7Chat, updates & support.\n&bhttps://discord.gg/YourInvite"
]Color Codes:
All standard color codes are supported: &0-9, &a-f, &l (bold), &o (italic), &r (reset)
Clickable URLs:
URLs starting with http:// or https:// are automatically made clickable.
All player-facing messages can be customized in the messages section. See Placeholders for available placeholders.
"messages": {
"prefix": "[EliteEssentials] ",
"noPermission": "You don't have permission to use this command.",
"playerNotFound": "Player not found.",
"commandDisabled": "This command is disabled.",
"onCooldown": "You must wait {seconds} seconds before using this command again.",
"warmupStarted": "Teleporting in {seconds} seconds. Don't move!",
"warmupCancelled": "Teleport cancelled - you moved!",
"warmupCountdown": "Teleporting in {seconds}..."
}See the Placeholders page for a complete list of all configurable messages and their placeholders.
{
"debug": false,
"advancedPermissions": false,
"rtp": {
"enabled": true,
"minRange": 500,
"maxRange": 10000,
"cooldownSeconds": 300,
"warmupSeconds": 5
},
"homes": {
"enabled": true,
"maxHomes": 3,
"warmupSeconds": 5
},
"tpa": {
"enabled": true,
"timeoutSeconds": 60,
"warmupSeconds": 5
}
}{
"debug": false,
"advancedPermissions": false,
"rtp": {
"enabled": true,
"cooldownSeconds": 0,
"warmupSeconds": 0
},
"homes": {
"enabled": true,
"maxHomes": 10,
"warmupSeconds": 0
},
"tpa": {
"enabled": true,
"warmupSeconds": 0
}
}{
"debug": false,
"advancedPermissions": true,
"rtp": {
"enabled": false
},
"back": {
"enabled": true,
"workOnDeath": false,
"cooldownSeconds": 600
},
"homes": {
"enabled": true,
"maxHomes": 1,
"cooldownSeconds": 300,
"warmupSeconds": 10
}
}When updating EliteEssentials, your existing configuration is preserved. New options are automatically added with their default values. You do not need to recreate your config file when updating.
EliteEssentials by EliteScouter | GitHub | Report Issues