Разница между Vanilla, Paper, Purpur, Spigot и Fabric
1. Подготовка выделенного сервера на proxify.cloud
1.1. Заказ и доступ к серверу
- В панели proxify.cloud выберите «Выделенные серверы» → «Заказать».
- Выберите конфигурацию: минимум 4 vCPU, 8 GB RAM, 100 GB NVMe (рекомендуется 8 vCPU, 16 GB RAM для Paper/Purpur с плагинами).
- ОС: Ubuntu 22.04 LTS или 24.04 LTS.
- После установки в панели proxify.cloud откройте вкладку «Консоль» или подключитесь по SSH:
ssh root@<IP_ВАШЕГО_СЕРВЕРА>
1.2. Базовая настройка системы
apt update && apt upgrade -y
apt install -y openjdk-21-jre-headless screen htop curl wget git ufw fail2ban
1.3. Настройка firewall (UFW)
ufw allow 22/tcp # SSH
ufw allow 25565/tcp # Minecraft (стандартный порт)
ufw allow 25575/tcp # RCON (если нужен)
ufw enable
1.4. Создание пользователя для сервера (безопасность)
adduser --disabled-password --gecos "" mcuser
usermod -aG sudo mcuser
su - mcuser
mkdir -p ~/servers/{vanilla,paper,purpur,spigot,fabric}
2. Vanilla — официальный сервер Mojang
2.1. Скачивание и запуск
cd ~/servers/vanilla
VERSION="1.21.1"
wget "https://piston-data.mojang.com/v1/objects/$(curl -s https://launchermeta.mojang.com/mc/game/version_manifest.json | jq -r ".versions[] | select(.id==\"$VERSION\") | .url" | xargs curl -s | jq -r ".downloads.server.url")" -O server.jar
2.2. Принятие EULA и первый запуск
echo "eula=true" > eula.txt
screen -S vanilla java -Xms2G -Xmx4G -jar server.jar nogui
Выйти из screen: Ctrl+A, затем D. Вернуться: screen -r vanilla.
2.3. Особенности
- Плюсы: чистый ванильный опыт, поддержка датапаков, совместимость с последними снапшотами.
- Минусы: нет оптимизаций, тикинг падает при 20+ игроках, нет плагинов/модов.
- Конфиг:
server.properties— стандартные настройки (view-distance, simulation-distance, max-players).
3. Spigot — классика Bukkit API
3.1. Сборка через BuildTools (требует Git и Java 21)
cd ~/servers/spigot
wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
git config --global --unset core.autocrlf
java -jar BuildTools.jar --rev 1.21.1
Результат: spigot-1.21.1.jar.
3.2. Запуск
echo "eula=true" > eula.txt
screen -S spigot java -Xms2G -Xmx4G -jar spigot-1.21.1.jar nogui
3.3. Особенности
- API: Bukkit/Spigot API — тысячи плагинов на SpigotMC, BukkitDev.
- Производительность: лучше Vanilla за счёт патчей (async chunk loading, entity tracking), но уступает Paper.
- Конфиги:
spigot.yml,bukkit.yml,commands.yml,paper-global.yml(если Paper-патчи применены). - Важно: Spigot не получает обновления безопасности так быстро, как Paper.
4. Paper — высокопроизводительный форк Spigot
4.1. Скачивание последней стабильной версии
cd ~/servers/paper
LATEST=$(curl -s https://api.papermc.io/v2/projects/paper/versions/1.21.1/builds | jq -r '.builds[-1].build')
wget "https://api.papermc.io/v2/projects/paper/versions/1.21.1/builds/$LATEST/downloads/paper-1.21.1-$LATEST.jar" -O paper.jar
4.2. Запуск с оптимизированными флагами JVM (Aikar's flags)
echo "eula=true" > eula.txt
cat > start.sh << 'EOF'
#!/bin/bash
java -Xms4G -Xmx4G \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC \
-XX:+AlwaysPreTouch \
-XX:G1NewSizePercent=30 \
-XX:G1MaxNewSizePercent=40 \
-XX:G1HeapRegionSize=8M \
-XX:G1ReservePercent=20 \
-XX:G1HeapWastePercent=5 \
-XX:G1MixedGCCountTarget=4 \
-XX:InitiatingHeapOccupancyPercent=15 \
-XX:G1MixedGCLiveThresholdPercent=90 \
-XX:G1RSetUpdatingPauseTimePercent=5 \
-XX:SurvivorRatio=32 \
-XX:+PerfDisableSharedMem \
-XX:MaxTenuringThreshold=1 \
-Dusing.aikars.flags=https://mcflags.emc.gs \
-Daikars.new.flags=true \
-jar paper.jar nogui
EOF
chmod +x start.sh
screen -S paper ./start.sh
4.3. Ключевые отличия от Spigot
| Параметр | Spigot | Paper |
|---|---|---|
| Async chunk loading | Частично | Полностью |
| Entity tracking | Базовое | Оптимизированное (per-player) |
| Redstone оптимизации | Нет | Да (hopper, observer, comparator) |
| Плагины anti-cheat | Сложнее | API для NoCheatPlus, AAC |
| Исправления дупов | Редко | Оперативно |
| Конфиг | spigot.yml |
paper-global.yml, paper-world.yml |
4.4. Настройка paper-world.yml (пример)
# ~/servers/paper/paper-world.yml
chunks:
auto-save-interval: 6000
delay-chunk-unloads-by: 10s
entities:
activation-range:
animals: 16
monsters: 24
raiders: 48
tick-rates:
behavior:
villager:
validatenearbypoi: 60
acquirepoi: 120
5. Purpur — форк Paper с дополнительными оптимизациями и фичами
5.1. Скачивание
cd ~/servers/purpur
LATEST=$(curl -s https://api.purpurmc.org/v2/purpur/1.21.1 | jq -r '.builds.latest')
wget "https://api.purpurmc.org/v2/purpur/1.21.1/$LATEST/download" -O purpur.jar
5.2. Запуск (те же флаги JVM, что и Paper)
echo "eula=true" > eula.txt
cp ~/servers/paper/start.sh .
sed -i 's/paper.jar/purpur.jar/' start.sh
screen -S purpur ./start.sh
5.3. Уникальные фичи Purpur
- Virtual entities: уменьшает нагрузку от сущностей за пределами чанков игрока.
- Per-player mob spawning: спавн мобов считается индивидуально.
- Конфиг
purpur.yml: тонкая настройка игровых механик (например,disable-chest-cat-detection,enderman-short-teleport). - Поддержка Paper плагинов: 100% совместимость.
5.4. Когда выбирать Purpur
- Серверы 50+ игроков с тяжелыми фермами.
- Нужен контроль над vanilla-механиками без модов.
- Готовы мириться с редкими несовместимостями плагинов (минорные).
6. Fabric — модлоадер (не для плагинов Bukkit/Spigot)
6.1. Установка Fabric Server
cd ~/servers/fabric
wget https://maven.fabricmc.net/net/fabricmc/fabric-installer/1.0.1/fabric-installer-1.0.1.jar
java -jar fabric-installer-1.0.1.jar server -dir . -mcversion 1.21.1 -loader 0.16.9 -downloadMinecraft
Результат: fabric-server-launch.jar, server.jar (vanilla).
6.2. Запуск
echo "eula=true" > eula.txt
screen -S fabric java -Xms2G -Xmx4G -jar fabric-server-launch.jar nogui
6.3. Добавление модов (пример: Lithium, Sodium, FerriteCore)
mkdir mods
cd mods
wget https://github.com/CaffeineMC/lithium-fabric/releases/download/mc1.21.1-0.11.0/lithium-fabric-mc1.21.1-0.11.0.jar
wget https://github.com/CaffeineMC/sodium-fabric/releases/download/mc1.21.1-0.5.12/sodium-fabric-mc1.21.1-0.5.12.jar
wget https://github.com/maluoi/ferritecore/releases/download/6.0.0/ferritecore-6.0.0.jar
6.4. Особенности Fabric
- Не запускает Spigot/Paper плагины. Нужен Cardboard (прослойка) или Folia (Paper для Fabric) — но это экспериментально.
- Моды только клиент+сервер (Sodium, Lithium, Krypton, FerriteCore дают прирост 2-3x TPS).
- API: Fabric API — основа для модов.
- Обновления: выходят быстрее Paper (часто в день релиза снапшота/релиза).
7. Сравнительная таблица: что выбрать
| Задача | Лучший выбор | Почему |
|---|---|---|
| Чистый ванильный, снэпшоты, датапаки | Vanilla | Никаких изменений, официальная поддержка |
| Плагины (Essentials, WorldEdit, LuckPerms), 20-50 игроков | Paper | Баланс стабильности, производительности, экосистемы |
| 50+ игроков, тяжелые |
Комментарии (0)