DEV Community

selfhosting.sh
selfhosting.sh

Posted on • Originally published at selfhosting.sh

Self-Hosted Alternatives to Minecraft Realms

Why Replace Minecraft Realms?

Minecraft Realms costs $7.99/month (Java) or $3.99/month (Bedrock) for a server limited to 10 players with no mod support. Over a year, that's $48-96 for a server you don't control, can't mod, and that disappears if you stop paying.

A self-hosted Minecraft server has no player limit (beyond your hardware), full mod and plugin support, complete world control, and costs nothing to run if you have existing hardware.

Limitation Realms Self-Hosted
Player limit 10 (Java), 10 (Bedrock) Hardware-limited (50+ on Paper)
Mod support None (Java), limited add-ons (Bedrock) Full (Paper, Fabric, Forge, Spigot)
Plugin support None Thousands (Bukkit, Spigot, Paper)
Monthly cost $3.99-7.99/month $0 (on existing hardware)
Server control Limited settings menu Full server.properties + RCON
World download Manual export Direct file access
Custom world generation No Yes (datapacks, mods)
Performance tuning None JVM flags, view distance, etc.

Best Self-Hosted Alternative

Docker (itzg/minecraft-server) — Recommended

The itzg/minecraft-server Docker image is the easiest way to replace Realms. It handles Java version management, server downloads, and automatic updates. Set it up in under 5 minutes.

Minimal Docker Compose to replace Realms:

services:
  minecraft:
    image: itzg/minecraft-server:2026.3.1
    container_name: minecraft
    ports:
      - "25565:25565"
    environment:
      EULA: "TRUE"
      TYPE: "PAPER"
      MEMORY: "4G"
      MAX_PLAYERS: "20"
      MOTD: "Our Server"
      ENABLE_RCON: "true"
      RCON_PASSWORD: "change-this-password"
      ENFORCE_WHITELIST: "TRUE"
      WHITELIST: "player1,player2,player3"
    volumes:
      - mc_data:/data
    restart: unless-stopped

volumes:
  mc_data:
Enter fullscreen mode Exit fullscreen mode

This gives you:

  • Paper server (2-3x better performance than vanilla and Realms)
  • 20 player slots (customizable)
  • Whitelist for access control (like Realms invites)
  • RCON for server administration
  • Automatic updates on container restart

Full Minecraft server guide →

Pterodactyl Panel — For Multiple Servers

If you want a Realms-like web UI for managing servers, Pterodactyl provides a polished management panel. It's overkill for a single server, but excellent if you run multiple Minecraft servers (survival, creative, minigames) or other game servers.

Full Pterodactyl guide →

Migration from Realms

Download Your Realms World

  1. Open Minecraft Java Edition
  2. Go to Minecraft Realms → your Realm
  3. Click ConfigureWorld backupsDownload Latest
  4. The world saves to your .minecraft/saves/ directory

Upload to Self-Hosted Server

  1. Start your Docker server once to generate the default world structure
  2. Stop the server: docker compose down
  3. Copy your Realms world into the data volume:
# Find the volume path
docker volume inspect mc_data | grep Mountpoint

