Dit is de praktische begeleider bij onze VPS voor een gameserver-pagina. Die gaat over welk plan past; deze gaat over het daadwerkelijk opzetten van de server — Paper, een goede systemd-service, de config die je RAM bespaart, de firewall, en back-ups. Aan het eind heb je een Minecraft-server die een crash overleeft, een herstart overleeft, en niet stilletjes je hele box opeet.
Eén eerlijke opmerking voordat we beginnen: de CPU- en RAM-grenzen van de use-case-pagina gelden nog steeds. Paper op een Small- of Medium-plan is geweldig voor een vriendengroep. Een 150-mod-pack voor een grote community is niet waar deze plannen voor zijn, en geen hoeveelheid config lost dat op. Nu dat duidelijk is, laten we bouwen.
1. Installeer Java
Paper draait op Java. Installeer een headless JDK — voor een huidige Minecraft-versie is dat Java 21:
sudo apt update
sudo apt install -y openjdk-21-jre-headless
java -version
Als je Minecraft-versie ouder is, installeer de Java die het vraagt (17 voor het 1.18-1.20-tijdperk). De server-logs klagen luid als de versie verkeerd is.
2. Zet de server-directory en Paper op
Draai de server als zijn eigen gebruiker, niet root — als er ooit iets misgaat, wil je de blast radius klein.
sudo adduser --system --group --home /opt/minecraft minecraft
sudo -u minecraft mkdir -p /opt/minecraft/server
cd /opt/minecraft/server
Download de Paper-jar voor je Minecraft-versie (pak de URL van hun downloads-pagina) en sla hem op als server.jar:
sudo -u minecraft wget -O server.jar "PASTE_PAPER_DOWNLOAD_URL_HERE"
Draai hem één keer om de config-bestanden te genereren, accepteer dan de EULA:
sudo -u minecraft java -Xms1G -Xmx3G -jar server.jar --nogui
# it stops immediately asking you to accept the EULA
sudo -u minecraft sed -i 's/eula=false/eula=true/' eula.txt
De -Xmx3G is het JVM-heap-plafond. Op een 4 GB Small-plan laat ~3 GB voor de JVM het OS ademruimte. Zet het niet op je volle RAM — de JVM heeft overhead buiten de heap, en de OOM-killer onderhandelt niet.
3. Tune server.properties om RAM te besparen
Dit is waar je gratis performance koopt. Open server.properties en zet:
view-distance=8
simulation-distance=6
max-players=10
view-distance— chunks geladen gehouden rond elke speler. De standaard 10 is genereus; 8 (of zelfs 6) snijdt RAM en CPU merkbaar en bijna niemand merkt het verschil.simulation-distance— hoe ver entities, redstone, en gewasgroei daadwerkelijk tikken. Lager is goedkoper. 6 is een verstandig startpunt.max-players— zet het op wat je daadwerkelijk verwacht, zodat een verrassingsmenigte je RAM-budget niet opblaast.
Onthoud de single-thread-realiteit: Minecrafts tick leunt op één core. Als TPS daalt, helpt meer RAM niet — lagere simulation-distance en mob caps wel.
4. Draai het als een systemd-service
Dit is het deel dat "een jar die ik één keer draaide" verandert in "een server." Maak /etc/systemd/system/minecraft.service:
[Unit]
Description=Minecraft Paper Server
After=network.target
[Service]
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xms1G -Xmx3G -jar server.jar --nogui
Restart=on-failure
RestartSec=10
SuccessExitStatus=0 143
[Install]
WantedBy=multi-user.target
Restart=on-failure is de regel die ertoe doet — als de JVM crasht, brengt systemd het in tien seconden terug. SuccessExitStatus=... 143 stopt systemd ervan een normale SIGTERM-shutdown als een fout te behandelen. Enable en start het:
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo systemctl status minecraft
sudo journalctl -u minecraft -f # live logs
Nu start het bij boot, herstart bij crash, en logs gaan naar journald.
5. Open de firewall-poort
Minecraft luistert standaard op TCP 25565. Open alleen dat:
sudo ufw allow 25565/tcp
sudo ufw enable
Geef je vrienden het IP van de server (en :25565 als je de poort veranderde). Open niets wat je niet nodig hebt — het hele punt van je eigen box draaien is dat jij beslist wat bereikbaar is.
6. Maak een back-up van de wereld
Degene die mensen overslaan tot de dag dat ze wilden dat ze het niet hadden gedaan. Een simpel script:
#!/bin/bash
cd /opt/minecraft/server
TS=$(date +%Y%m%d-%H%M)
tar czf /opt/minecraft/backups/world-$TS.tar.gz world world_nether world_the_end
Draai het vanuit cron, en — dit is de belangrijke helft — kopieer het archief van de server af, naar object storage of een andere machine. Een back-up op dezelfde schijf als de wereld sterft met de schijf. Als je wereld ertoe doet, draai save-off en save-all in de server-console voor de tar zodat je nooit midden-in-schrijven snapshot.
Dat is het hele ding
Java, Paper, getunede config, een systemd-service die auto-restart, een firewall-poort, en back-ups die ergens anders leven. Dat is een Minecraft-server die zich als een gedraagt.
Als je nog geen box hebt: kies een plan — Small ($8) voor een kleine groep, Medium ($12) als je tien spelers duwt — betaal in USDC of USDT (geen KYC, geen documenten), en je hebt root in ongeveer 60 seconden. Werk dan deze pagina af. En de eerlijke herinnering nog één laatste keer: dit is de juiste setup voor vanilla of Paper met vrienden. Een zware modpack voor een grote community heeft andere hardware nodig, en we horen je dat liever eerst zelf.
Reacties
Nog geen reacties. Wees de eerste.