Part 2 of 5

    Minecraft Server on a VPS

    Java Edition + Bedrock crossplay in one guide. Aikar's JVM flags, Paper server, and Geyser + Floodgate for Xbox and mobile players.

    Java Edition
    Bedrock
    Geyser Crossplay

    Hosting on Aternos or a free server means 20-second queue times and random shutdowns. A $20/month RamNode VPS gives you a server that is always online, always yours, and scales from 5 to 50 players. This guide assumes you have Pelican Panel running from Part 1 - if not, you can follow along with a standalone setup.

    1

    Prerequisites

    This guide assumes Pelican Panel + Wings are running from Part 1. If you are not using Pelican, you can install the Minecraft server directly - each section notes the standalone equivalent.

    • Pelican Panel with Wings daemon (Part 1)
    • Java 21 installed on the node (required for modern Minecraft)
    • At least 2 GB of RAM allocated to the game server
    2

    RAM Sizing Table

    How much RAM does your Minecraft server actually need?

    Server TypePlayersRAMVPS Plan
    Vanilla1-51 GBSSD 2G
    Vanilla10-202-3 GBSSD 4G
    Paper/Purpur20+3-4 GBSSD 4G
    Modpack (Forge/Fabric)5-204-8 GBSSD 6G-8G

    Note: OS + Wings overhead is roughly 512 MB. Always recommend the next tier up for headroom.

    3

    Java Edition via Pelican Panel

    Import the Paper MC egg from the Pelican Eggs GitHub repository, create a new server in the Panel, and configure startup flags.

    1. Go to Admin > Nests > Import Egg
    2. Import the Paper egg JSON from the Pelican Eggs repository
    3. Create a new server: set RAM limit (-Xms and -Xmx), disk, and port allocation
    4. Accept the EULA on first boot via the Panel console

    Why Paper?

    • Vanilla - the default Mojang server, no optimizations
    • Spigot - basic performance improvements, plugin API
    • Paper - significant performance gains, async chunk loading (recommended)
    • Purpur - Paper fork with additional gameplay tweaks
    4

    Java Performance Tuning (Aikar's Flags)

    These are Aikar's recommended JVM flags for Minecraft servers. Copy and paste this entire block into your server's startup command.

    Aikar's JVM flags (copy-paste into startup)
    java -Xms4G -Xmx4G \
      -XX:+UseG1GC \
      -XX:+ParallelRefProcEnabled \
      -XX:MaxGCPauseMillis=200 \
      -XX:+UnlockExperimentalVMOptions \
      -XX:+DisableExplicitGC \
      -XX:+AlwaysPreTouch \
      -XX:G1NewSizePercent=30 \
      -XX:G1MaxNewSizePercent=40 \
      -jar paper.jar nogui

    Set -Xms and -Xmx to the same value - this prevents the JVM from wasting time resizing the heap.

    Key server.properties settings:

    server.properties tuning
    view-distance=10
    simulation-distance=8
    network-compression-threshold=256
    max-tick-time=60000

    Reducing view-distance from the default 16 to 10 dramatically reduces RAM and CPU usage with minimal visual impact.

    5

    Bedrock Edition via Pelican

    Deploy a standalone Bedrock Dedicated Server (BDS) for Xbox, mobile, and Windows 10/11 players.

    1. Import the Bedrock egg from the Pelican Eggs repository
    2. The egg downloads BDS automatically on first start
    3. Open port 19132/UDP in your firewall
    UFW rules for Minecraft
    ufw allow 25565/tcp   # Java Edition
    ufw allow 19132/udp   # Bedrock Edition
    ufw reload

    Test the connection from an Xbox, mobile, or Windows Bedrock client using your VPS IP and port 19132.

    6

    Geyser + Floodgate (Bedrock Crossplay)

    Geyser allows Bedrock players (Xbox, mobile, Windows) to join your Java Edition server. Floodgate removes the requirement for Bedrock players to have a Java account. This is a genuine differentiator - very few VPS hosting guides cover this setup.

    Setup steps:

    1. Download the Geyser-Spigot plugin and drop it in your Java server's plugins/ folder
    2. Restart the server to generate Geyser's config.yml
    3. Edit plugins/Geyser-Spigot/config.yml:
    Geyser config.yml key settings
    bedrock:
      address: 0.0.0.0
      port: 19132
      motd1: "My Crossplay Server"
    
    remote:
      address: 127.0.0.1
      port: 25565
    
    auth-type: floodgate
    1. Download and install the Floodgate plugin to the same plugins folder
    2. Restart the server - Bedrock players can now join via port 19132

    How it works: Geyser translates Bedrock protocol to Java protocol in real time. Floodgate authenticates Xbox/mobile players without requiring a Java Edition account. Both players see the same world.

    7

    Automatic Backups

    Use Pelican Panel's built-in backup system, or configure rclone for offsite backups.

    • Pelican Panel - Configure backup schedule and retention in server settings (local or S3 target)
    • rclone to Backblaze B2 - Budget-friendly offsite backup at $0.006/GB

    Always test your backup restore process before you actually need it.

    8

    Player Management

    Key administrative commands via the Pelican Panel console or RCON:

    Common admin commands
    # Give operator status (full permissions)
    op PlayerName
    
    # Enable whitelist mode
    whitelist on
    whitelist add PlayerName
    
    # RCON remote commands
    # Available through the Panel console tab

    OP Permission Levels:

    • Level 1 - Bypass spawn protection
    • Level 2 - Use /clear, /gamemode, /tp, etc.
    • Level 3 - Use /ban, /kick, /op
    • Level 4 - Use /stop, /save-all (full server control)
    9

    Common Issues

    Cannot connect to server

    Check UFW rules (ufw status), verify port 25565 is open with nmap -p 25565 your-vps-ip, and ensure the server has finished starting.

    Server crashes on startup

    Most common causes: wrong Java version (need Java 21 for modern MC), EULA not accepted (eula.txt must say eula=true), or insufficient RAM.

    Lag spikes during gameplay

    Reduce view-distance to 8-10, check entity count with /debug start, and ensure Aikar's JVM flags are applied.

    What's Next

    Your Minecraft server is live with Java + Bedrock crossplay support. Part 3 covers Valheim and Palworld dedicated servers - both use SteamCMD and share a similar deployment pattern.

    Running a growing community? Upgrade to SSD 6G for modpack headroom - no reinstall required, just resize your VPS.

    This guide is part of the Game Server Hosting series: