Minecraft Server — Known File & Directory Reference
Purpose: Reference for file browser implementation. Covers all supported ZLH variants.
Scope: Files and directories users most commonly need to view, edit, upload, or delete.
Universal (All Variants)
These exist on every Minecraft server regardless of loader.
Root-Level Files
| File |
Format |
Why Users Touch It |
server.properties |
Key=value |
Primary server config — gamemode, difficulty, max players, view distance, PvP, whitelist, MOTD, port, online-mode, seed |
ops.json |
JSON |
Operator (admin) list |
whitelist.json |
JSON |
Allowlisted players |
banned-players.json |
JSON |
Banned player list |
banned-ips.json |
JSON |
Banned IP list |
usercache.json |
JSON |
UUID ↔ username cache (rarely edited manually) |
eula.txt |
Plain text |
Must be accepted on first run |
Root-Level Directories
| Directory |
Why Users Touch It |
world/ |
Primary world — never touched by file browser automation |
world_nether/ |
Nether dimension (Vanilla layout) |
world_the_end/ |
End dimension (Vanilla layout) |
logs/ |
Server logs — users download for debugging |
crash-reports/ |
Crash dumps — users download when server won't start |
Mod Loaders (Forge / NeoForge / Fabric / Quilt)
Directories
| Directory |
Format |
Why Users Touch It |
mods/ |
.jar files |
Add, remove, enable, disable mods — primary user action |
mods-removed/ |
.jar files |
ZLH soft-delete location — restore from here |
config/ |
.toml, .json, .cfg, .yml |
Per-mod configuration — most commonly edited after mods dir |
defaultconfigs/ |
Various |
Default configs applied on new world creation (Forge/NeoForge) |
kubejs/ |
.js files |
KubeJS scripting (popular modpack customization tool) |
scripts/ |
Various |
CraftTweaker and similar scripting mods |
resourcepacks/ |
.zip files |
Server-side resource packs |
datapacks/ |
.zip or folder |
Data-driven game modifications |
Config File Formats (inside config/)
| Format |
Extension |
Notes |
| TOML |
.toml |
Most common for NeoForge/Forge 1.18+ mods |
| JSON |
.json |
Common for Fabric mods and some Forge mods |
| CFG |
.cfg |
Older Forge mod format (1.12 era, still seen) |
| YAML |
.yml |
Less common, some mods use it |
| Plain text |
.txt, .conf |
Rare, older mods |
NeoForge / Forge Specific
| File/Dir |
Why Users Touch It |
config/forge-server.toml |
Forge server settings |
config/neoforge-server.toml |
NeoForge server settings |
config/fml.toml |
FML (Forge Mod Loader) settings |
libraries/ |
Loader libraries — do not touch |
mods/dev/ |
ZLH dev-promoted mods channel |
mods/curated/ |
ZLH Modrinth-installed mods channel |
Fabric / Quilt Specific
| File/Dir |
Why Users Touch It |
fabric-server-launch.jar |
Loader binary — do not touch |
fabric-server.properties |
Fabric-specific settings (rare) |
config/fabric/ |
Fabric mod configs |
Plugin Servers (Paper / Purpur / Spigot / Bukkit)
Directories
| Directory |
Format |
Why Users Touch It |
plugins/ |
.jar files |
Add, remove plugins — equivalent of mods/ for this stack |
plugins/<PluginName>/ |
Various |
Per-plugin config folder, created on first run |
plugins/<PluginName>/config.yml |
YAML |
Primary config for most plugins |
Paper-Specific Config Files
| File |
Why Users Touch It |
bukkit.yml |
Bukkit base config — spawn limits, chunk GC, aliases |
spigot.yml |
Spigot config — mob spawning, merge radius, tick limiters |
config/paper-global.yml |
Paper global settings (1.19+) |
config/paper-world-defaults.yml |
Paper per-world defaults |
config/paper-world/ |
Per-world Paper overrides |
pufferfish.yml |
Pufferfish-specific optimizations |
purpur.yml |
Purpur-specific gameplay customizations |
Common Plugin Config Files (by plugin name)
These are the most widely deployed plugins — their configs are commonly edited:
| Plugin |
Config Location |
| EssentialsX |
plugins/Essentials/config.yml |
| LuckPerms |
plugins/LuckPerms/config.yml |
| Vault |
plugins/Vault/config.yml |
| WorldEdit |
plugins/WorldEdit/config.yml |
| WorldGuard |
plugins/WorldGuard/config.yml |
| CoreProtect |
plugins/CoreProtect/config.yml |
| Dynmap |
plugins/dynmap/configuration.txt |
| Multiverse-Core |
plugins/Multiverse-Core/config.yml |
World Directory Structure
ZLH Note: World data is excluded from all automation. Never touched by the agent, mod deployment safety, or file browser delete operations.
Vanilla / Forge / Fabric Layout
world/
level.dat ← World metadata, seed, game rules
level.dat_old ← Backup of level.dat
session.lock ← Prevents concurrent access
playerdata/ ← Per-player .dat files
stats/ ← Player statistics JSON
advancements/ ← Player advancement data
data/ ← Scoreboard, structure data, maps
region/ ← Overworld chunk data (.mca files)
entities/ ← Entity chunk data (1.17+)
poi/ ← Point-of-interest data
world_nether/
DIM-1/
region/
world_the_end/
DIM1/
region/
Paper Layout (different from Vanilla)
world/
region/ ← Overworld chunks
world/DIM-1/
region/ ← Nether chunks (stored inside world/)
world/DIM1/
region/ ← End chunks (stored inside world/)
This layout difference is why migrating between Paper and Vanilla requires manual steps.
Logs & Diagnostics
| File/Dir |
Contents |
User Action |
logs/latest.log |
Current session log |
Download for support |
logs/<date>-N.log.gz |
Archived logs |
Download for debugging |
crash-reports/<timestamp>.txt |
JVM crash report |
Download when server won't start |
debug/ |
Verbose debug output (Paper) |
Rarely needed |
lifecycle.log |
ZLH agent lifecycle/probe log |
ZLH-specific diagnostic |
File Types Summary (for browser rendering decisions)
| Extension |
Editable in Browser |
Notes |
.properties |
✅ Yes |
server.properties |
.yml / .yaml |
✅ Yes |
Plugin configs |
.toml |
✅ Yes |
NeoForge/Forge mod configs |
.json |
✅ Yes |
Ops, whitelist, some mod configs |
.cfg |
✅ Yes |
Older Forge configs |
.txt |
✅ Yes |
EULA, some configs |
.js |
✅ Yes |
KubeJS scripts |
.log |
✅ Read-only |
Logs |
.jar |
❌ No — download only |
Mods, plugins |
.gz |
❌ No — download only |
Archived logs |
.mca |
❌ No — download only |
Chunk data |
.dat |
❌ No — download only |
Binary world data |
.zip |
❌ No — download only |
Resource/datapacks |
Priority Surfaces for File Browser (by user need)
High — most users will need these:
server.properties — edit directly
mods/ — view, enable/disable, delete, upload
mods-removed/ — restore deleted mods
config/ — edit mod configs
logs/latest.log — download for support
crash-reports/ — download when broken
Medium — modpack/advanced users:
7. plugins/ (plugin servers)
8. plugins/<Name>/config.yml
9. bukkit.yml, spigot.yml, paper-global.yml
10. kubejs/, scripts/ (heavily modded servers)
Low — rarely needed:
11. ops.json, whitelist.json, banned-*.json
12. defaultconfigs/
13. resourcepacks/, datapacks/
ZLH-Specific Paths
| Path |
Purpose |
mods/curated/ |
Modrinth-installed mods |
mods/dev/ |
Dev-container promoted mods |
mods-removed/ |
Soft-deleted mods (restore via file browser) |
.zlh_snapshots/ |
Deployment safety snapshots — do not expose in browser |
lifecycle.log |
Agent probe/lifecycle diagnostics |