-
Notifications
You must be signed in to change notification settings - Fork 12
Data Storage
elitescouter edited this page Jan 15, 2026
·
16 revisions
EliteEssentials stores all persistent data in JSON files within the mod's data folder.
mods/
EliteEssentials/
config.json - Configuration settings
homes.json - Player home locations
warps.json - Server warp locations
back.json - Player back locations (previous positions)
Stores all player home locations indexed by player UUID.
{
"550e8400-e29b-41d4-a716-446655440000": {
"base": {
"name": "base",
"location": {
"world": "world",
"x": 100.5,
"y": 64.0,
"z": -200.5
},
"createdAt": 1704067200000
},
"mine": {
"name": "mine",
"location": {
"world": "world",
"x": 500.0,
"y": 12.0,
"z": 300.0
},
"createdAt": 1704153600000
}
}
}Structure:
- Top-level keys are player UUIDs
- Each player has a map of home name to home object
- Home names are stored lowercase
-
createdAtis Unix timestamp in milliseconds
Stores all server warp locations.
{
"shop": {
"name": "shop",
"location": {
"world": "world",
"x": 0.0,
"y": 64.0,
"z": 0.0
},
"permission": "ALL",
"createdBy": "EliteScouter",
"createdAt": 1704067200000
},
"arena": {
"name": "arena",
"location": {
"world": "world",
"x": 1000.0,
"y": 80.0,
"z": 1000.0
},
"permission": "OP",
"createdBy": "Admin",
"createdAt": 1704153600000
}
}Structure:
- Top-level keys are warp names (lowercase)
-
permissionis eitherALLorOP -
createdByis the player name who created the warp -
createdAtis Unix timestamp in milliseconds
Stores player back location history.
{
"550e8400-e29b-41d4-a716-446655440000": [
{
"world": "world",
"x": 100.0,
"y": 64.0,
"z": -200.0
},
{
"world": "world",
"x": 50.0,
"y": 70.0,
"z": -100.0
}
]
}Structure:
- Top-level keys are player UUIDs
- Each player has an array of locations (most recent first)
- Array size is limited by
back.maxHistoryconfig
All location objects share the same structure:
{
"world": "world",
"x": 100.5,
"y": 64.0,
"z": -200.5
}| Field | Type | Description |
|---|---|---|
world |
string | World/dimension name |
x |
double | X coordinate |
y |
double | Y coordinate (height) |
z |
double | Z coordinate |
-
Homes - Saved immediately after each
/sethomeor/delhome -
Warps - Saved immediately after each
/setwarpor/delwarp - Back - Saved periodically and on server shutdown
- All Data - Saved on server shutdown
EliteEssentials automatically saves all data when:
- The server shuts down gracefully
- A home or warp is created/deleted
- The
/eliteessentials reloadcommand is run
- Data files use atomic writes to prevent corruption
- Existing data is preserved during mod updates
- Invalid JSON entries are logged and skipped (not deleted)
It is recommended to regularly backup the mods/EliteEssentials/ folder, especially:
- Before updating EliteEssentials
- Before making major configuration changes
- As part of your regular server backup routine
# Linux/Mac
cp -r mods/EliteEssentials/ backups/EliteEssentials-$(date +%Y%m%d)/
# Windows
xcopy mods\EliteEssentials backups\EliteEssentials-%date:~-4,4%%date:~-10,2%%date:~-7,2% /E /IYou can manually edit the JSON files while the server is stopped. Be careful to:
- Stop the server first - Editing while running may cause data loss
- Validate JSON syntax - Use a JSON validator before saving
- Maintain structure - Keep the same field names and types
- Use valid UUIDs - Player UUIDs must be valid format
Player UUIDs can be found:
- In server logs when players join
- Using online UUID lookup tools with player names
- In the existing data files
When updating EliteEssentials:
- Existing data files are preserved
- New fields are added with default values
- Deprecated fields are ignored (not deleted)
No manual migration is required when updating.
- Check file permissions on the data folder
- Ensure the server has write access
- Check server logs for error messages
- Verify disk space is available
If a data file becomes corrupted:
- Stop the server
- Check the file for JSON syntax errors
- Fix the syntax or restore from backup
- Start the server
- Check if the data folder location changed
- Look for data in both old and new locations
- Manually copy data files if needed
- Data files are loaded into memory on server start
- Large numbers of homes/warps may increase memory usage
- Consider periodic cleanup of unused data for very large servers
EliteEssentials by EliteScouter | GitHub | Report Issues