Fork of PooSmacker/VoxyServer for Minecraft 1.20.1, compatible with the supplied Voxy 0.2.14-alpha jar. It runs on Fabric directly or Forge through Sinytra Connector.
⚠️ AI Port Notice: This mod was ported from MC 1.21.11 → 1.20.1 by Claude (Anthropic) via Reasonix, with manual review and testing. The original author is PooSmacker. All original functionality is preserved.
- Server-side chunk voxelization — chunks are automatically converted to LOD data when loaded
- LOD streaming — spiral outward from player position, pushing LOD sections to connected Voxy clients
- Dirty block tracking — block changes trigger automatic re-voxelization and push
- World import —
/voxyserver import existing allbulk-imports existing region files - Configurable — radius, rate limits, thread count, tick interval (see
config/voxyserver.json)
| Component | Version |
|---|---|
| Minecraft | 1.20.1 |
| Fabric Loader | ≥ 0.17.2 (tested 0.19.3) |
| Fabric API | ≥ 0.92.6 (tested 0.92.11) |
| Voxy | 0.2.14-alpha (756c828779b062869e9683da07e356161eb0e31f56d96423cb4271aee953a20c) |
| Java | 21 recommended |
Install the same Voxy and VoxyServer jars on both client and server.
Install Fabric Loader, Fabric API, Voxy 0.2.14-alpha, and VoxyServer-1.2.0-1.20.1-voxy0.2.14-perf.jar on both sides.
Install these on both sides:
- Forge 1.20.1 (tested 47.4.10 server / 47.4.22 client)
- Sinytra Connector (tested
1.0.0-beta.49+1.20.1) - Forgified Fabric API (tested
0.92.6+1.11.15+1.20.1) - Voxy 0.2.14-alpha
VoxyServer-1.2.0-1.20.1-voxy0.2.14-perf.jar
/voxyserver import existing all — import all dimensions with region files
/voxyserver import existing current — import current player dimension
/voxyserver import existing dimension <id> — import specific dimension
/voxyserver import existing status — show import progress
/voxyserver import existing cancel — cancel active import
Config file is generated at config/voxyserver.json on first run.
| Setting | Default | Description |
|---|---|---|
lodStreamRadius |
256 | LOD streaming radius in chunks |
maxSectionsPerTickPerPlayer |
100 | Max sections sent per player per tick |
sectionsPerPacket |
50 | Max sections bundled per network packet |
generateOnChunkLoad |
true | Voxelize chunks as they load |
tickInterval |
5 | Server ticks between streaming cycles |
workerThreads |
3 | Voxy worker threads |
dirtyTrackingEnabled |
true | Re-voxelize on block changes |
dirtyTrackingInterval |
40 | Ticks between dirty flushes (~2 seconds) |
debugTrackingEnabled |
false | Output stats to console |
debugTrackingInterval |
200 | Stats dump interval |
# Voxy is All-Rights-Reserved and is not redistributed in this source tree.
mkdir -p libs
cp /path/to/voxy-0.2.14-alpha.jar libs/voxy-1.20.1.jar
gradle build --no-daemon
# Output: build/libs/VoxyServer-1.2.0-1.20.1-voxy0.2.14-perf.jar| Original (1.21.11) | Ported (1.20.1) |
|---|---|
CustomPacketPayload + StreamCodec |
Identifier + FriendlyByteBuf direct |
PayloadTypeRegistry |
ServerPlayNetworking.registerGlobalReceiver |
RegistryFriendlyByteBuf |
FriendlyByteBuf (Netty) |
registryAccess().lookupOrThrow() |
registryAccess().registryOrThrow() |
BuiltInRegistries.BLOCK_STATE |
Block.BLOCK_STATE_REGISTRY |
player.serverLevel() |
(ServerLevel) player.level() |
level.dimension().identifier() |
level.dimension().location() |
chunk.getMinSectionY() |
chunk.getMinSection() |
This project is licensed under GNU General Public License v3.0 (GPL-3.0) — same as the original PooSmacker/VoxyServer.
See LICENSE for full text.
- Original author: PooSmacker — VoxyServer
- Voxy mod: MCRcortex / m3t4f1v3 (1.20.1 fork)
- AI Port: Claude (Anthropic) via Reasonix, 2026