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

    Deploy a persistent Minecraft Java Edition server
    Configure world persistence with volume prefixes
    Manage server properties and whitelist
    Connect players to your decentralized server

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
1

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.

2

Create Your Deployment Specification

Create a Flux deployment spec for your Minecraft server with persistent world storage:

minecraft-server-spec.jsonjson
{
  "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
3

Understanding Resource Requirements

Minecraft servers can be resource-intensive. Here's what different player counts typically need:

PlayersCPURAMStorageEst. Cost
1-5 (Small)2.0 cores3000 MB10 GBcalculating...
5-15 (Medium)3.0 cores4000 MB20 GBcalculating...
15-30 (Large)4.0 cores6000 MB30 GBcalculating...

* Prices include the 20% discount from using g:/ volume prefix. Actual FLUX cost varies with market price.

4

Deploy Your Minecraft Server

Now let's deploy your server to the Flux network:

  1. 1
  2. 2

    Login with your Zelcore wallet

  3. 3

    Navigate to "Applications""Management""Register New App"

  4. 4

    Paste your JSON spec or use the interactive builder

  5. 5

    Review cost (should show ~20% discount for using g:/ prefix)

  6. 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.

5

Find Your Server IP and Connect

Once deployed, you need to find your server's IP address to connect:

  1. 1. Go to home.runonflux.io → ApplicationsManagement
  2. 2. Find your "minecraftserver" app in My Active Apps
  3. 3. Click on it to see the application details
  4. 4. Scroll to Running Instances section
  5. 5. Copy the IP address and port (will look like: 123.45.67.89:25565)

Connecting from Minecraft:

  1. 1. Open Minecraft Java Edition
  2. 2. Click "Multiplayer"
  3. 3. Click "Add Server"
  4. 4. Enter your server details:
    Server Name: My Flux Server
    Server Address: 123.45.67.89:25565
  5. 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!

6

Server Management & Configuration

You can customize your server further using environment variables:

Common Configuration Variables:

DIFFICULTYpeaceful, easy, normal, hard
GAMEMODEsurvival, creative, adventure, spectator
PVPtrue, false
SEEDWorld generation seed (e.g., -1234567890)
LEVEL_TYPEDEFAULT, FLAT, LARGEBIOMES, AMPLIFIED
WHITELISTComma-separated usernames
OPSComma-separated admin usernames

Example: 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:/data prefix 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.