
AutoServer
Плагин AutoServer для Velocity Proxy автоматически запускает серверы, когда игроки подключаются, и останавливает их, когда никого нет. Экономит ресурсы на серверной сети.
AutoServer - это плагин для Minecraft, созданный специально для Velocity Proxy. Если у тебя серверная сеть из нескольких игровых миров (например, выживание, креатив, мини-игры), то ты знаешь, как много ресурсов жрёт постоянно включённый бэкенд. AutoServer решает эту проблему: он автоматически запускает нужный сервер, когда игрок пытается к нему подключиться, и так же автоматически выключает его, когда на нём никого нет.
Зачем это нужно
В ванильном Minecraft, если у тебя прокси-сеть, все серверы обычно работают 24/7. Даже если на выживании никого нет, оно жрёт оперативку и процессор. AutoServer позволяет держать серверы выключенными до тех пор, пока они реально не понадобятся. Это особенно актуально для:
- Больших сетей с кучей мини-игр
- Серверов с редкими ивентами
- Тестовых или временных миров
- Экономии на хостинге (меньше нагрузки - дешевле)
Как это работает
Всё просто: игрок выбирает сервер в лобби, Velocity перенаправляет запрос, а AutoServer проверяет - запущен ли бэкенд. Если нет, он запускает его по твоему скрипту или команде. Как только сервер готов, игрока автоматически подключают. Когда последний игрок выходит, плагин ждёт настраиваемую задержку и выключает сервер.
Основные фишки
- Автозапуск - сервер стартует при попытке подключения
- Автоостановка - сервер выключается, когда никого нет
- Ручное управление - команды
/autoserver startи/autoserver stop - Горячая перезагрузка конфига - без перезапуска прокси
- Кастомизируемые сообщения - что писать игроку, пока сервер грузится
- Поддержка удалённых серверов - можно запускать сервер на другой машине
Установка
- Скачай последнюю версию
autoserver-velocity-1.x.x.jarсо страницы версий. - Закинь JAR-файл в папку
pluginsтвоего Velocity Proxy. - Перезапусти Velocity, чтобы плагин загрузился и создал конфиг.
- Настрой
plugins/autoserver/config.tomlпод свои серверы.
Настройка
После первого запуска в папке plugins/autoserver появится файл config.toml. Вот что там можно менять:
Глобальные настройки
| Параметр | Тип | Описание |
|---|---|---|
checkForUpdates | boolean | Проверять обновления при запуске |
messages | table | Сообщения для игроков |
servers | table | Настройки каждого сервера |
Сообщения
| Параметр | Тип | Описание |
|---|---|---|
prefix | string | Префикс перед всеми сообщениями |
starting | string | Что пишем, когда сервер запускается |
failed | string | Если сервер не запустился |
notify | string | Когда сервер готов, игрока скоро подключат |
Настройки сервера
Для каждого сервера, которым управляет AutoServer, нужно создать секцию [servers.имя_сервера]. Вот основные параметры:
| Параметр | Тип | Описание |
|---|---|---|
startupDelay | int | Секунд ждать перед подключением игрока после старта |
shutdownDelay | int | Секунд ждать перед проверкой, выключился ли сервер |
start | string | Команда для локального запуска сервера |
stop | string | Команда для локальной остановки сервера |
workingDirectory | string | Путь к папке сервера |
remote | boolean | true, если сервер на другой машине |
port | int | Порт для удалённого запуска (по умолчанию 8080) |
preserveQuotes | boolean | Сохранять кавычки в команде (опционально) |
security | boolean | Использовать HMAC-безопасность (по умолчанию true) |
autoShutdownDelay | int | Секунд ждать перед автоотключением (0 - отключено) |
Примеры команд для запуска
Вот несколько вариантов, как можно настроить start и stop:
Прямой запуск Java
start = "java -Xmx4G -Xms4G -jar server.jar nogui"
Через Bash-скрипт
start = "bash start.sh"
stop = "bash stop.sh"
Через screen (Linux)
start = "screen -DmS mc-example java -Xmx4G -Xms4G -jar server.jar nogui"
stop = "screen -p 0 -S mc-example -X stuff \"stop\r\""
Через tmux
start = "tmux new -d -s mc-example 'java -Xmx4G -Xms4G -jar server.jar nogui'"
stop = "tmux send-keys -t mc-example 'stop' C-m"
Через systemd
start = "systemctl start myserver"
stop = "systemctl stop myserver"
Через Docker
start = "docker start mc-example"
stop = "docker stop mc-example"
Для Windows
Через batch-скрипт:
start = "start.bat"
Через cmd:
start = "cmd /c start \"ExampleTitle\" cmd /c java -Xmx4G -Xms4G -jar server.jar nogui"
Через PowerShell:
start = "powershell -Command Start-Process -FilePath 'java' -ArgumentList '-Xmx4G -Xms4G -jar server.jar nogui'"
Команды и права
| Команда | Описание | Право |
|---|---|---|
| (базовое) | Доступ к любым командам | autoserver.base |
/autoserver reload | Перезагрузить конфиг | autoserver.command.reload |
/autoserver help | Показать помощь | autoserver.command.help |
/autoserver status [сервер] | Статус сервера или всех | autoserver.command.status |
/autoserver start <сервер> | Запустить сервер вручную | autoserver.command.start |
/autoserver stop <сервер> | Остановить сервер вручную | autoserver.command.stop |
/autoserver info <сервер> | Подробная информация о сервере | autoserver.command.info |
/autoserver version | Версия плагина | autoserver.command.version |
Удалённые серверы
Если твой сервер работает на другой машине, понадобится дополнительный плагин на бэкенде. AutoServer поддерживает PaperMC и FabricMC. Скачай версию для своей платформы, закинь в plugins или mods, перезапусти сервер. Настройки:
bootListener.port- порт для прослушивания команд (по умолчанию 8080)server.workingDirectory- папка сервера на удалённой машинеserver.startCommand- команда запускаsecurity.enabled- включить HMAC-безопасностьsecurity.secret- скопируй изforwarding.secretна Velocity
Пример конфига для удалённого сервера survival на Velocity:
[servers.survival]
remote = true
port = 8080
startupDelay = 120
security = true
А на самом сервере AutoServer/config.yml:
bootListener:
runJarCommand: "java -jar %jarName"
enabled: true
port: 8080
server:
workingDirectory: "/home/user/servers/minecraft-server/survival"
startCommand: "screen -DmS mc-example java -Xmx4G -Xms4G -jar server.jar nogui"
security:
enabled: true
secret: "xxxxxxxxxxxx"
Важно знать
- Если сервер не запускается, проверь команду
startв конфиге - попробуй выполнить её вручную в терминале. - Для удалённых серверов убедись, что порт открыт и firewall не блокирует соединение.
- На Windows команды работают немного иначе - используй batch или PowerShell.
- Если используешь
screenилиtmux, убедись, что они установлены на сервере. - При использовании
systemdмогут быть проблемы с правами - возможно, придётся настраивать sudo.
Итог
AutoServer - это must-have для любой серьёзной серверной сети на Velocity. Он реально экономит ресурсы, особенно если у тебя много серверов, которые используются не постоянно. Настройка поначалу может показаться замороченной, но примеры команд и конфигов помогут разобраться. Если собираешь сеть для друзей или публичный проект - однозначно стоит скачать и попробовать.
Сервер для плагина AutoServer - как у профи
Плагин AutoServer создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином AutoServer для друзей можно за пару минут - BungeeHost всё уже подготовил.
