История обновлений

Все обновления сайта и серверного мода, самые новые сверху

Здесь собрана вся история сайта CloudRidge и серверного мода, от новых к старым, чтобы ты мог посмотреть, когда появилась какая-то функция и когда починили какой-то баг.

По месяцу 2026-114 2026-1066 2026-0957
По версии Сбросить

Фильтр: 57 из 127

v1.9.16 Сайт 2026-09-30

Исходящие запросы теперь проверяют сертификаты TLS

  • Все исходящие HTTPS-запросы сайта — сервер скинов, определение местоположения по IP, SMS-шлюз, почтовый сервер, вход через QQ и кнопки проверки в админке — раньше отправлялись с отключённой проверкой сертификатов, поэтому любой на пути мог ответить самоподписанным сертификатом и перехватить запрос целиком. Теперь все они проверяются как положено — по набору корневых сертификатов, который поставляется вместе с сайтом (набор Mozilla, 121 корень).
  • Важнее всего была почта: без проверки человек на пути мог получить и пароль от почтового ящика, и полный текст всех писем. Сертификат ящика 126 действителен, так что на отправку это не влияет.
  • Есть и цена: если сертификат на той стороне действительно сломан, запрос теперь падает с ошибкой, а не подключается молча. Кнопки проверки в админке выделяют этот случай отдельно — «сертификат не прошёл проверку». А если набор корневых сертификатов когда-нибудь пропадёт, код всё равно откажется возвращаться к работе без проверки — он просто упадёт с более понятной ошибкой.
  • Заодно исправлена старая мелочь: у записей v1.9.6 и mod 1.6.0 в журнале обновлений заголовком служило слово «title» — у них никогда не было ничего, кроме текста, а страница выводит заголовок безусловно, поэтому отсутствующий ключ откатывался к последнему сегменту имени. Теперь заголовки заполнены
v1.6.6 Мод 2026-09-30

Список банов больше не заявляет «никто не забанен», когда его не удаётся прочитать

  • Пустой список банов, пришедший на сайт, стирал все сохранённые баны. Мод возвращал пустой массив всякий раз, когда чтение файла не удавалось или формат был неверным, — именно это и срабатывало. Теперь он всегда возвращает null (реально отсутствующий файл по-прежнему означает «никто не забанен») и объявляет bans_authoritative=true только если были прочитаны и banned, и banned_ips. На стороне сайта добавлена соответствующая защита; чтобы это было исправлено как следует, нужны обе половины
v1.9.15 Сайт 2026-09-30

