Questo è il compagno pratico della nostra pagina VPS per un server di gioco. Quella riguarda quale piano si adatta; questa riguarda il mettere effettivamente in piedi il server — Paper, un vero servizio systemd, la config che ti risparmia RAM, il firewall e i backup. Alla fine avrai un server Minecraft che sopravvive a un crash, sopravvive a un riavvio e non ti mangia in silenzio tutta la macchina.
Una nota onesta prima di iniziare: i limiti di CPU e RAM della pagina del caso d'uso valgono comunque. Paper su un piano Small o Medium è ottimo per un gruppo di amici. Un modpack da 150 mod per una grande community non è ciò per cui sono questi piani, e nessuna quantità di config lo risolve. Chiarito questo, costruiamo.
1. Installa Java
Paper gira su Java. Installa un JDK headless — per una versione attuale di Minecraft è Java 21:
sudo apt update
sudo apt install -y openjdk-21-jre-headless
java -version
Se la tua versione di Minecraft è più vecchia, installa il Java che chiede (17 per l'era 1.18-1.20). I log del server si lamenteranno rumorosamente se la versione è sbagliata.
2. Configura la directory del server e Paper
Esegui il server come proprio utente, non root — se qualcosa va storto, vuoi il raggio d'azione piccolo.
sudo adduser --system --group --home /opt/minecraft minecraft
sudo -u minecraft mkdir -p /opt/minecraft/server
cd /opt/minecraft/server
Scarica il jar di Paper per la tua versione di Minecraft (prendi l'URL dalla loro pagina di download) e salvalo come server.jar:
sudo -u minecraft wget -O server.jar "PASTE_PAPER_DOWNLOAD_URL_HERE"
Eseguilo una volta per generare i file di config, poi accetta l'EULA:
sudo -u minecraft java -Xms1G -Xmx3G -jar server.jar --nogui
# si ferma subito chiedendoti di accettare l'EULA
sudo -u minecraft sed -i 's/eula=false/eula=true/' eula.txt
Il -Xmx3G è il tetto dell'heap della JVM. Su un piano Small da 4 GB, ~3 GB per la JVM lasciano respiro all'OS. Non impostarlo a tutta la tua RAM — la JVM ha overhead oltre l'heap, e l'OOM killer non negozia.
3. Regola server.properties per risparmiare RAM
È qui che ti compri performance gratis. Apri server.properties e imposta:
view-distance=8
simulation-distance=6
max-players=10
view-distance— chunk tenuti caricati attorno a ogni giocatore. Il default 10 è generoso; 8 (o persino 6) taglia RAM e CPU notevolmente e quasi nessuno nota la differenza.simulation-distance— quanto lontano entità, redstone e crescita delle colture ticchettano davvero. Più basso è più economico. 6 è un punto di partenza sensato.max-players— impostalo a ciò che ti aspetti davvero, così una folla a sorpresa non fa saltare il tuo budget di RAM.
Ricorda la realtà single-thread: il tick di Minecraft si appoggia a un core. Se i TPS calano, più RAM non aiuterà — abbassa simulation-distance e i limiti dei mob.
4. Eseguilo come servizio systemd
È la parte che trasforma "un jar che ho eseguito una volta" in "un server". Crea /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 è la riga che conta — se la JVM va in crash, systemd la riporta in dieci secondi. SuccessExitStatus=... 143 impedisce a systemd di trattare un normale spegnimento SIGTERM come un fallimento. Abilitalo e avvialo:
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo systemctl status minecraft
sudo journalctl -u minecraft -f # log in tempo reale
Ora si avvia al boot, si riavvia in caso di crash, e i log vanno a journald.
5. Apri la porta del firewall
Minecraft ascolta su TCP 25565 di default. Apri solo quella:
sudo ufw allow 25565/tcp
sudo ufw enable
Dai ai tuoi amici l'IP del server (e :25565 se hai cambiato la porta). Non aprire nulla di cui non hai bisogno — tutto il punto di far girare la tua macchina è che decidi tu cosa è raggiungibile.
6. Fai il backup del mondo
Quella che la gente salta fino al giorno in cui vorrebbe non averlo fatto. Uno script semplice:
#!/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
Eseguilo da cron, e — questa è la metà importante — copia l'archivio fuori dal server, su object storage o un'altra macchina. Un backup sullo stesso disco del mondo muore con il disco. Se il tuo mondo conta, esegui save-off e save-all nella console del server prima del tar così non ne fai mai snapshot a metà scrittura.
Ecco tutto
Java, Paper, config regolata, un servizio systemd che si riavvia da solo, una porta del firewall, e backup che vivono altrove. Ecco un server Minecraft che si comporta come tale.
Se non hai ancora una macchina: scegli un piano — Small ($8) per un piccolo gruppo, Medium ($12) se spingi verso dieci giocatori — paga in USDC o USDT (niente KYC, niente documenti), e avrai root in circa 60 secondi. Poi scendi lungo questa pagina. E il promemoria onesto un'ultima volta: questo è il setup giusto per vanilla o Paper con gli amici. Un modpack pesante per una grande community ha bisogno di hardware diverso, e preferiamo che tu lo senta prima da noi.
Commenti
Ancora nessun commento. Sii il primo.