Detta är den praktiska följeslagaren till vår VPS för en gameserver-sida. Den handlar om vilket plan som passar; denna handlar om att faktiskt sätta upp servern — Paper, en ordentlig systemd-tjänst, configen som sparar dig RAM, brandväggen, och säkerhetskopior. I slutet har du en Minecraft-server som överlever en krasch, överlever en omstart, och inte tyst äter upp hela din box.
En ärlig notering innan vi börjar: CPU- och RAM-gränserna från use-case-sidan gäller fortfarande. Paper på ett Small- eller Medium-plan är utmärkt för en vänkrets. En 150-mods-pack för en stor community är inte vad dessa planer är till för, och ingen mängd config fixar det. Med det klart, låt oss bygga.
1. Installera Java
Paper körs på Java. Installera en headless JDK — för en aktuell Minecraft-version är det Java 21:
sudo apt update
sudo apt install -y openjdk-21-jre-headless
java -version
Om din Minecraft-version är äldre, installera Java den ber om (17 för 1.18-1.20-eran). Server-loggarna klagar högt om versionen är fel.
2. Sätt upp server-katalogen och Paper
Kör servern som sin egen användare, inte root — om något någonsin går fel vill du ha blast radius liten.
sudo adduser --system --group --home /opt/minecraft minecraft
sudo -u minecraft mkdir -p /opt/minecraft/server
cd /opt/minecraft/server
Ladda ner Paper-jaren för din Minecraft-version (hämta URL:en från deras downloads-sida) och spara den som server.jar:
sudo -u minecraft wget -O server.jar "PASTE_PAPER_DOWNLOAD_URL_HERE"
Kör den en gång för att generera config-filerna, acceptera sedan EULA:n:
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
-Xmx3G är JVM-heap-taket. På ett 4 GB Small-plan lämnar ~3 GB för JVM:en OS:et andrum. Sätt det inte till ditt fulla RAM — JVM:en har overhead bortom heapen, och OOM-killern förhandlar inte.
3. Tuna server.properties för att spara RAM
Det är här du köper dig prestanda gratis. Öppna server.properties och sätt:
view-distance=8
simulation-distance=6
max-players=10
view-distance— chunks hållna laddade runt varje spelare. Standard 10 är generös; 8 (eller till och med 6) skär RAM och CPU märkbart och nästan ingen märker skillnaden.simulation-distance— hur långt entiteter, redstone, och grödtillväxt faktiskt tickar. Lägre är billigare. 6 är en sund startpunkt.max-players— sätt det till vad du faktiskt förväntar dig, så att en överraskningsfolkmassa inte spränger din RAM-budget.
Kom ihåg single-thread-verkligheten: Minecrafts tick lutar sig mot en kärna. Om TPS sjunker hjälper mer RAM inte — lägre simulation-distance och mob caps gör det.
4. Kör det som en systemd-tjänst
Detta är delen som förvandlar "en jar jag körde en gång" till "en server." Skapa /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 är raden som spelar roll — om JVM:en kraschar tar systemd tillbaka den på tio sekunder. SuccessExitStatus=... 143 hindrar systemd från att behandla en normal SIGTERM-nedstängning som ett fel. Aktivera och starta den:
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo systemctl status minecraft
sudo journalctl -u minecraft -f # live logs
Nu startar den vid boot, startar om vid krasch, och loggar går till journald.
5. Öppna brandväggsporten
Minecraft lyssnar på TCP 25565 som standard. Öppna bara det:
sudo ufw allow 25565/tcp
sudo ufw enable
Ge dina vänner serverns IP (och :25565 om du ändrade porten). Öppna inget du inte behöver — hela poängen med att köra din egen box är att du bestämmer vad som är nåbart.
6. Säkerhetskopiera världen
Den som folk hoppar över tills dagen de önskar att de inte hade. Ett enkelt skript:
#!/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
Kör det från cron, och — detta är den viktiga halvan — kopiera arkivet bort från servern, till objektlagring eller en annan maskin. En säkerhetskopia på samma disk som världen dör med disken. Om din värld spelar roll, kör save-off och save-all i server-konsolen före tar:en så att du aldrig snapshotar mitt-i-skrivning.
Det är hela grejen
Java, Paper, tunad config, en systemd-tjänst som auto-startar om, en brandväggsport, och säkerhetskopior som lever någon annanstans. Det är en Minecraft-server som beter sig som en.
Om du inte har en box än: välj ett plan — Small ($8) för en liten grupp, Medium ($12) om du pressar tio spelare — betala i USDC eller USDT (ingen KYC, inga dokument), och du har root på ungefär 60 sekunder. Arbeta sedan ner den här sidan. Och den ärliga påminnelsen en sista gång: detta är rätt uppsättning för vanilla eller Paper med vänner. En tung modpack för en stor community behöver annan hårdvara, och vi vill hellre att du hör det från oss först.
Kommentarer
Inga kommentarer än. Bli först.