# Copy world files
sudo cp -r ~/path/to/realms-world/* /var/lib/docker/volumes/minecraft_mc_data/_data/world/
Enter fullscreen mode Exit fullscreen mode
  1. Start the server: docker compose up -d
  2. Your Realms world is now running on your self-hosted server

Invite Friends

Replace Realms invites with one of:

  • Whitelist: Add players by name in the environment variable or RCON
  • Tailscale: Install Tailscale on your server and friends' machines for zero-config private networking — no port forwarding needed
  • Port forwarding: Forward port 25565 on your router for direct internet access

Cost Comparison

Realms (Java) Self-Hosted (Existing Hardware) Self-Hosted (VPS)
Monthly $7.99 $0 $5-15
Annual $95.88 $0 $60-180
3-year $287.64 $0 $180-540
Players 10 max 50+ 20-30
Mods None Full support Full support
Control Limited Complete Complete

A self-hosted server on existing hardware saves $96/year. Even a $5/month VPS gives you more power and flexibility than Realms at a lower price.

What You Give Up

  • One-click setup. Realms is 2 clicks to start. Docker requires a terminal.
  • Microsoft account integration. Realms handles authentication automatically. Self-hosted servers use a whitelist or third-party auth plugins.
  • Realms-specific features. Realms offers mini-games, realm stories, and marketplace world templates. Self-hosted servers don't have these (but have far better mod and plugin options).
  • Automatic management. Realms handles updates and backups invisibly. Self-hosted servers need configured backups (though the Docker image auto-updates).

For most friend groups, the mod support and cost savings far outweigh these trade-offs.

FAQ

Can my friends join without port forwarding or complicated network setup?

Yes. Use Tailscale — install it on your server and each friend's computer. Tailscale creates a private VPN mesh where friends connect to your server's Tailscale IP address. No port forwarding, no dynamic DNS, no firewall changes. Friends add your Tailscale IP as the server address in Minecraft and connect directly. Setup takes under 5 minutes per person and is free for personal use.

How many players can a self-hosted server handle?

Depends on hardware and server software. Paper (recommended) with 4 GB RAM handles 20-30 concurrent players comfortably. With 8 GB RAM and an Intel i5/Ryzen 5 or better, 50+ players is achievable. The key bottleneck is single-thread CPU performance — Minecraft's world tick runs on one core. Allocate 200-300 MB per player as a rule of thumb. Even a $5/month VPS (2 GB RAM) handles 5-10 players, which is more than Realms' 10-player cap.

Can I install mods and plugins on a self-hosted server?

Yes — this is the biggest advantage over Realms. With Paper, drop plugin .jar files into the plugins/ directory and restart. With Forge or Fabric, install mod loader support (set TYPE: "FORGE" or TYPE: "FABRIC" in Docker Compose) and add mods to the mods/ directory. Paper supports thousands of Bukkit/Spigot plugins (Dynmap, EssentialsX, WorldEdit, grief prevention). Forge/Fabric supports technical mods (Create, OptiFine, shaders). Realms supports none of this.

How do I keep the server running 24/7?

With Docker and restart: unless-stopped, the Minecraft container restarts automatically after reboots or crashes. On a VPS, the server runs 24/7 with no intervention. On a home server (mini PC or NAS), set your BIOS to power on after AC loss and enable Docker to start at boot. Use Uptime Kuma to monitor server availability. For a truly hands-off experience, the Docker image handles automatic updates on container restart.

How do I back up my Minecraft world automatically?

Add a backup container alongside your Minecraft server. The itzg/mc-backup Docker image creates scheduled backups of your world data:

backup:
  image: itzg/mc-backup:latest
  environment:
    BACKUP_INTERVAL: "24h"
    RCON_HOST: minecraft
    RCON_PASSWORD: "change-this-password"
  volumes:
    - mc_data:/data:ro
    - mc_backups:/backups
Enter fullscreen mode Exit fullscreen mode

This creates daily world backups. For offsite backup, sync the backups volume to cloud storage with Restic or BorgBackup.

Can Bedrock Edition players join a Java Edition self-hosted server?

Not directly, but yes with a proxy. Install Geyser — a plugin/mod that translates Bedrock protocol to Java protocol. With Geyser on your Paper server, Bedrock players (mobile, console, Windows 10) can join alongside Java Edition players. This gives you something Realms can't: cross-platform play between Java and Bedrock on the same server. Set TYPE: "PAPER" and add the Geyser-Spigot plugin to your server.

Is a Raspberry Pi powerful enough for a Minecraft server?

A Raspberry Pi 4 (4 GB) or Pi 5 handles a small server (2-5 players) with Paper and moderate view distance (8-10 chunks). Performance is acceptable for casual play but struggles with heavy redstone, large builds, or more than 5 concurrent players. For a better experience, a used mini PC (Intel N100, $80-100) or a $10/month VPS significantly outperforms a Pi. If you already have a Pi and just want to play with a few friends, it works — just keep expectations reasonable.

Related

Top comments (0)