Това е практическият спътник на страницата ни VPS за game сървър. Онази е за това кой план пасва; тази е за реалното вдигане на сървъра — Paper, свястна systemd услуга, конфигурацията, която ти спестява RAM, firewall-а и архивите. Накрая ще имаш Minecraft сървър, който преживява срив, преживява рестарт и не изяжда тихо цялата ти машина.
Една честна бележка, преди да започнем: границите на CPU и RAM от страницата за случая на употреба все още важат. Paper на Small или Medium план е чудесен за група приятели. Пак от 150 мода за голяма общност не е за какво са тези планове, и никаква конфигурация не поправя това. С това ясно, нека строим.
1. Инсталирай Java
Paper работи на Java. Инсталирай headless JDK — за текуща версия на Minecraft това е Java 21:
sudo apt update
sudo apt install -y openjdk-21-jre-headless
java -version
Ако версията ти на Minecraft е по-стара, инсталирай Java-та, която иска (17 за ерата 1.18-1.20). Логовете на сървъра ще се оплачат гръмко, ако версията е грешна.
2. Настрой директорията на сървъра и Paper
Пусни сървъра като собствен потребител, не root — ако нещо някога се обърка, искаш радиусът на взрива да е малък.
sudo adduser --system --group --home /opt/minecraft minecraft
sudo -u minecraft mkdir -p /opt/minecraft/server
cd /opt/minecraft/server
Свали Paper jar-а за версията ти на Minecraft (вземи URL-а от страницата им за сваляния) и го запази като server.jar:
sudo -u minecraft wget -O server.jar "PASTE_PAPER_DOWNLOAD_URL_HERE"
Пусни го веднъж, за да генерира конфигурационните файлове, после приеми EULA:
sudo -u minecraft java -Xms1G -Xmx3G -jar server.jar --nogui
# спира веднага, искайки да приемеш EULA
sudo -u minecraft sed -i 's/eula=false/eula=true/' eula.txt
-Xmx3G е таванът на JVM heap-а. На 4 GB Small план, ~3 GB за JVM оставя на OS-а място да диша. Не го задавай на целия си RAM — JVM има overhead отвъд heap-а, а OOM killer-ът не преговаря.
3. Настрой server.properties, за да спестиш RAM
Тук си купуваш производителност безплатно. Отвори server.properties и задай:
view-distance=8
simulation-distance=6
max-players=10
view-distance— chunks, държани заредени около всеки играч. По подразбиране 10 е щедро; 8 (или дори 6) реже RAM и CPU забележимо и почти никой не забелязва разликата.simulation-distance— колко далеч entities, redstone и растежът на култури реално ticknат. По-ниско е по-евтино. 6 е разумна отправна точка.max-players— задай го на това, което реално очакваш, така че изненадваща тълпа да не взриви бюджета ти за RAM.
Помни реалността на single-thread: tick-ът на Minecraft се обляга на едно ядро. Ако TPS падне, повече RAM няма да помогне — понижи simulation-distance и лимитите за mob.
4. Пусни го като systemd услуга
Това е частта, която превръща „jar, който пуснах веднъж“ в „сървър“. Създай /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 е редът, който има значение — ако JVM се срине, systemd го връща за десет секунди. SuccessExitStatus=... 143 спира systemd да третира нормалното SIGTERM изключване като провал. Включи и стартирай:
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo systemctl status minecraft
sudo journalctl -u minecraft -f # логове на живо
Сега стартира при boot, рестартира при срив, а логовете отиват в journald.
5. Отвори firewall порта
Minecraft слуша на TCP 25565 по подразбиране. Отвори само това:
sudo ufw allow 25565/tcp
sudo ufw enable
Дай на приятелите си IP-то на сървъра (и :25565, ако си сменил порта). Не отваряй нищо, от което не се нуждаеш — целият смисъл на пускането на собствена машина е, че ти решаваш какво е достъпно.
6. Архивирай света
Онова, което хората пропускат, докато не дойде денят, в който биха искали да не бяха. Прост скрипт:
#!/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
Пусни го от cron, и — това е важната половина — копирай архива извън сървъра, към object storage или друга машина. Архив на същия диск като света умира с диска. Ако светът ти има значение, пусни save-off и save-all в конзолата на сървъра преди tar-а, за да не правиш снимка по средата на запис.
Това е цялото нещо
Java, Paper, настроена конфигурация, systemd услуга, която авто-рестартира, firewall порт и архиви, които живеят другаде. Това е Minecraft сървър, който се държи като такъв.
Ако още нямаш машина: избери план — Small ($8) за малка група, Medium ($12), ако буташ десет играчи — плати в USDC или USDT (без KYC, без документи) и ще имаш root за около 60 секунди. После работи надолу по тази страница. И честното напомняне за последен път: това е правилната настройка за vanilla или Paper с приятели. Тежък модпак за голяма общност се нуждае от различен хардуер, и предпочитаме да чуеш това първо от нас.
Коментари
Още няма коментари. Бъди първият.