Deploy a Minecraft Server on Flux
Run your own censorship-resistant, decentralized Minecraft server on Flux's distributed network
Why Run Minecraft on Flux?
Censorship Resistant
No single point of failure or control
Geographic Redundancy
Automatic failover across global nodes
Cost Effective
calculating...
What You'll Learn
Before You Start
- ✓ Completed the Basic Deployment tutorial
- ✓ Have FLUX tokens (starting at calculating... for small servers)
- ✓ Minecraft Java Edition (for testing)
- ✓ Basic understanding of Minecraft server configuration
Choose Your Minecraft Server Version
We'll use the official itzg/minecraft-server Docker image, which supports all Minecraft versions and server types.
Popular Server Types:
- VANILLAOfficial Minecraft server (default)
- PAPEROptimized for performance, plugin support
- FORGEFor modded Minecraft
- FABRICLightweight modding platform
For this tutorial, we'll use PAPER - it's highly optimized and supports plugins while being compatible with vanilla clients.
Create Your Deployment Specification
Create a Flux deployment spec for your Minecraft server with persistent world storage:
{
"version": 8,
"name": "minecraftserver",
"description": "Decentralized Minecraft Server on Flux",
"owner": "YOUR_ZELID_HERE",
"instances": 3,
"staticip": false,
"enterprise": "",
"compose": [
{
"name": "minecraft",
"description": "Minecraft Paper server",
"repotag": "itzg/minecraft-server:latest",
"ports": [25565],
"containerPorts": [25565],
"domains": [""],
"environmentParameters": [
"EULA=TRUE",
"TYPE=PAPER",
"VERSION=1.21.4",
"DIFFICULTY=normal",
"MAX_PLAYERS=20",
"SPAWN_PROTECTION=16",
"VIEW_DISTANCE=10",
"ONLINE_MODE=true",
"ALLOW_NETHER=true",
"ENABLE_COMMAND_BLOCK=false",
"SERVER_NAME=My Flux Minecraft Server",
"MOTD=Running on Flux - Decentralized Minecraft!",
"MEMORY=3G"
],
"commands": [],
"containerData": "g:/data",
"cpu": 3.0,
"ram": 4000,
"hdd": 20,
"tiered": false
}
]
}Key Configuration Points:
- • EULA=TRUE: Accepts Minecraft's End User License Agreement
- • TYPE=PAPER: Uses the optimized Paper server
- • VERSION: Specify Minecraft version (use LATEST for newest)
- • containerData: "g:/data": Uses primary/standby sync for world persistence (20% discount!)
- • MEMORY=3G: JVM memory allocation (leave ~1GB for system)
- • Port 25565: Standard Minecraft server port
Understanding Resource Requirements
Minecraft servers can be resource-intensive. Here's what different player counts typically need:
| Players | CPU | RAM | Storage | Est. Cost |
|---|---|---|---|---|
| 1-5 (Small) | 2.0 cores | 3000 MB | 10 GB | calculating... |
| 5-15 (Medium) | 3.0 cores | 4000 MB | 20 GB | calculating... |
| 15-30 (Large) | 4.0 cores | 6000 MB | 30 GB | calculating... |
* Prices include the 20% discount from using g:/ volume prefix. Actual FLUX cost varies with market price.
Deploy Your Minecraft Server
Now let's deploy your server to the Flux network:
- 1
Go to home.runonflux.io
- 2
Login with your Zelcore wallet
- 3
Navigate to "Applications" → "Management" → "Register New App"
- 4
Paste your JSON spec or use the interactive builder
- 5
Review cost (should show ~20% discount for using g:/ prefix)
- 6
Click "Deploy App" and approve the transaction
Deployment Time:
Initial deployment takes 10-15 minutes as the server downloads the Minecraft server JAR and generates the world. Subsequent restarts are faster.
Find Your Server IP and Connect
Once deployed, you need to find your server's IP address to connect:
- 1. Go to home.runonflux.io → Applications → Management
- 2. Find your "minecraftserver" app in My Active Apps
- 3. Click on it to see the application details
- 4. Scroll to Running Instances section
- 5. Copy the IP address and port (will look like:
123.45.67.89:25565)
Connecting from Minecraft:
- 1. Open Minecraft Java Edition
- 2. Click "Multiplayer"
- 3. Click "Add Server"
- 4. Enter your server details:Server Name: My Flux Server
Server Address: 123.45.67.89:25565 - 5. Click "Done" and join!
You're In!
Your Minecraft server is now running on Flux's decentralized network with automatic failover and world persistence!
Server Management & Configuration
You can customize your server further using environment variables:
Common Configuration Variables:
DIFFICULTYpeaceful, easy, normal, hardGAMEMODEsurvival, creative, adventure, spectatorPVPtrue, falseSEEDWorld generation seed (e.g., -1234567890)LEVEL_TYPEDEFAULT, FLAT, LARGEBIOMES, AMPLIFIEDWHITELISTComma-separated usernamesOPSComma-separated admin usernamesExample: Whitelisted Creative Server
"environmentParameters": [
"EULA=TRUE",
"TYPE=PAPER",
"VERSION=LATEST",
"GAMEMODE=creative",
"DIFFICULTY=peaceful",
"PVP=false",
"WHITELIST=PlayerOne,PlayerTwo,PlayerThree",
"OPS=PlayerOne",
"SERVER_NAME=Creative Build Server",
"MOTD=Private creative server on Flux!"
]Best Practices & Tips
💾 World Persistence
- • Always use
g:/dataprefix for world saves - • This ensures your world persists across container restarts
- • Primary/standby mode prevents world corruption from simultaneous writes
- • Bonus: You get a 20% discount on deployment cost!
⚡ Performance
- • Use PAPER or PURPUR for better performance than vanilla
- • Set VIEW_DISTANCE to 8-10 for optimal performance
- • Allocate 75% of total RAM to JVM (e.g., MEMORY=3G for 4GB RAM)
- • Monitor player count and scale resources as needed
🔒 Security
- • Use WHITELIST for private servers
- • Keep ONLINE_MODE=true to verify player accounts
- • Set ENABLE_COMMAND_BLOCK=false unless needed
- • Regularly update VERSION to latest for security patches
🌍 Plugins & Mods
- • Paper servers support Bukkit/Spigot plugins
- • Use FORGE or FABRIC types for modded servers
- • Mods require players to install matching client-side mods
- • Increase RAM and storage for heavily modded servers
Troubleshooting
Server won't start / keeps restarting
Check MEMORY allocation - ensure JVM memory is less than total RAM (leave ~1GB for system). Also verify EULA=TRUE is set.
Can't connect to server
Wait 10-15 minutes after first deployment. Check the app status on home.runonflux.io - it should show "Running". Verify you're using the correct IP:port.
World resets on restart
Ensure containerData is set to g:/data and verify the app has sufficient storage (hdd) allocated.
Poor performance / lag
Increase CPU and RAM resources. Reduce VIEW_DISTANCE. Consider upgrading to PAPER if using vanilla. Check player count vs. resource allocation.