Как подключить лицензионных и пиратских игроков
Подготовка сервера на proxify.cloud
1. Создание виртуальной машины в панели proxify.cloud
- Войдите в панель управления proxify.cloud
- Нажмите Create VM → выберите Ubuntu 22.04 LTS или Ubuntu 24.04 LTS
- Укажите ресурсы (минимум для игрового сервера):
- CPU: 4 ядра (vCPU)
- RAM: 8 GB (для 20+ игроков — 16 GB)
- Disk: 50 GB SSD (NVMe предпочтительнее)
- Network: 1 Gbps, 1 публичный IPv4
- В поле SSH Keys добавьте свой публичный ключ (
~/.ssh/id_ed25519.pub) - Нажмите Deploy — установка займёт 2–3 минуты
2. Первичная настройка Ubuntu
Подключитесь по SSH:
ssh root@<IP_ВАШЕГО_СЕРВЕРА_PROXIFY>
Обновите систему и установите базовые пакеты:
apt update && apt upgrade -y
apt install -y openjdk-21-jre-headless screen wget curl ufw fail2ban git htop
Создайте пользователя для сервера (не запускайте от root):
adduser --disabled-password --gecos "" minecraft
usermod -aG sudo minecraft
Настройте фаервол (оставьте SSH и порт Minecraft):
ufw allow OpenSSH
ufw allow 25565/tcp
ufw allow 25575/tcp # RCON, если понадобится
ufw --force enable
Настройте fail2ban для защиты SSH:
cat > /etc/fail2ban/jail.local << 'EOF'
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
EOF
systemctl restart fail2ban
Переключитесь на пользователя minecraft:
su - minecraft
Установка прокси-сервера Velocity (рекомендуемый вариант)
Velocity — современный прокси с нативной поддержкой online-mode и offline-mode игроков одновременно.
3. Скачивание и настройка Velocity
mkdir -p ~/velocity && cd ~/velocity
wget -O velocity.jar https://versions.velocitypowered.com/download/3.3.0/velocity-3.3.0.jar
Создайте скрипт запуска:
cat > start.sh << 'EOF'
#!/bin/bash
java -Xms1G -Xmx1G -XX:+UseG1GC -XX:G1HeapRegionSize=4M \
-XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled \
-jar velocity.jar --nogui
EOF
chmod +x start.sh
Первый запуск для генерации конфигов:
./start.sh
# Подождите 10 секунд, затем Ctrl+C
4. Конфигурация velocity.toml для гибридного режима
Отредактируйте конфиг:
nano velocity.toml
Пример рабочей конфигурации:
config-version = "3.3.0"
bind = "0.0.0.0:25565"
motd = "&aМой сервер &7| &fЛицензия + Пиратка"
show-max-players = 100
player-info-forwarding-mode = "MODERN"
forwarding-secret = "сгенерируйте_случайную_строку_32_символа"
announce-forge = true
[servers]
# Ваш бэкенд-сервер (Paper/Spigot/Fabric)
lobby = "127.0.0.1:25566"
[forced-hosts]
# Принудительный редирект по доменам (опционально)
# "mc.example.com" = ["lobby"]
[advanced]
compression-threshold = 256
compression-level = -1
login-ratelimit = 3000
connection-timeout = "30s"
read-timeout = "30s"
proxy-protocol = false
[query]
enabled = false
port = 25565
map = "Velocity"
players = "100"
[metrics]
enabled = true
plugin-id = 12345
[online-mode]
# ГЛАВНАЯ НАСТРОЙКА: true = проверка лицензии, false = пиратка
# Для гибридного режима ставим false, а проверку делаем на бэкенде
online-mode = false
[prevent-client-proxy-connections]
enabled = true
Важно: forwarding-secret должен совпадать с настройкой на бэкенд-сервере (см. ниже). Сгенерируйте его:
openssl rand -hex 16
Установка бэкенд-сервера (PaperMC)
5. Скачивание и настройка Paper
mkdir -p ~/paper && cd ~/paper
wget -O paper.jar https://api.papermc.io/v2/projects/paper/versions/1.21.1/builds/109/downloads/paper-1.21.1-109.jar
Скрипт запуска (подберите память под свой тариф proxify.cloud):
cat > start.sh << 'EOF'
#!/bin/bash
java -Xms4G -Xmx4G -XX:+UseG1GC -XX:G1HeapRegionSize=4M \
-XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled \
-jar paper.jar --nogui
EOF
chmod +x start.sh
Первый запуск для генерации файлов:
./start.sh
# Ждите "Done!", затем Ctrl+C
6. Настройка server.properties для гибридного режима
nano server.properties
Ключевые параметры:
# СЕТЬ
server-ip=127.0.0.1
server-port=25566
enable-query=false
query.port=25566
# РЕЖИМ АУТЕНТИФИКАЦИИ
online-mode=true
enforce-secure-profile=true
network-compression-threshold=256
# ПРОКСИ (Velocity)
use-proxy-protocol=false
proxy-protocol=false
# ПРОИЗВОДИТЕЛЬНОСТЬ
view-distance=10
simulation-distance=6
max-tick-time=60000
max-players=100
spawn-protection=16
# РЕСУРСЫ
resource-pack=
resource-pack-sha1=
require-resource-pack=false
7. Настройка paper-global.yml для Velocity
nano config/paper-global.yml
Добавьте/измените секцию velocity:
velocity:
enabled: true
online-mode: true
secret: "ВАШ_FORWARDING_SECRET_ИЗ_VELOCITY"
player-info-forwarding-mode: "MODERN"
Критически важно: secret должен в точности совпадать с forwarding-secret в velocity.toml.
8. Настройка spigot.yml (опционально)
nano spigot.yml
settings:
bungeecord: true # Для совместимости с плагинами
sample-count: 12
player-shuffle: 0
timeout-time: 60
restart-on-crash: true
restart-script: ./start.sh
Плагины для поддержки обоих типов игроков
9. Установка ViaVersion (поддержка разных версий клиентов)
cd ~/paper/plugins
wget -O ViaVersion.jar https://ci.viaversion.com/job/ViaVersion/lastSuccessfulBuild/artifact/ViaVersion-Proxy/target/ViaVersion-5.3.0-SNAPSHOT.jar
wget -O ViaBackwards.jar https://ci.viaversion.com/job/ViaBackwards/lastSuccessfulBuild/artifact/ViaBackwards-Proxy/target/ViaBackwards-5.3.0-SNAPSHOT.jar
wget -O ViaRewind.jar https://ci.viaversion.com/job/ViaRewind/lastSuccessfulBuild/artifact/ViaRewind-Proxy/target/ViaRewind-5.3.0-SNAPSHOT.jar
10. Плагин для авторизации пиратских игроков (AuthMeReloaded)
wget -O AuthMeReloaded.jar https://github.com/AuthMe/AuthMeReloaded/releases/download/5.6.0/AuthMe-5.6.0.jar
После первого запуска настройте plugins/AuthMe/config.yml:
settings:
mode: "both" # Поддержка и лицензий, и оффлайн
forceLogin: true
forceRegister: true
minPasswordLength: 4
maxPasswordLength: 16
restrictCharacters: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"
session:
enabled: true
timeout: 10080 # 7 дней в минутах
skin:
provider: "Mojang" # Или "Crafatar" для пиратских скинов
11. Плагин для скинов пиратских игроков (SkinRestorer)
wget -O SkinRestorer.jar https://ci.codemc.io/job/SkinRestorer/job/SkinRestorer/lastSuccessfulBuild/artifact/SkinRestorer-Bukkit/target/SkinRestorer-17.1.jar
Настройка plugins/SkinRestorer/config.yml:
general:
skin-provider: "MOJANG" # Для лицензий
fallback-provider: "CRAFATAR" # Для пиратки
use-cached-skins: true
cache-time: 3600
Автозапуск через systemd
12. Создание сервисов (выполняйте от root)
exit # Выход из пользователя minecraft
Velocity service:
cat > /etc/systemd/system/velocity.service << 'EOF'
[Unit]
Description=Velocity Proxy Server
After=network.target
[Service]
Type=simple
User=minecraft
WorkingDirectory=/home/minecraft/velocity
ExecStart=/home/minecraft/velocity/start.sh
Restart=on-failure
RestartSec=10
LimitNOFILE=65536
MemoryLimit=2G
CPUQuota=200%
[Install]
WantedBy=multi-user.target
EOF
Paper service:
cat > /etc/systemd/system/paper.service << 'EOF'
[Unit]
Description=Paper Minecraft Server
After=network.target velocity.service
Requires=velocity.service
[Service]
Type=simple
User=minecraft
WorkingDirectory=/home/minecraft/paper
ExecStart=/home/minecraft/paper/start.sh
Restart=on-failure
RestartSec=10
LimitNOFILE=65536
MemoryLimit=6G
CPUQuota=400%
[Install]
WantedBy=multi-user.target
EOF
Включите и запустите:
systemctl daemon-reload
systemctl enable velocity paper
systemctl start velocity paper
Проверьте статус:
systemctl status velocity paper
journalctl -u velocity -f # Логи прокси
journalctl -u paper -f
Комментарии (0)