Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
LOD Server Support
Players with Voxy can see fully rendered terrain out to hundreds of chunks on multiplayer servers without needing to explore the world first.
Supports Fabric clients and Fabric, Paper, Purpur, Folia servers.
See https://github.com/VoX/lod-server-support for the most up to date documentation.
Demo Video: https://github.com/user-attachments/assets/721fb344-890e-4e03-ab36-539444427f7b
Try it live: join our Minecraft 26.2 test server at lod-server-support.modrinth.gg with Voxy and this mod installed to watch the LOD terrain stream in.
Minecraft 26.1 community server with LSS: https://vanillaeuropa.com
Installation
Install LOD Server Support (LSS) on both the server (Fabric mod or Paper plugin) and every client (LSS Fabric mod + Voxy). Without LSS on both the connecting client and on the server it will not function. Clients additionally need Voxy installed.
Redistribution
This mod is MIT-licensed — redistribution with attribution is welcome, and modpacks can reference the official Modrinth project directly. Per Modrinth's reupload policy: XANTHA via Voxy Server Side has the copyright holder's explicit permission to distribute this mod, and derivatives of it, on Modrinth.
Commands
Server (Fabric and Paper)
/lsslod stats- Show per-player transfer statistics/lsslod diag- Show detailed diagnostics (config, bandwidth, queue depths)
Client (Fabric only)
/lss clearcache- Clear the local column cache, forcing all chunks to be re-requested from the server/lss diag- Show client-side diagnostics (connection, throughput, scan progress, request budget)
Configuration
Config is generated on first run at the paths in the install table above. The generated file documents every setting; the ones most worth knowing are:
| Setting | Default | Description |
|---|---|---|
enabled |
true |
Enable LOD distribution |
lodDistanceChunks |
256 |
Max LOD distance in chunks |
bytesPerSecondLimitPerPlayer |
26214400 |
Per-player bandwidth cap (25 MiB/s), counted before compression |
bytesPerSecondLimitGlobal |
268435456 |
Total bandwidth cap across all players (256 MiB/s), counted before compression |
enableChunkGeneration |
true |
Generate missing chunks on demand, so players see terrain nobody has visited |
generationConcurrencyLimitGlobal |
32 |
Max chunks generating server-wide at once |
generationConcurrencyLimitPerPlayer |
16 |
Max concurrently generating chunks per player |
lodStore |
"off" |
Recommended: set to "full". Keeps a compressed copy of every served LOD column in <world>/lss-lod/ and serves repeat requests from it — far less CPU and disk work per chunk. Off by default only because it roughly doubles your world folder, which you should agree to rather than discover. See Tuning |
lodStoreBackfill |
true |
Pre-warms the store with a low-priority background walk of your existing world, so the first player to arrive already gets fast serves. Inert unless lodStore is on, so enabling the store gets this too. Yields to players, pauses under load, resumes across restarts. Fabric only |
lodStoreMaxMB |
0 |
Size cap for the store. 0 = uncapped; set a value to bound it, and the oldest columns are evicted first |
useCompressedColumns |
true |
Send LOD columns pre-compressed, which cuts CPU on both server and client. Clients that do not support it are served the old format automatically; false disables it entirely as a rollback |
useBackgroundReadPriority |
true |
LOD disk reads yield to normal chunk loading, so streaming distant terrain doesn't delay the chunks players are actively walking into |
enableV16Compat |
true |
Serve legacy v0.4.x–v0.6.x clients through a built-in translation layer. false requires every client to match the server's protocol |
xrayObfuscation |
"auto" |
Anti-xray masking for LOD data. "auto" mirrors your anti-xray engine's own hidden-block list and height cutoff whenever one is detected (Paper's built-in, per world; the DrexHD AntiXray mod on Fabric). "on" forces masking, "off" disables it — LOD data then carries real ore locations even on anti-xray servers |
xrayHiddenBlocks / xrayMaxBlockHeight |
ore list / 64 |
Fallback list and Y cutoff, used only when no engine settings can be adopted |
Masking applies to columns served after it activates — columns already cached by clients are not recalled, as with any anti-xray retrofit. Cave shapes and lighting are not hidden, matching packet-level anti-xray.
Tuning
Turn the LOD store on if you can spare the disk. "lodStore": "full" It is the single biggest CPU performance win available. But it's off by default since it will roughly double the size of your world folder.
To limit CPU, use the bandwidth and generation limiters. LSS's cost is essentially how many columns per second it serves plus how many chunks it generates, and those two families cap exactly that:
bytesPerSecondLimitPerPlayer/bytesPerSecondLimitGlobalbound the serve rate. They count uncompressed bytes on purpose, so compression doesn't quietly raise the real ceiling.generationConcurrencyLimitGlobal/generationConcurrencyLimitPerPlayerbound generation — by far the most expensive thing LSS can trigger, since it is worldgen. On a server exploring fresh terrain this dominates, and lowering it is the single biggest saving.enableChunkGeneration: falseremoves it entirely.


