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

Новости

Это журнал изменений mcrs. В каждой записи сказано, что влито, что изменилось для тех, кто пишет плагины, и чего еще нет. Пометка “Breaking” стоит там, где старый код плагина перестает компилироваться. Новые записи сверху.

Последнему тегу 27 дней, и после него влито 152 PR, поэтому первая запись рассказывает о работе, у которой еще нет тега.

Запись охватывает период с 2026-10-14 по 2026-11-10. За это время 6 авторов сделали 874 коммита и влили 156 PR. 123 PR прислал andreypfau, еще 33 - пять других людей.

  • Миры тикают параллельными ячейками за потоком-мультиплексором (muxer) и общим слоем данных (Работает#646).
  • На сервере появились мобы с параллельной стадией ИИ, клиент рисует мобов, и есть бенчмарк на 50 000 свиней (Работает#651).
  • Работают физика сущностей, проверки движения и симуляция блоков (Работает#648), а также очереди тиков блоков и событий блоков (Работает#477).
  • Баны игроков и белый список работают по своим спецификациям (Работает#637, Работает#635).
  • Перед остановкой сервер отключает и сохраняет каждого игрока (Работает#624).
  • Игрок может ломать блоки в творческом режиме (Работает#643).
  • Добавлен лендинг mc.rs с переключателем языка (Работает#629, Работает#633), а CI проверяет, что клиент компилируется под wasm32 (Работает#622).
  • Читатель VarInt и VarLong теперь отвергает биты вне диапазона (Работает#653).
  • NBT читает и пишет две кодировки Bedrock, little-endian для хранения и varint для сети, рядом с кодировкой Java (Работает#679).
  • Новый крейт mcrs_minecraft_text_flatten заполняет переводы в плоском тексте. Раньше переведенная причина отключения показывала пустую строку, а теперь показывает свой fallback или ключ (Работает#680).
  • У ломания блоков в режиме выживания появилась спецификация, снятая с ванильного сервера (Работает#686). У установки блоков в творческом режиме тоже, и тоже с ванильного сервера (Работает#645, Работает#692).
  • Подтверждение телепорта работает по спецификации. Пока клиент двигается, сервер повторно шлет неподтвержденный телепорт, а тесты проверяют это через скриптового клиента (Работает#683, часть Частично#623).
  • CI гоняет собственные pull request проекта одной задачей на собственном раннере, а pull request из форков на машинах GitHub, и правка только в docs/ ничего не собирает (Работает#691). Cargo один раз разрешает фичи для всего workspace (Работает#685).
  • Для агентов, которые пишут код, появились AGENTS.md, скиллы и правила по путям (Работает#687). Как ими пользоваться, написано в разделе Как внести вклад.
  • У лендинга появились метаданные для поисковиков, robots.txt и sitemap (Работает#684).

Плагин здесь - это код на Rust, который компилируется в сервер.

  • MinecraftServerPlugin стал группой плагинов MinecraftServerPlugins, в которую входят, например, ServerCorePlugin, DimensionWorldsPlugin, WorldGenPlugin и ServerNetworkPlugin. Любой из них можно отключить или заменить (Работает#551). Затем плагины движка переехали в новый крейт mcrs_minecraft_engine_server, а mcrs_minecraft_server хранит группу для ванили (Работает#592).
  • Ни один крейт библиотеки больше не читает окружение или рабочий каталог ради настроек. Операторы теперь задаются полем ops плагина, а настройки клиента - ресурсом Knobs (Работает#548). Подробности есть в Переменных окружения.
  • Text::to_legacy_lossy удален. Берите вместо него plain_text или legacy_text из mcrs_minecraft_text_flatten, которые принимают еще и Language (Работает#680).
  • У методов чтения и записи в mcrs_minecraft_nbt больше нет суффикса _be, так что вместо get_u8_be теперь get_u8 (Работает#679).
  • Плагин может добавлять плагины в мир каждого измерения через add_dimension_plugin или в мир одного измерения через add_dimension_plugin_to (Работает#552).
  • Событие чата можно отменить. Наблюдатель может остановить строку или заменить ее текст до рассылки (Работает#636, часть Частично#283). События входа, выхода, движения и блоков не готовы.
  • Измененные чанки не сохраняются в файлы регионов (В работе#78), и нет онлайн-режима (В работе#82).
  • Нет загрузчика плагинов вне сборки сервера, и решения по нему тоже нет.
  • Нет заявлений о скорости относительно другого сервера. Прогоны бенчмарка предварительные, об этом написано на странице Производительность.

Коммит bf147fb2c, два коммита после v0.5.7.

Версия workspace теперь 0.5.8, а CI запускает мутационное тестирование только по запросу. Для авторов плагинов ничего не ломается. Крейты по-прежнему не опубликованы (Решения нет#321).

Коммит 4fe86dc75, два коммита после v0.5.6.

Проверка xtask теперь отвергает литерал, который называет любой каталог назначения фикстур. Второй коммит повышает версию. Для авторов плагинов ничего не ломается, потому что этот тег меняет только тестовый инструментарий. Не хватает того же, что в v0.5.8.

Коммит e57c49ebe, семь коммитов после v0.5.5.

Parity-тесты и фикстуры теперь загружают дампы оракула, золотые файлы протокола и золотые файлы данных через один загрузчик фикстур, который находит их по имени и проверяет версию. Появились две новые проверки xtask. Первая предупреждает о заявлениях про ваниль, которые проверяются литералами вне parity-файлов. Вторая проверяет, что parity-тесты сравнивают с фикстурами, загруженными по имени. Для авторов плагинов ничего не ломается. Не хватает того же, что в v0.5.8.

  • Следите за тегами. В репозитории их 11, последний - v0.5.8.
  • Следите за списком влитых PR.
  • Следите за четырьмя issue с направлениями в Дорожной карте.

RSS-лента этой страницы запланирована.

Источники и проверка

Проверено: 26.4-snapshot-7, f50e2fdf6, 2026-11-10

Переведено с версии f50e2fdf6