PicoMC
Modern Minecraft. Tiny footprint.
⚠️ PicoMC is in early development. Expect bugs, and always back up your server before installing.
PicoMC is an optimization plugin built specifically for LeafMC 1.21.11. It automatically applies hundreds of carefully tuned settings and dynamically manages server resources in real time. The goal is to run modern survival Minecraft on as little as 512mb–1gb RAM for 1–5 players.
Other versions may load but won't achieve full performance gains (such as PaperMC, Purpur, or older and newer versions).
Still real Minecraft
Other projects achieve low hardware usage by rewriting Minecraft from scratch in C or other languages — impressive technically, but you lose everything. No plugins, no mods, no familiar behavior.
PicoMC runs on LeafMC which is built on Gale → Purpur → Paper → Spigot → Bukkit. That means:
- Any Spigot, Paper, or Purpur plugin works alongside PicoMC
- Vanilla clients connect — no client mods needed
- Full survival gameplay — nothing gutted, just optimized
What's in v1.0.0-beta
Automatic Config Optimization
On first startup PicoMC backs up all your original configs to a folder in your server root, then replaces them with optimized versions across bukkit, spigot, paper, gale, leaf, purpur and server.properties. Backup only happens once — restarts won't create duplicate backups.
Self-Tuning View Distance
PicoMC finds the highest view distance your hardware can sustain above 19.0 TPS — automatically.
- TPS drops below 19.0 → immediately reduces view distance, retries every 30 seconds until stable
- TPS stays above 19.8 for 15 minutes → tries increasing view distance by one chunk
- 5 minute cooldown after any change before doing anything again
- Finds and locks onto the optimal setting for your specific hardware
Two State Mob AI
- Hostile mobs detect players at 16 blocks instead of 40+
- Mobs beyond 16 blocks stop ticking their brain entirely — nearly free CPU cost
- Within 16 blocks they activate fully and target players
- Note: mobs currently appear frozen when unaware — future versions will add idle wandering so they feel alive even when not targeting
- Passive animals simplified to basic wandering
- Villagers trade and sleep, nothing else
Selective Natural Spawning
Removed from natural spawning: phantom, wandering trader, tropical fish, glow squid, dolphin, bat, panda, fox, polar bear, hoglin, and more
Kept: all survival-essential mobs — cows, sheep, pigs, chickens, wolves, all hostile mobs, squid, tadpoles
Creative mode unaffected. Everything still accessible via spawn eggs and commands.
Chunk Pregeneration
/pico pregenerate <radius> generates chunks in a circle around spawn asynchronously while the server stays responsive. Progress is broadcast to all online players.
What's coming
PicoMC is actively developed. Features may change, be added, or cancelled as the project evolves.
PeekSync
The server normally keeps chunks loaded in memory for everything a player can see. PeekSync lets the server unload chunks from memory while keeping them visible on the client — the client holds the visual, the server only loads what players are actively near. Could significantly reduce server RAM usage during exploration.
Vertical Chunk Slicing
Instead of loading all 300 blocks of a chunk column at once, only load the vertical sections near where the player actually is. Player on the surface? Don't load the deep underground sections until they go there. May replace the world height reduction approach entirely.
Advanced Mob AI System
Currently mobs freeze completely when unaware which breaks immersion. Future versions will give unaware mobs simple idle wandering so they look alive — cheap random movement with no pathfinding cost. Beyond that, deeper goal selector manipulation will strip specific AI behaviors entirely at the NMS level for even lower CPU cost.
Full Config System
Fully customizable settings via a config file. Presets for different hardware situations including RAM, CPU, BALANCED, and PERFORMANCE modes. A CUSTOM preset lets you tweak every single value PicoMC manages — spawn limits, tick rates, view distance bounds, mob ranges, and more.
Some of these features may change significantly or be replaced by better approaches during development. More features will be added as the project grows.
JVM Flags
Two versions — use whichever fits your host.
Full control (recommended — VPS, dedicated, self hosted):
-Xms512M -Xmx512M
-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=100
-XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC
-XX:+AlwaysPreTouch
-XX:G1NewSizePercent=20
-XX:G1MaxNewSizePercent=40
-XX:G1HeapRegionSize=4M
-XX:G1ReservePercent=12
-XX:G1HeapWastePercent=4
-XX:G1MixedGCCountTarget=4
-XX:G1MixedGCLiveThresholdPercent=75
-XX:InitiatingHeapOccupancyPercent=15
-XX:SurvivorRatio=8
-XX:MaxTenuringThreshold=2
-XX:+UseStringDeduplication
-XX:+UseCompressedOops
-XX:+UseCompressedClassPointers
-XX:+PerfDisableSharedMem
-XX:+ShrinkHeapInSteps
-XX:SoftRefLRUPolicyMSPerMB=0
-XX:MinHeapFreeRatio=20
-XX:MaxHeapFreeRatio=40
Restricted host (Pterodactyl, shared hosting, containers — no Xms control):
-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=100
-XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC
-XX:G1NewSizePercent=20
-XX:G1MaxNewSizePercent=40
-XX:G1HeapRegionSize=4M
-XX:G1ReservePercent=12
-XX:G1HeapWastePercent=4
-XX:G1MixedGCCountTarget=4
-XX:G1MixedGCLiveThresholdPercent=75
-XX:InitiatingHeapOccupancyPercent=15
-XX:SurvivorRatio=8
-XX:MaxTenuringThreshold=2
-XX:+UseStringDeduplication
-XX:+UseCompressedOops
-XX:+UseCompressedClassPointers
-XX:+PerfDisableSharedMem
-XX:+ShrinkHeapInSteps
-XX:SoftRefLRUPolicyMSPerMB=0
-XX:MinHeapFreeRatio=20
-XX:MaxHeapFreeRatio=40
-XX:MaxRAMPercentage=50.0
Replace 512M with your desired allocation. For 1gb use 1G.
Requirements
- Server: LeafMC 1.21.11
- Java: 21
Installation
- Drop
PicoMC.jar into /plugins
- Start the server — configs are backed up and optimized automatically
- Restart the server — a restart after first launch is needed for all config changes to fully take effect
- Done
Commands
| Command |
Description |
/pico status |
TPS, RAM, entities, view distance — color coded |
/pico pregenerate <radius> |
Pre-generate chunks async around spawn |
/pico reload |
Reloads the plugin |
Permission: picomc.admin (default: op)
Notes
- Configs replaced on first startup only — originals backed up to server root
- Works on any server size — optimized for small servers
- Designed for Leaf 1.21.11 — other versions may not perform as well
- This is an early release — please report issues on GitHub
Not affiliated with Mojang, Paper, Purpur, Gale, or LeafMC.