План сезона 2 (зима 2026): инфраструктура и Towny
Черновик на этапе проработки. Ничего из этого документа ещё не
установлено и не развёрнуто — только план. Тестовая площадка —
E:\helgawind_season2\ (локально, Paper 26.2, пока только AuthMe +
CoreProtect).
Игровой контент сезона (сюжет, сезонная валюта, перезапуск компаний и выборов) расписан отдельно в питч-документе для обсуждения со стримершей — здесь только техническая часть: на чём это всё будет стоять и первая крупная новая механика (Towny).
Почему это отдельный документ
Изначально просили спроектировать только Towny. По ходу обсуждения выяснилось, что сезон 2 — это не "добавить один плагин", а смена уровня: прокси-сеть (Velocity), SQL вместо SQLite, и помимо Towny ещё кастомные данжи, боссы и баттлпасс. Инфраструктура (прокси + SQL) — это фундамент, на котором держится всё остальное, поэтому её прорабатываем первой, до самого Towny.
Инфраструктура: Velocity + бэкенд(ы) + SQL
Хостинг
Будет использоваться управляемый хостинг Minecraft-серверов — по
всей видимости, тот же тип площадки, что уже под боевым сервером
(minecraft-hosting.net, панель на Pterodactyl — см.
«Хостинг»), либо аналогичная. Панели на Pterodactyl
обычно поддерживают именно такой сценарий: несколько независимых
"серверов" под одним аккаунтом (каждый — свой процесс, свой JAR,
свой набор плагинов) плюс встроенное управление MySQL-базами через
вкладку Databases.
Проверить у хостера/в панели перед стартом:
- Можно ли завести отдельный "сервер"-инстанс под Velocity (обычно это отдельный egg/шаблон "Proxy" в Pterodactyl, не Paper egg)
- Сколько MySQL-баз входит в тариф и где взять доступ (host/port
внутри сети хостера обычно не тот же
localhost, что был при локальной разработке) - Поддерживается ли Java, нужная для Paper 26.2 (см.
version.jsonвнутриserver.jar—java_version: 25) - Как настраивается forwarding между Velocity и бэкендами (Pterodactyl
обычно даёт прямой доступ к
server-icon/конфигам через файловый менеджер — этого достаточно, shell не нужен)
Топология
Минимально для старта:
- 1 инстанс Velocity (прокси, точка входа игроков)
- 1 бэкенд-инстанс Paper 26.2 (сама игра, JobSystem, Towny и т.д.)
- 1 MySQL/MariaDB база (не PostgreSQL — у большинства MC-плагинов, включая JobSystem и Towny, поддержка именно MySQL/MariaDB, Postgres почти никто не поддерживает нативно)
Задел на будущее (не делаем сейчас, просто чтобы прокси сразу был не
лишним): при желании позже добавить второй бэкенд (например,
отдельный мир для ивентов/данжей) — Velocity это позволяет без смены
архитектуры, просто ещё один egg + запись в velocity.toml.
Что переезжает на SQL
plugins/JobSystem/config.yml уже поддерживает MySQL как есть,
переключение — storage.type: "sqlite" → "mysql" + заполнить блок
storage.mysql (host/port/database/username/password). LuckPerms и
Towny штатно поддерживают MySQL/MariaDB — на сети из нескольких
бэкендов это ещё и обязательное условие (иначе права/данные не
синхронизируются между инстансами).
Auth и online-mode на прокси
Сейчас online-mode: false на бэкенде + AuthMe для входа (см.
hosting.md). При Velocity обычно наоборот: online-mode включают
на прокси, а у бэкенда online-mode: false + velocity modern
forwarding (бэкенд доверяет прокси, а не сам проверяет сессию) — если
хотим сохранить AuthMe-логин как раньше (актуально для не-premium
аккаунтов), это отдельная развилка, решить перед установкой Velocity,
не сейчас.
Towny
Плагин
Towny (TownyAdvanced), актуальная версия на Modrinth — 0.102.0.0, Paper/Folia/Purpur совместим. Точный билд под наш Paper 26.2 сверить на Modrinth в момент установки (см. ссылки в чате обсуждения).
Защита территории — Towny заменяет GriefPrevention и ClaimBar
Решено: на сезоне 2 GriefPrevention и ClaimBar не ставим — Towny полностью закрывает игроцкий клейм земли. WorldGuard остаётся, но только под админ-регионы (спавн, будущие данжи/ивент-зоны) — зона ответственности не пересекается с городами игроков, конфликтов не будет.
Экономика
Towny работает через Vault — тот же мост, что уже использует XConomy. Отдельный мост не нужен.
Термины — решено
Роль "мэра" не должна путать игроков, раз она теперь есть в двух системах:
| Система | Роль | Название для игроков |
|---|---|---|
| JobSystem (выборы, один на сервер) | мэр | Губернатор |
| Towny (один на город) | мэр | Мэр города <имя> |
Меняются только языковые файлы (messages_ru.yml у JobSystem) —
логика/команды не трогаются, только видимый текст.
Компании (JobSystem) vs города (Towny) — намеренно независимы
Компании — это гильдии/бизнес (казна, роли, акции), города — это земля (границы, участки, защита). Явной связи между ними нет и не планируется — игрок может одновременно быть в компании и жить в городе, это два независимых членства.
Начальная настройка — сознательно дефолтная
Первая установка — почти дефолтный конфиг Towny (цена города, участка, налоги, размер клейма) без подгонки под экономику сервера. Это осознанно: подгонять цифры имеет смысл только после того, как решена SQL-инфраструктура и понятна итоговая экономика сезона (сезонная валюта, баттлпасс) — иначе донастройка будет "в вакууме". Отмечено как первое, что трогать при кастомизации.
Дальше по плану (не спроектировано, отдельные брейнштормы)
- Кастомные данжи + боссы — объединены в одну тему по просьбе владельца (боссы почти всегда живут внутри данжей), приоритет сразу после Towny.
- Баттлпасс — последний по приоритету из трёх.
Ни то, ни другое не начинали прорабатывать — фундамент (Velocity + SQL) и Towny в приоритете.
Открытые вопросы
- Хостинг-провайдер и тариф для новой сети (тот же аккаунт, что у боевого сервера, или отдельный?)
- Online-mode на прокси vs сохранение AuthMe-входа
- Финальные цифры экономики Towny — после сезонной валюты/баттлпасса