All systems operational 21 cryptocurrencies accepted · Monero welcome No-KYC policy
ChainVPS

Game server · no KYC

Host Minecraft Server on an Offshore VPS

Host a fast, DDoS-protected Minecraft server on an offshore VPS you pay for in crypto, with no identity check and no third party throttling your world.

What it is

Minecraft Server is the self-hosted multiplayer backend for Minecraft: Java Edition, letting you run a persistent world that friends or a community connect to over the internet. Server flavours like Paper and Purpur add plugin support and major performance gains over the vanilla server, so you control the rules, mods, whitelist, and world data.

Why host it offshore

Public Minecraft servers are constant DDoS targets and hosting your own on rented commercial platforms usually means handing over ID and a card number. On a no-KYC, crypto-paid ChainVPS instance you keep full root, get always-on DDoS mitigation and unmetered bandwidth for player traffic, and never tie your gaming community to your real identity.

The deploy

A working reference setup

Copy this onto a fresh ChainVPS instance. Replace the placeholders, then bring it up.

docker-compose.yml
services:
  mc:
    image: itzg/minecraft-server:latest
    container_name: minecraft
    ports:
      - "25565:25565"          # Java Edition (TCP) — the only port players need
      # - "127.0.0.1:25575:25575"  # RCON — keep bound to localhost, never public
    environment:
      EULA: "TRUE"             # required: accepts Mojang EULA
      TYPE: "PAPER"           # high-performance server; use VANILLA/FABRIC/FORGE as needed
      VERSION: "1.21.4"       # pin a version; "LATEST" also works
      MEMORY: "4G"            # heap size; leave headroom below the VPS's total RAM
      DIFFICULTY: "normal"
      MAX_PLAYERS: "20"
      VIEW_DISTANCE: "10"
      SIMULATION_DISTANCE: "8"
      ONLINE_MODE: "TRUE"      # verify accounts with Mojang/Microsoft
      ENABLE_WHITELIST: "TRUE"
      OVERRIDE_WHITELIST: "TRUE"
      ENABLE_RCON: "TRUE"
      RCON_PASSWORD: "replace-with-a-long-random-string"
    volumes:
      - ./data:/data           # world + configs persist here — back this up
    stdin_open: true
    tty: true
    restart: unless-stopped

Firewall

Ports to open

PortProtocolPurpose
25565TCPJava Edition client connections — the only port that must be open to players
25575TCPRCON remote console — bind to 127.0.0.1 only, never expose publicly
19132UDPOptional Bedrock crossplay if you add the GeyserMC plugin

Right-sizing

Which plan you need

Light — 2-6 friends, vanilla/Paper

VPS Small (2 vCPU / 4 GB)

Set MEMORY 2-3G. Minecraft is single-thread heavy per tick, so high clock speed matters more than core count.

Medium — 10-20 players, plugins, moderate view distance

VPS Pro (4 vCPU / 8 GB)

MEMORY 4-6G, trim view/simulation distance. Paper/Purpur keeps tick time healthy at this size.

Heavy — large modpack (Forge/Fabric) or 30+ player community

Dedicated (fast single-core CPU, 16 GB+)

Modpacks eat RAM and one busy core. A dedicated box with a high-clock CPU avoids the tick lag shared VPS cores cause.

Best locations: For a game server, player ping matters more than the privacy tier, so pick the location closest to most of your players. ChainVPS's central-European nodes (NL, RO, LU) and the CH privacy tier give low latency across Europe while still offering no-KYC billing and DDoS protection; choose IS or MD if you want the offshore jurisdiction and your players are EU-wide and latency-tolerant.

Lock it down

Hardening checklist

  • Never expose RCON (25575) to the internet — bind it to 127.0.0.1 in the compose file and use a long random RCON_PASSWORD; access it over SSH or docker exec instead.
  • Keep ONLINE_MODE=TRUE and the whitelist enabled (ENABLE_WHITELIST/OVERRIDE_WHITELIST) so only verified, approved accounts can join; add players with 'docker exec minecraft rcon-cli whitelist add <name>'.
  • Automate world backups: cron a 'docker exec minecraft rcon-cli save-off && save-all' then tar the ./data volume, then 'save-on' — store copies off the box so a crash or wipe never costs your world.
  • Run a host firewall (ufw) allowing only 22 and 25565; Minecraft servers are frequent DDoS and bot-scan targets, so lean on ChainVPS's included mitigation and don't leave extra ports open.
  • Cap MEMORY below the VPS's total RAM (leave ~1-2 GB for the OS) so the JVM never triggers OOM kills; the itzg image applies Aikar GC flags automatically, so avoid hand-tuning heap flags unless you know why.

Questions

Hosting Minecraft Server — FAQ

Does this work for Minecraft: Bedrock (mobile/console) players?

The config above is Java Edition. To let Bedrock clients join the same world, add the GeyserMC and Floodgate plugins to a Paper server and open UDP 19132. For a pure Bedrock server, use the itzg/minecraft-bedrock-server image instead.

Do I need Docker, or can I run it directly?

Docker is the cleanest path and what the compose file uses. If you prefer bare metal, install a JRE (Java 21 for 1.20.5+), download the Paper jar, accept the EULA in eula.txt, and launch with 'java -Xmx4G -jar paper.jar nogui' under a systemd unit or tmux session.

How much RAM does a Minecraft server actually need?

Vanilla with a few friends runs fine on 2-3 GB. Plugins and 10-20 players want 4-6 GB. Modpacks are the outlier and can need 8-12 GB or more. Always leave headroom for the OS below your plan's total RAM.

Will an offshore location lag my players?

Latency depends on distance, not on the no-KYC billing. Pick the ChainVPS node nearest your player base; central-European nodes serve most EU communities with sub-50 ms ping. Minecraft is fairly latency-tolerant compared to shooters.

Can I pay without giving ID?

Yes. ChainVPS is no-KYC and crypto-paid, so you can spin up and run a Minecraft server without linking a card or identity to your community.

Spin up Minecraft Server
in the next 60 seconds.

Unmetered bandwidth · DDoS included · 21 cryptocurrencies · no KYC.