Перейти к основному содержимому

Elemental Fracture, обновление Marla Server 2.0

· 5 мин. чтения
Brendon (Doobs)
Руководитель проекта

Всем привет, на связи Doobs! Ну и путь это был. Прежде чем перейти к сути, скажу сразу: да, знаю, я обещал шесть часов. Но когда выдираешь всю проводку и начинаешь её менять, по дороге иногда находишь ещё пару протечек. После бесконечного, как показалось, цикла «чинишь одно, ломается другое» я рад сообщить: всё поднято и работает лучше, чем когда-либо. Это обновление очень большое, настолько, что я вышел за лимит Nitro. Мы перебрали инфраструктуру, усилили безопасность, повысили эффективность серверов и добавили давно нужную автоматизацию. А ещё я закинул несколько улучшений на бэкенде, чтобы облегчить себе жизнь.

Новые возможности и улучшения

1. Встречайте Marla 2.0

Marla полностью интегрирована в систему! Она всё ещё в работе (а кто из нас нет?), но, думаю, пора официально считать версию 2.0 завершённой. Если у вас есть идеи новых функций или правок, дайте знать. Она здесь, чтобы упрощать жизнь, и я хочу развивать её исходя из того, что нужно вам.

2. Sentinel: в строю.

Это для нашей команды, но одновременно и фундамент того, что будет дальше (без спойлеров, извините, придётся читать дальше!). Долгожданная система Sentinel запущена и официально стала основой того, как мы ведём учёт игроков и управляем доступом к серверам. Система приносит давно недостающие структуру и контроль, делая всё честнее и прозрачнее для всех. Вот что она умеет:

  • Журнал активности игроков, отслеживает первые подключения и хранит историю входов.
  • Контроль доступа, даёт администраторам структурированный способ управлять правами и ограничениями.
  • Безопасный журнал действий, гарантирует, что все взаимодействия фиксируются, а значит, всё остаётся подотчётным. Тем, кто беспокоится о приватности, вот что именно собирается:
  • Имя пользователя (то, с которым вы начинали играть в Spellbreak)
  • IP-адрес
  • Метка времени первого подключения И всё. Никаких личных сообщений, никакой тайной слежки за вашими прочими интернет-привычками (мне всё равно, сколько часов вы смотрите конспирологические ролики на YouTube). Теперь второй вопрос: «А эти данные в опасности?» Честный ответ? Да. Любое взаимодействие в сети несёт определённый риск, будь то игра, банк или соцсети. По-настоящему безопасны только данные, которые хранятся офлайн или которых не существует. Тем не менее я предусмотрел защиту, чтобы свести риск к минимуму:
  • Шифрование, все собранные данные зашифрованы.
  • Ограниченный доступ, к ним допускаются только учётные записи с повышенными привилегиями (и токеном RSA).
  • Защита root и sudo, чтобы что-то расшифровать, нужны полные права root или sudo, так что мимоходом сюда никто не заглянет. Есть одно небольшое неудобство: если сменить имя пользователя, могут возникнуть проблемы с подключением. Мы можем поправить это вручную в Sentinel, но, чтобы не создавать хлопот, советую придерживаться одного имени. Понимаю, что любителям часто менять ник это неудобно, и приношу извинения. Зато ваш кризис идентичности теперь под надёжной защитой!

3. Ни Windows, ни кредиток, ни головной боли

Это огромный шаг. После, казалось, вечности мучений с причудами Windows мы официально перенесли всё на Linux, используя Wine, и настроили работу внутри набора контейнеров Docker. Никаких больше виртуальных машин Windows, которые нас тормозят. Никаких случайных вылетов из-за того, что Windows решила обновиться прямо сейчас, или из-за того, что Pink Marla чем-то осталась недовольна! Ладно, хватит про серверы. Что это значит для вас?

  • Больше никаких накладных расходов Windows, виртуалки Windows съедали системные ресурсы и вызывали проблемы с производительностью. Это в прошлом.
  • Выше производительность, Linux заметно эффективнее, а значит, меньше нагрузка на систему и более плавная игра.
  • Больше стабильности, меньше вылетов, лучше аптайм и в целом ровнее работа.
  • Быстрее обновления и обслуживание, без Windows на пути я могу выкатывать обновления, исправления и оптимизации гораздо быстрее. Но самое интересное дальше. Этот переход даёт нам гораздо больше гибкости в развёртывании серверов. Теперь мы можем:
  • Поднимать серверы публичного тестирования (PTB), ничего при этом не выключая.
  • Разворачивать серверы любого прошлого цикла патчей баланса, включая ванильный Spellbreak.
  • Автоматизировать массу задач по обслуживанию и меньше вмешиваться вручную.
  • По запросу предлагать эту конфигурацию зарубежным партнёрам сообщества. Это победа не только для Elemental Fracture. Это победа для всего сообщества Spellbreak.

4. Улучшенная система отслеживания матчей

Времена, когда ради того, чтобы узнать, кто в сети, приходилось бесконечно листать список серверов, закончились. Match Tracker Mod вернулся, полностью интегрирован и стал лучше прежнего. Теперь данные о матчах обновляются в Discord в реальном времени. Система показывает пять состояний матча:

  • Starting Up, игровой сервер загружается.
  • Waiting for Players, сервер открыт и принимает подключения.
  • Waiting to Start, идёт обратный отсчёт до начала матча.
  • Started, игра идёт (простите, опоздавших не берём).
  • Ended, матч завершён (или что-то сломалось). Так гораздо проще видеть в реальном времени, кто играет, но есть и другие приятные возможности. Кстати, мне бы очень пригодилось ваше мнение: стоит ли Marla упоминать определённые роли, когда онлайн собирается достаточно людей? Если в Solos десять и более игроков, стоит ли ей уведомлять @Battle Royale, чтобы добрать матч? Тут большой потенциал, так что расскажите, что думаете.

Что дальше

Какой следующий крупный проект? Лаунчер. Сейчас установка может быть довольно муторной, особенно если вы не слишком дружите с техникой. Я хочу сделать этот процесс максимально простым и гладким. Идей у меня масса, но в одиночку всё не потянуть. Если хотите помочь, напишите мне. Вот что в планах:

  1. Никакого ручного ввода IP. Я изучаю, как сопоставлять сетевые пакеты конкретным игровым режимам, чтобы достаточно было выбрать режим и подключиться автоматически, без ввода IP.
  2. Система аутентификации и учёта. Хочу построить систему, которая свяжет прогресс игрока или даже ELO с вашим профилем в Sentinel. Это откроет дорогу к более соревновательной игре, улучшенному подбору соперников и даже турнирам.

Если столкнётесь с проблемами, захотите поделиться отзывом или просто сказать, насколько вам нравятся (или не нравятся) изменения, а может, решите, что я слишком много болтаю, пишите. Спасибо, что вы всегда самая лучшая часть Elemental Fracture. И, как всегда, мне не терпится показать, что будет дальше!