Проверка безопасности: исправлено шесть проблем

  • У админки оставалась приоткрытая дверь: любой из групп Владелец / Админ / Управляющий мог войти на сайт со своим обычным паролем и сразу попасть в /admin/** — шаг с проверкой кода из письма полностью пропускался (закрыта была только сама страница входа в админку). Теперь есть отдельное подтверждение «эта сессия действительно прошла ввод кода», так что вход на сайт больше не равен входу в админку. На сайте всегда было написано, что /admin/** принимает только учётные записи из таблицы admins; теперь реализация наконец совпадает с описанием
  • Когда мод не мог прочитать список банов, он сообщал пустой список, а сайт понимал «список пуст» как «все баны сняты» — перезаписывал всю таблицу банов, создавал фиктивную запись о разбане в истории и заодно очищал players.is_banned. Теперь мод объявляет список достоверным только тогда, когда действительно его прочитал, и сайт выполняет сверку разбанов только при получении такого заявления (или непустого списка). Полностью это заработает с mod 1.6.6; на стороне сайта защита уже стоит
  • Адрес баннера в профиле вводит сам игрок, и он подставлялся прямо в style="…url(URL)". Достаточно одной ) в этом адресе, чтобы добавить любые CSS-объявления — а профили открыты всем, так что под удар попадает каждый посетитель (position:fixed для фишинга на весь экран или следящий пиксель, сливающий IP и браузер каждого посетителя). Экранирование тут не спасёт: HTML превращает " обратно в кавычку раньше, чем её увидит CSS. Теперь адреса проходят через белый список, а всё остальное просто остаётся без баннера
  • Карточка на /whitelist под названием «Мои заявки» на самом деле выбирала 5 последних заявок по всему сайту — любой авторизованный пользователь мог прочитать чужие игровые ID, номера QQ и заметки проверяющих. Теперь она фильтруется по владельцу; страницы админки и управления сервером по-прежнему показывают общий список
  • DNS-запрос на странице инструментов был единственным местом, где не блокировались внутренние адреса: 127.0.0.1 и внутренние имена разрешались без проблем, а запись SRV (цель которой определяет чужой DNS) давала способ это обойти. К тому же проверка порта host:port выполнялась до разделения по двоеточию, так что 8.8.8.8:53 мог прощупать любой порт. Все три дыры закрыты, заодно под блокировку попали AAAA-записи, указывающие на ::1
  • И ещё три: ① значение javascript:… в параметре next= при перенаправлении после входа давало XSS в одну строку (Url::ensure() пропускал что угодно без изменений, как только в строке встречалось index.php, вообще не глядя на схему); ② после запуска скрипта восстановления пароля страница входа в админку показывала новый пароль в открытом виде любому, кто её открыл — этот пароль и так печатается в консоли сервера, так что копию на странице убрали; ③ при включённом переключателе CDR_DEBUG_CSRF в лог записывались первые 160 байт запроса на вход, то есть пароль в открытом виде — теперь пишутся только имена полей и их длина
v1.9.14 Сайт 2026-09-26

Исправлено «то больше, то меньше достижений»

  • Достижения игрока горели, пока он был в игре, и гасли сразу после выхода: когда мод не может прочитать файл прогресса, он отправляет пустой список, а сайт воспринимал это как «у игрока нет достижений» и записывал в базу, стирая уже сохранённое. Теперь пустой список не записывается никогда: лучше сохранить старые данные, чем обнулить их (то же для adv_done — принимается только значение больше нуля)
  • Заодно исправлена сортировка, разрывавшая одну серию внутри категории: правило «сначала полученные» растаскивало 跳跃 10 000 / 100 000 (получены) и 跳跃 500 000 (не получено) по разным концам группы, а между ними оказывались достижения Края и Нижнего мира. Теперь сначала группировка по серии (1 км / 10 км …, 10 тыс. прыжков / 100 тыс. прыжков …), а внутри серии полученные идут первыми — сворачивание по-прежнему скрывает неполученные на месте, поэтому полученные сразу видны
v1.6.5 Мод 2026-09-26

Исправлено: достижения офлайн-игроков не читались

  • Файлы прогресса мира названы с дефисами (077e53e3-c49c-362b-87ee-12457397e38c.json), а мод строил путь из 32 символов без дефисов, поэтому не находил ни одного файла. Игроки в сети идут через живой снимок сервера и работали, а выход из игры считался «нет прогресса». Это затрагивало все 1859 файлов прогресса и 963 игрока и было прямой причиной «то больше, то меньше достижений» (сайт теперь тоже не записывает пустой список). Теперь пробуются оба варианта имени; отсутствие засчитывается только при реальном отсутствии
v1.9.13 Сайт 2026-09-26

Исправлено, кому достаётся восстановленное имя

  • Одно и то же имя может встречаться в таблице восстановления несколько раз — у игрока может быть и старый офлайн-UUID (00000000-0000-...), и настоящий, оба указывают на него. Изначальный код работал по принципу кто первый, того и имя, в порядке файла: здесь birdzhonghuifei соответствует и строке с 106,4 часа, и строке с 1,9 часа, и всё вышло правильно лишь потому, что длинная строка случайно шла первой. При другом порядке имя досталось бы не тому человеку. Теперь оно уходит строке с наибольшим временем игры, независимо от порядка
v1.9.12 Сайт 2026-09-26

Все 863 «неизвестных игрока» вернули свои имена

  • Серверный usercache.json хранит данные лишь около месяца, поэтому в мире, поднятом с выживательного сервера 1.21 до 1.21.11, имена старых игроков давно истекли — сайт мог использовать только UUID и показывал «Неизвестный игрок · xxxxxx». Поэтому мы полезли в архив бэкапов: хронологическое объединение usercache / whitelist / ops / banned-players всех прошлых серверов вернуло все 863 имени, без пропусков (запись на 395 часов в рейтинге — это iRXC). Обновление до v13 заполняет их один раз: затрагиваются только строки, где имя всё ещё UUID; существующее настоящее имя не меняется ни на байт
  • Закрыт и краевой случай: players.name — уникальный индекс, поэтому если нужное имя уже занято другой строкой, эта строка пропускается и отмечается — конфликт уникальности никогда не сорвёт всё обновление. Лучше оставить одного игрока «Неизвестным», чем застопорить миграцию
v1.9.11 Сайт 2026-09-26

Исправлены имена игроков в админке · настоящие имена больше не перезаписываются

  • Страницы админки — список игроков / панель / баны / белый список / скины / пользователи — показывали игроков, чьё имя не удалось определить, сырым UUID. Публичный сайт всегда показывал «Неизвестный игрок · xxxxxx»; в админке просто не хватало нескольких мест, теперь всё единообразно. Таких игроков 863: серверный usercache.json хранит данные лишь около месяца, имена, доставшиеся от этого старого мира, давно истекли, и сайт может использовать как идентификатор только полный UUID (не ошибка отображения — показывать действительно нечего)
  • Заодно устранена угроза потери данных: когда мод не может определить имя, он отправляет пустое, а старый код записывал вместо него UUID. Ветеран, не заходивший больше месяца, при следующей синхронизации терял бы настоящее имя навсегда. Теперь уже известное настоящее имя сохраняется, а UUID используется как запасной вариант только тогда, когда имени действительно нет
v1.9.10 Сайт 2026-09-26

Исправлено «225 часов за один день» на страницах игроков

  • Исправлена абсурдная цифра на графике «последние 30 дней» на страницах игроков: если сервер падает или теряется событие выхода, остаётся запись о входе, которая никогда не закрывается, а при закрытии время окончания бралось из «последний раз замечен», поэтому сессия, открытая 13.09, считалась до 23.09, и все эти 225 часов падали на день входа. Теперь у закрытия три ограничения: потолок в 6 часов, начало следующей сессии этого игрока и «последний раз замечен», которое может только сократить оценку, но не растянуть её
  • Несколько уже сохранённых в базе ошибочных строк теперь отображаются правильно без правки базы (то же правило применяется при чтении), а «последние входы», «суммарное время», «за эту неделю» и «время по серверам» используют одно общее правило — раньше каждое место суммировало секунды само по себе, и одна и та же цифра противоречила себе на странице
v1.9.9 Сайт 2026-09-26

Исправлен выход календаря за панель на телефоне · годовой график теперь по дневному пику

  • Выбор даты в чате больше не выходит за рамку панели на телефоне (на узких экранах календарь не плавает поверх панели, а занимает отдельную строку, поэтому его ширина равна ширине контейнера)
  • Годовой показатель онлайна перешёл с среднего за 6 дней на максимум за день — сервер, оживающий только вечером, может иметь в среднем 2 игроков, хотя в тот момент онлайн было с десяток; нарисованное средним, всё годовое значение вырождается в линию, которая ничего не говорит. 24 часа / 7 дней / 30 дней по-прежнему используют среднее: там одна точка покрывает лишь десятки минут
v1.6.4 Мод 2026-09-26

Свой плейсхолдер задержки: %cloudridge:ping%

  • Встроенный %player:ping% возвращает 0 для всех игроков в строках TAB (в подвале той же конфигурации тот же плейсхолдер работает — в контексте строки просто нет живого игрока). Новый плейсхолдер пробует оба пути: сначала игрока из контекста, затем имя из GameProfile по списку игроков онлайн. Если не вышло ни то ни другое, остаётся пусто вместо обманчивого 0
v1.6.3 Мод 2026-09-26

Сообщать о запуске и остановке

  • Мод сообщает «запущен» при старте сервера и «остановлен» при штатном завершении. Сообщение об остановке отправляется синхронно — процесс вот-вот завершится, и передача его фоновому потоку означала бы, что оно не уйдёт. Падение или отключение питания не создаёт выдуманной записи об остановке
v1.9.8 Сайт 2026-09-26

Чат: запуск и остановка сервера теперь попадают в живой чат

  • Запуск и остановка сервера (со временем) теперь отображаются строкой в панели чата: вместо аватара — маленькая вертикальная черта, а цвет отличает их от сообщений игроков
  • Текст журнала теперь поддерживает разметку код и жирный (раньше обрабатывались только обратные кавычки, поэтому жирный показывал свои звёздочки как есть)
v1.9.7 Сайт 2026-09-25

Чат: просмотр по датам, свободнее высказывания, настоящие диалоги

  • История чата теперь просматривается по датам: нажмите на день в календаре, чтобы прочитать чат этого дня, а дни с записями выделены жирным. Переключение даты больше не перезагружает страницу целиком.
  • Писать стало проще: достаточно войти, привязывать игрового персонажа заранее больше не нужно. Если персонаж привязан, показывается его имя; если нет — никнейм с сайта, и в игре он помечается как [Веб · не привязан], чтобы его отличали от настоящих персонажей.
  • Никнейм на сайте можно менять раз в 15 дней (самая первая установка без ограничения), и в «Мой аккаунт» видно, сколько дней осталось; никнейм не может совпадать с существующим игровым персонажем или администратором, чтобы никто не мог переименоваться и выдать себя за другого.
  • Жалобы теперь отправляются через настоящее окно: поле причины со счётчиком символов вместо крошечного окна браузера; подтверждение отзыва и несколько подтверждений в админке тоже заменены — встроенные окна браузера блокируют всю страницу.
  • В управлении чатом в админке отправители без привязки помечаются; удаление, разбор жалоб и запрет писать работают как раньше.
v1.6.2 Мод 2026-09-25

Починен фильтр ботов + приставка веб-сообщений у каждого сообщения

  • Починен фильтр ботов, который ничего не делал: значение по умолчанию в списке было bot_, а без * оно понимается как точное совпадение, поэтому не отфильтровался ни один фальшивый игрок. Теперь по умолчанию bot_*, и при запуске сервера действующий список пишется в журнал, чтобы «прописано, но не работает» больше не проходило незаметно.
  • Приставка сообщений с сайта теперь передаётся для каждого сообщения: у пользователей с привязанным персонажем — [Веб], у остальных — [Веб · не привязан], так что игроки сразу видят, написал это игровой персонаж или нет.
  • Дополнение к 1.6.1: входы, выходы, смерти и достижения вообще не отображались, потому что распределение опиралось только на ключи перевода, а некоторые моды полностью заменяют исходное сообщение, и ключ не находится; теперь есть запасное распределение по отрисованному тексту и диагностический журнал для первых 25 системных сообщений каждого запуска.
v1.6.0 Мод 2026-09-25

Синхронизация чата: публичный чат и события передаются в реальном времени

  • Новая синхронизация чата: сообщения в общем чате игры, входы и выходы, смерти и достижения передаются на сайт в реальном времени
  • Сообщения пользователей сайта объявляются в игре с приставкой [网页] голубым цветом; они отправляются каждому игроку отдельно в обход события системных сообщений, поэтому повторов не бывает
  • Смерти и достижения разбираются по ключу перевода, а не по отрисованному тексту, поэтому смена языка сервера на китайский ничего не ломает
  • Входы, выходы и смерти фальшивых игроков (ботов Carpet) не передаются; список меняется в chat_bot_names файла cloudridge.json, по умолчанию bot_
  • Собирается только общий чат — личные сообщения (/msg, /tell, /w) не собираются никогда, и никакого переключателя для этого нет
  • Новые параметры upload_chat / chat_bot_names / chat_poll_ms; старые файлы конфигурации работают без изменений и берут значения по умолчанию
v1.9.6 Сайт 2026-09-25

Веб-чат запущен: двусторонняя связь с игровым чатом

  • Под веб-картой появился чат: сообщения в общем чате игры, входы и выходы, смерти и полученные достижения показываются на сайте в реальном времени, у каждого — время отправки
  • Работает в обе стороны: написанное в веб-чате появляется в общем чате игры с приставкой [网页]; внутри игры и на сайте видно одно и то же имя (привязанного персонажа), так что выдать себя за другого не получится
  • Без входа чат не виден — не спрятан в интерфейсе, а сервер не отдаёт ни одного байта; писать можно только после входа и привязки игрового персонажа
  • Чат сгруппирован по раундам работы сервера: можно переключаться между прошлыми раундами, и записи переживают перезапуск
  • У каждого сообщения есть аватар и время отправки; свои сообщения можно отозвать, на чужие — пожаловаться
  • В админке появилось «управление чатом»: удаление сообщений (сразу и на сайте, и в игре), разбор жалоб, запрет писать и журнал действий (при удалении исходный текст сохраняется для разбирательства)
v1.9.5 Сайт 2026-09-25

Фильтр истории по типу, месяцу и версии

  • Историю обновлений теперь можно фильтровать: три счётчика сверху (сайт / мод / сервер) стали кликабельными — один клик показывает только этот тип, второй снимает фильтр
  • Добавлены фильтр по месяцу и поиск по версии — ввод «1.9» выводит с 1.9.0 по 1.9.4, условия можно совмещать
  • Состояние фильтра хранится в адресе, поэтому ссылку можно передать — открывший увидит тот же результат
  • Счётчики остаются общими числами (при фильтрации не уменьшаются), плюс новое сообщение «по этим фильтрам обновлений нет»
v1.5.2 Мод 2026-09-25

Метрики сервера прямо в списке TAB

  • Новое семейство подстановок %cloudridge:*% (18 штук: TPS, MSPT, чанки, сущности, память, CPU, скорость сети, время работы) — список TAB может показывать эти данные напрямую
  • Используется тот же сбор, который мод уже ведёт — ничего не собирается дважды; подстановки читают кэш в момент отрисовки, потому что отрисовка идёт постоянно, и чтение файлов или запуск процессов там подвесили бы сервер
  • Без мода TAB всё безопасно: регистрация изолирована, а отсутствующие значения показываются пустыми, а не обманчивым 0
v1.5.1 Мод 2026-09-25

Счётчики сети работают, лог стал тише

  • Сетевой трафик всегда показывал 0: двух искомых интерфейсов нет ни в одном стандартном JDK, поэтому этот код не мог работать в принципе. Теперь используется источник, который система действительно даёт, а разбор идёт по структуре, а не по подписям — работает и в неанглийской системе
  • Сбор перенесён в фоновый поток: этому источнику нужен подпроцесс, а в основном потоке он давал бы всплески тиков
  • Добавлен переключатель «записывать снимок каждого heartbeat», по умолчанию выключен; включённый, пишет только при реальном изменении значений
v1.9.4 Сайт 2026-09-25

Исправление входа, страховка бэкапов и документация API

  • Двухэтапная аутентификация в панели снова работает. Причина была в транзакции записи, подтверждение которой молча пропускалось на используемой сервером версии PHP: коды просто не попадали в базу. Письмо приходило, но при вводе кода появлялось «сначала запросите код», а ограничение на повторную отправку тоже не срабатывало
  • Исправлены ещё три случая той же ошибки (поиск игроков, метрики heartbeat, журнал сессий)
  • Очистка бэкапов теперь использует отдельные квоты: снимки перед обновлением и перед восстановлением больше не вытесняются обычными бэкапами, а выгруженные вручную не удаляются автоматически
  • Публичный API игроков игнорировал параметр поиска: при более чем 500 игроках никого ниже 500-го места найти было нельзя. Теперь поиск по подстроке, заодно закрыта дыра с подстановочными знаками
  • Слишком большие запросы больше не показывают пустую страницу, а выдают понятное сообщение
  • Документация API теперь описывает все 5 публичных эндпоинтов только для чтения
  • Ссылка «вернуться к логину и паролю» в панели ведёт на нужный шаг
v1.21.11 Сервер 2026-09-25

Сервер обновлён до Minecraft 1.21.11

  • Сервер обновлён с 1.21.1 до 1.21.11 вместе с Fabric Loader, Fabric API и всеми модами
  • Веб-карта снова открывается: конфигурация BlueMap оставалась в старом формате, из-за чего весь плагин отказывался загружаться
  • Все видимые игроку номера версий на сайте и в моде теперь 1.21.11
  • Список TAB переработан: цвета теперь соответствуют сайту (голубой / зелёный), у каждого игрока показан пинг в миллисекундах, а в подвале — TPS, MSPT, память, чанки, сущности и CPU разом
  • MOTD переработан: градиент в фирменных цветах, убраны два оставшихся английских текста, а во всплывающей подсказке теперь сайт и группа QQ
  • Все видимые обозначения версии теперь 1.21.11
v1.5.0 Мод 2026-09-24

Поддержка Minecraft 1.21.11

  • Мод теперь рассчитан на Minecraft 1.21.11 (Fabric Loader 0.19.5 / Fabric API 0.141.6+1.21.11)
  • Проверка прав на команды переведена на список операторов сервера: прежний интерфейс удалён в 1.21.11. Консоль и командные блоки сохраняют доступ как раньше
  • Подсчёт загруженных чанков переведён на новый интерфейс, написанный так, чтобы собираться и на старых, и на новых версиях
  • Остальные изменившиеся интерфейсы тоже перенесены, каждый сверен с официальными маппингами
v1.9.3 Сайт 2026-09-23

Сворачиваемая стена значков, пояснения к графикам и исправление 24-часового тренда

  • Система достижений выросла с 28 значков до 98 и разбита на 8 групп (выживание / строительство / исследование / редстоун / фермерство / бой / общение / коллекции), в каждой видно, сколько получено из общего числа; 35 из них напрямую соответствуют реальным игровым достижениям, а дата — это момент, когда игра их выдала
  • У каждой оси пятимерной радар-диаграммы появилось пояснение: что она измеряет, как считается и сколько считается максимумом, так что больше не нужно угадывать по форме; добавлена легенда — залитая фигура это вы, серая пунктирная линия это среднее по серверу
  • Исправлено расхождение на графике 24-часового тренда: в истории хранилось «сырое» число игроков от мода (вместе с постоянно подключённым ботом), а страница показывала уже отфильтрованное значение, поэтому они не совпадали; теперь heartbeat и график используют одно и то же число, а при наведении на линию видно время и число игроков
  • Графики теперь переключают период: 24 часа / 7 дней / 30 дней / 1 год, так что состояние сервера видно с первого взгляда; пока сервер закрыт, линия разрывается, а не рисует эти дни как 0 игроков
  • Стену значков на странице игрока можно сворачивать: полученные показываются всегда (это ваш результат), а неполученные прячутся за заголовком группы или кнопкой «показать все» внизу; выбор запоминается, поэтому после перезагрузки вид тот же, а без JavaScript по-прежнему видны все 98
  • Исправлены записи сессий: метка «сейчас в игре» раньше смотрела только на наличие времени окончания, поэтому падение сервера или потерянное событие выхода оставляли её висеть, вплоть до «один человек онлайн в двух сессиях сразу». Теперь ориентир — список, который сервер сообщает в реальном времени; несовпадающие сессии показываются как «завершена аварийно» и закрываются автоматически, а повторное событие выхода больше не создаёт вторую сессию
  • Исправлено: значки «игрового прогресса» не загорались ни разу. Ключ, по которому шла проверка, содержал лишний префикс и не совпадал с названиями прогресса, которые присылает игра, поэтому все 35 реальных достижений всегда отображались как неполученные — они просто выглядели серыми, как те, что вы ещё не получили, и по странице это было незаметно. Теперь ключи совпадают: полученные загораются и показывают реальный день, когда игра их выдала
v1.9.2 Сайт 2026-09-22

Усилены безопасность и приватность, доработаны загрузки и интерфейс

  • Вход через QQ подключён: AppID, AppKey и адрес возврата настроены, он заработает сразу после одобрения приложения Tencent и включения переключателя в админке; до этого кнопка на странице входа не показывается, чтобы не было входа, который ничего не делает
  • Безопасность: каталог /storage/ больше нельзя открыть напрямую (там резервные копии базы, кеш скинов и другие файлы, которые не должны быть публичными)
  • Пароли администраторов в открытом виде, оставшиеся в базе, удалены — остался только зашифрованный хеш
  • Подтверждение персонажа теперь ограничивает неудачи: после нескольких неверных коротких кодов попытки временно блокируются, так что перебор не пройдёт
  • Фильтры игроков, проверка SVG и валидация полей переведены на белые списки и привязку параметров: проходит только явно разрешённое, а внешние данные больше не подставляются в запросы напрямую
  • Все 74 места вывода JSON на сайте получили флаги безопасного экранирования: данные, встроенные в страницы, больше не могут быть разобраны как разметка
  • Приватность: у переключателей видимости в профиле оставалось ещё 5 мест, где их можно было обойти (включая публичный API игроков, которому не нужен ключ); теперь всё закрыто — выключено значит выключено, в том числе в публичном API
  • Загрузка WebP: аватар, баннер, библиотека изображений, форум и другие — 8 мест принимают WebP напрямую
  • Исправлена настройка админки, где список разрешённых форматов сохранялся испорченным — строкой "array": именно из-за этого форматы загрузки переставали работать; теперь сохранение ничего не ломает
  • Время в игре везде показывается в часах (часы — основное число, дни — мелкой подписью); таблица лидеров показывает ровно тот столбец, по которому идёт сортировка
  • Поддержка старых браузеров: тепловая карта активности, полосы прогресса и светлый фон / кольцо фокуса в области загрузки больше не становятся прозрачными там, где нет color-mix()
  • На публичной странице игрока рядом с именем появился значок уровня (Lv.N), на узких телефонах он не вылезает за экран
  • Изображения бренда: логотип и иконки, перезаписанные тестовой картинкой, восстановлены; для брендовых изображений появились офлайн-архив и инструмент brand-restore.php, так что случайную перезапись теперь можно откатить сразу
v1.9.0 Сайт 2026-09-19

Центр игрока и переделанная загрузка изображений

  • Страница профиля переделана: прогресс, активность за эту неделю, значки достижений, след в сообществе и лента последних событий собраны на одной странице
  • Появился игровой уровень: он считается по общему времени в игре, один уровень за каждые 10 часов и начиная с Lv.1, и виден и на странице профиля, и на публичной странице игрока
  • Новые переключатели видимости: общее время в игре, последний вход, первое подключение и список игроков онлайн решаете вы сами, а выключенное не найти и на других страницах
  • Аватар и баннер теперь принимают картинку напрямую и хранятся в WebP (файлы меньше, загрузка быстрее); аватар обрезается по центру в квадрат, а баннер пропорционально уменьшается до 1920×1080
  • Картинки могут быть в PNG / JPG / WebP / GIF; для AVIF появится подсказка сначала сохранить файл как PNG или WebP
  • Появилась библиотека изображений: загруженные картинки управляются в одном месте в админке, видно размеры, вес и где они используются
  • Загрузка стала безопаснее: тип определяется по настоящему содержимому файла, поэтому подделки с переименованным расширением отклоняются всегда; попытки выйти за пределы папки загрузок блокируются, SVG проходит только по списку разрешённых, а нигде не используемые осиротевшие файлы убираются
  • Привязка игрового персонажа теперь такая: заявка на сайте, затем в игре /cdr claim с коротким кодом, и подтвердить может только сам этот персонаж
  • На странице профиля появился 3D-просмотр скина; карта сида и карта сервера теперь работают по HTTPS
v1.9.1 Сайт 2026-09-19

Таблица прав переделана (по модам, которые реально стоят на сервере)

  • Таблицу прав переделали по модам, реально установленным на этом сервере: остались только пункты с настоящим нодом прав, и галочка действительно работает
  • Возможности, для которых мода нет (регионы, /hat, /back, цвета чата и так далее), убраны из таблицы; ниже честно написано, чего не хватает и какой нод вписать в будущем
  • У каждого права теперь прямо сказано, что оно реально даёт в игре, так что режим наблюдателя, например, никогда не открывает заодно творческий режим
  • Творческий режим стал отдельным пунктом: у владельца и команды он сохраняется без второго подтверждения, у остальных групп сначала появляется окно подтверждения. Аккаунты сайта владельца и команды теперь тоже могут входить в админку напрямую
v1.8.2 Сайт 2026-09-18

CloudRidge синий и более надёжный вход

  • Палитра сайта стала «синий CloudRidge»: цвета взяты прямо из логотипа сервера, сайт и логотип больше не спорят друг с другом
  • Починена проверка на человека, которая не проходила вообще ни у кого в продакшене (за обратным прокси не было настоящего IP, и ограничение запросов считало всех посетителей одним человеком)
  • Если проверка уже пройдена, а страница не переходит, кнопка отправки больше не залипает; через 8 секунд она оживает
  • Кнопки на первом экране главной больше не вылезают за экран на телефоне
v1.8.1 Сайт 2026-09-18

Проверка на человека обновилась

  • Проверка на человека перешла на ALTCHA 2.x, а как запасной вариант появилась картинка с кодом: если браузер не может посчитать решение, просто введи символы с картинки
  • Регистрация, заявки в вайтлист и повторная отправка кодов тоже под проверкой на человека, это мешает тратить наш лимит через чужую почту
  • На главной появилась кнопка «вступить в нашу группу QQ» в один клик, QQ открывается и на компьютере, и на телефоне
  • Иконки сайта теперь есть во всех размерах, так что «добавить на главный экран» на телефоне получит нормальную иконку
v1.8.0 Сайт 2026-09-18

Достижения, запоминание устройств и новый вид

  • На страницах игроков появились значки достижений и радар способностей, сразу видно, в чём человек силён
  • Появилось «запомнить это устройство»: отмечаешь галочку и 30 дней не надо входить заново (смена пароля или выход на всех устройствах сразу это отменяют)
  • У входа в админку появился второй шаг с кодом на почту и офлайн-ключ восстановления на случай, если почта не доходит
  • Страница заявки в вайтлист теперь показывает разное в зависимости от статуса: на рассмотрении, одобрена или причина отказа и форма для повторной отправки
  • Весь сайт перешёл на палитру зелёного и туши, взятую из логотипа сервера, заголовки стали с засечками, стало спокойнее и просторнее
  • Иконки разделов форума больше не emoji (на некоторых системах они показывались пустыми квадратами), теперь это свои иконки
v1.7.0 Сайт 2026-09-18

Поиск по гайду и живые данные

  • В гайде по серверу появился поиск по заголовку или тексту
  • В боковой панели гайда появился блок «сервер в реальном времени»: версия, загрузчик и версии модов видны, не уходя со страницы
  • У списка команд и списка модов есть свой адрес, так что их удобно скидывать новичкам
  • На телефоне боковая панель гайда встаёт над текстом, и блок с живыми данными больше не занимает весь экран
v1.6.0 Сайт 2026-09-18

Синхронизация с сайтом скинов

  • Подключена синхронизация с сайтом скинов: регистрируешься там под тем же ником, загружаешь скин, и сайт может забрать его сам
  • Когда страница игрока впервые встречает незнакомый ник, она ищет его на сайте скинов и сразу показывает результат
  • В профиле появилась кнопка «синхронизировать скин заново», после смены скина там хватит одного нажатия
  • Адрес сайта скинов задаётся в админке (по умолчанию LittleSkin), так что для смены сайта код править не нужно
v1.4.0 Сайт 2026-09-18

Аккаунт и безопасность

  • Профиль переделан: появились разделы «Аккаунт и безопасность» и «Персонализация», там история входов, смена привязок и пароля
  • Поддерживается «выйти на всех устройствах»: после смены пароля или выхода в другом месте остальные устройства разлогиниваются сразу
  • У кодов подтверждения появилась привязка к устройству: не больше 5 в день с одного устройства, так скрипты не выжигают лимит SMS и почты
  • Если почта или телефон ещё не подтверждены, сверху один раз появится напоминание; без этого нельзя подать заявку в вайтлист, писать на форуме и привязывать персонажа
  • В профиле видно сводку по твоим следам на всех серверах
v1.5.0 Сайт 2026-09-18

Пересобранный релиз

  • Полностью совпадает с v1.4.0, просто заново собрали релизный пакет, ничего не изменилось
v1.3.8 Сайт 2026-09-17

Описаны способы входа

  • На странице входа по паролю перечислены все три вида аккаунта (почта, телефон, привязанный игровой ник), ровно как оно и работает
  • Переводы подтянуты
v1.3.7 Сайт 2026-09-17

Фоновые картинки для страниц входа

  • Страницы входа, регистрации и восстановления пароля поддерживают свою фоновую картинку (загружается из админки), карточки сделаны матовым стеклом
  • В разделе «Внешний вид» можно загрузить большую картинку главной, логотип сайта, иконку браузера и фон страниц входа
  • Кроме почты и телефона, войти можно по уже привязанному игровому нику
v1.3.6 Сайт 2026-09-17

Проверка ключа SMS вернулась

  • Проверка ключа вернулась, но предупреждает только в том случае, когда действительно ошибка: вписали 32 шестнадцатеричных символа, то есть MD5, а не KEY в открытом виде
  • В предупреждении прямо написано, где заново скопировать KEY, а не просто «неверный ключ»
v1.3.5 Сайт 2026-09-17

Исправлена подсказка про ключ SMS

  • Убрано ложное предупреждение о длине ключа SMS (требовалось 32 символа, хотя настоящий ключ платформы — 16)
  • Правильный ли ключ, теперь отвечает сама платформа SMS, а не догадки по длине
v1.3.4 Сайт 2026-09-17

Вход починен и усилен

  • Починен вход по почте и телефону с паролем, который всегда падал с ошибкой (раньше отдавал 500)
  • Слишком много неудачных попыток теперь даёт временную блокировку, так что скрипты с подбором пароля не пройдут
  • Если текущая страница входит в группу навигации, кнопка группы тоже подсвечивается, и сразу видно, где ты
  • Разделитель на странице входа отделяет вход через QQ от входа по почте, перепутать их больше не получится
v1.3.3 Сайт 2026-09-16

Самопроверка настроек SMS

  • В настройках SMS появилась бесплатная самопроверка: проверяет логин, ключ и шаблон, не отправляя ни одного сообщения
  • Она прямо говорит, что не так: логин с ключом или шаблон ещё не прошёл модерацию, гадать не нужно
  • Плановая задача периодически проверяет статус шаблона SMS и напоминает включить его после одобрения
v1.3.2 Сайт 2026-09-16

Поддержка нескольких серверов

  • Несколько серверов: у каждого можно задать тип (выживание, креатив, мини-игры), и сайт показывает разное содержимое по типу
  • Креативные серверы показывают панель строительства, серверы мини-игр показывают информацию о матчах и рейтинг PvP
  • Изменения вайтлиста и банов подтверждаются по каждому серверу, так что молча не синхронизироваться больше не получится
  • В админке можно отправить изменение только на один конкретный сервер
v1.1.6 Мод 2026-09-16

Поддержка типов сервера

  • Новая настройка server_type: выживание, креатив, мини-игры, лобби или другое, и сайт показывает разное в зависимости от типа
  • Отправка накопленной статистики снова исправлена, итоги на сайте точнее
  • Описания настроек и игровые сообщения дописаны
v1.3.1 Сайт 2026-09-16

Журнал действий и центр сообщений

  • В админке появился журнал действий: кто, когда и что менял, всё можно найти, а не копаться в базе данных
  • Появился центр сообщений: история отправки писем и SMS, так что на «мне не пришёл код» можно ответить сразу
  • Новые массовые инструменты для вайтлиста: добавить, убрать или вычистить устаревшие записи разом
  • Починены права групп пользователей, которые никогда не совпадали; теперь настройки прав группы реально работают
  • На главной админки появился график за 14 дней: новые пользователи, заявки в вайтлист, посещения и новые игроки
v1.3.0 Сайт 2026-09-16

Скины игроков и сгруппированная навигация

  • Скины игроков: загружаешь скин 64×64, и профиль со страницей игрока показывают его в 3D (без подключения внешних библиотек)
  • В профиле появился раздел «Мой скин», где его можно в любой момент загрузить или удалить
  • Навигация в шапке теперь сгруппирована в выпадающие меню (Серверы, Сообщество) и больше не переносится на две строки на телефоне
  • Починены блоки вроде [[mods]] и [[server-facts]], которые на некоторых страницах гайда показывались сырыми скобками
  • В подвале появились номер регистрации ICP и значок регистрации в полиции
v1.2.3 Сайт 2026-09-13

Канал SMS и целая пачка исправлений

  • Подключены коды подтверждения по SMS: регистрация по телефону и восстановление пароля работают (достаточно заполнить настройки платформы в админке)
  • Починено «поменял настройку в админке, а сайт её игнорирует»: настройки почты, SMS, бота и вайтлиста теперь действительно применяются
  • Починена страница подробностей узла в статусе, которая отдавала 500; для неизвестных узлов теперь нормальное сообщение
  • Починены причины бана, которые показывались по-английски как «Banned by an operator.»; теперь они выводятся переведёнными
  • Если нажать на заявку в вайтлист без входа, сайт сначала предложит войти и потом вернёт обратно на заявку
v1.2.2 Сайт 2026-09-13

Аккаунты и заявки в вайтлист онлайн

  • Система аккаунтов: регистрация по коду на почту или телефон, вход по паролю и восстановление забытого пароля
  • Заявки в вайтлист онлайн: заполняешь игровой ID и хотя бы один способ связи, а после одобрения всё само попадает на сервер
  • Если указан номер QQ, ты в группе и уровня QQ хватает, бот в QQ одобряет заявку автоматически
  • Владелец и команда одобряют заявки, добавляют и удаляют вайтлист и правят конфиг сервера из плавающего шарика в углу
  • В админке появилась кнопка «опубликовать новость об обновлении», теперь каждое обновление записывается само
v1.1.5 Мод 2026-09-13

Синхронизация вайтлиста и прокси конфига

  • Синхронизация вайтлиста: одобренные на сайте заявки сами попадают в вайтлист сервера, вручную добавлять не нужно
  • Файлы конфига сервера можно править из админки сайта, перед изменением оригинал автоматически сохраняется
  • Появилась очередь задач: сайт передаёт операции моду, а тот возвращает результат выполнения
v1.2.1 Сайт 2026-09-13

Инструменты и переделанная страница статуса

  • Новая страница инструментов: генератор градиентного текста, проверка статуса сервера, проверка адреса сервера, перевод тиков и поиск игрока
  • Страница статуса переделана: доступность за 24 часа, список сервисов и состояние машины, а каждый узел открывается в подробностях
  • Один аккаунт может привязать несколько игровых персонажей и выбрать основного (в игре тоже переключается через /cdr main)
  • Галерея построек перешла на просмотр большими картинками, так гораздо приятнее листать
  • Список команд и список модов в гайде теперь подтягиваются с сервера сами, вручную их переписывать не надо
v1.1.4 Мод 2026-09-13

Больше правил сервера и двуязычные сообщения

  • Правила сервера отправляются полнее: игровые правила вроде сохранения вещей и выпадения при смерти идут вместе со статусом, так что страница гайда точнее
  • Сообщения игровых команд есть на китайском и английском и подстраиваются под язык клиента игрока
v1.1.3 Мод 2026-09-13

Более точные данные игроков

  • Исправлены чтение и отправка накопленной статистики, итоги на сайте больше не расходятся с сохранением
  • AFK-болванки и боты отсеиваются ещё на этапе сбора, в рейтингах сайта они не появляются
v1.2.0 Сайт 2026-09-13

Данные игроков с самого открытия

  • Подключена статистика из сохранения сервера: время в игре, смерти, убийства, добытые и поставленные блоки, пройденное расстояние с момента открытия
  • Список игроков можно сортировать по общему времени в игре, а каждая запись открывает подробную страницу
  • AFK-болванки и боты определяются и исключаются, так что больше не занимают места в рейтинге
  • В списке банов появился раздел с забаненными IP и указанием, откуда адрес
  • Починено отображение MSPT; теперь у TPS и MSPT своя отдельная шкала
v1.1.2 Мод 2026-09-13

Статистика игроков и список модов

  • Игроки онлайн теперь отправляются с UUID, так что после смены ника один человек не превращается в двух
  • Читает статистику из сохранения и отправляет итоги с открытия сервера: время в игре, смерти, убийства, добытые и поставленные блоки, пройденное расстояние
  • Автоматически отправляет список установленных модов и список доступных команд (десятки подмодулей Fabric API отфильтрованы)
  • Забаненные IP тоже отправляются и показываются на сайте отдельным разделом
v1.1.1 Сайт 2026-09-13

Запасные аватары и новая админка

  • Больше никаких экранов с битыми картинками, когда аватар не загрузился: если внешний аватар недоступен, мы рисуем его из первой буквы ника
  • Новый вид админки: верхняя панель и боковое меню с поиском, нужную настройку находишь по ключевому слову
  • Починена проверка на человека, которая падала с ошибкой, и страницы, которые не открывались на некоторых серверах
  • Починена ловушка с редиректом адреса API мода: API выглядел рабочим, а данные не приходили; теперь самопроверка в админке прямо об этом пишет
  • Живая карта теперь показывает понятное сообщение, когда не может подключиться, а не пустое поле
v1.1.1 Мод 2026-09-13

Защита от редиректа адреса API

  • Если адрес API перенаправляется через 301 или 302, мод теперь сообщает об ошибке и показывает правильный адрес, а не теряет данные молча
  • Причину неудачной отправки видно прямо в игре через /cdr status
v1.1.0 Сайт 2026-09-13

Аккаунты и галерея построек

  • Новая галерея построек: загружаешь скриншоты того, что построил, а остальные могут поставить лайк или открыть картинку в полном размере
  • Новый список игроков и страницы игроков: время в игре, смерти, добытые блоки и пройденное расстояние сразу видно
  • Появилась админ-панель: новости, страницы, галерея, пользователи и настройки редактируются прямо в браузере
  • Несколько языков и цветовых схем, а светлую и тёмную тему можно переключать самому
  • Записи о банах открыты, включая результат по каждому случаю
v1.1.0 Мод 2026-09-12

Первая версия мода наблюдения

  • Каждые 30 секунд отправляет на сайт состояние сервера: онлайн, TPS, MSPT, CPU, память, диск и сеть
  • Отправляет список банов и события входа и выхода игроков, по ним сайт считает время в игре
  • Добавляет игровую команду /cdr bind <code> для привязки аккаунта, а также /cdr status и /cdr reload для админов
  • Все сетевые запросы идут в фоновом потоке, так что недоступный сайт никогда не тормозит сервер
v1.0.0 Сайт 2026-09-12

Сайт официально запущен

  • Сайт открыт для всех: главная, статус сервера, гайд для игроков, список банов, новости и форум
  • На главной в реальном времени видны онлайн, TPS и нагрузка на машину, данные присылает серверный мод каждые 30 секунд
  • Вход через QQ в один клик: после входа можно привязать игрового персонажа и писать на форуме
  • Никаких внешних CDN, проверка на человека тоже хостится у нас, поэтому страницы открываются быстрее
  • Нормально работает и на телефоне, и на компьютере, а на узком экране меню сворачивается само

Даты — это дата выхода соответствующей версии. Нашёл новую проблему — напиши на форуме или сразу владельцу сервера.