5.9 KiB
Исходные требования
Источник: переписка «Динамическое распределение ресурсов», прочитанная с прокруткой 14 сентября 2026 года, и продолжение в Codex. Этот документ сохраняет требования, а не подтверждает реализацию из старой среды.
Зачем нужен проект
У Shacraft два сервера на машине с 8 ГБ RAM: выживание на NeoForge (примерно 300 модов, включая Create) и миниигры на Paper 26.2. Исследование динамического распределения памяти привело к самостоятельному проекту воксельного движка. Перенос существующих NeoForge-модов не является требованием первой версии.
Обязательные направления
- Самостоятельное открытое ядро на Rust с собственной архитектурой. Низкоуровневые библиотеки допустимы; готовый игровой движок не является основой.
- Серверная RAM — главный измеряемый критерий. Не выдавать Rust, остановку тиков или битовые палитры сами по себе за доказательство экономии относительно Minecraft.
- Независимые ядро, тестовый сервер, тестовый клиент и отдельный собственный MCP. Ядро не зависит от графики, сокетов, MCP и лаунчера.
- Общие неизменяемые карты, независимые изменения экземпляров, выгрузка неактивного состояния, ограничение кэшей, очередей и истории. Один процесс обслуживает несколько миров/арен.
- Полный базовый каталог блоков, состояний и типов сущностей Minecraft Java 26.2. Нужны формы, коллизии и сохраняемые свойства. Полнота каталога и точность механик проверяются отдельно; полная ванильная симуляция не была согласована как обязательная первая реализация.
- Импорт Minecraft → Shacraft и обратный экспорт Shacraft → Minecraft. Основной результат — мир;
.schemдля построек — дополнительный формат. Неизвестные данные сохраняются или явно отражаются в отчёте; тихие потери недопустимы. - Единая модель расширений: общие определения, серверная и клиентская логика, текстуры, звуки и шейдеры в одном формате пакетов. Сервер объявляет необходимый набор; клиент загружает недостающее, проверяет версии и хеши, использует кэш. Серверные секреты и код с секретами не раздаются клиенту.
- Политика допустимых клиентских модификаций. Сервер проверяет действия и совместимость пакетов. Контрольная сумма, сообщённая самим клиентом, не доказывает неизменность клиента.
- В перспективе — запуск через Shacraft Launcher. Существующая инфраструктура является интеграционной целью, не зависимостью ядра.
- Оригинальные текстуры/звуки/модели Minecraft не включаются в распространяемые файлы. Лицензии контента учитываются отдельно от лицензии кода.
Качественный MCP
Minecraft Builder MCP — источник опыта, а не сервер, который нужно переименовать. Нужны самостоятельные инструменты осмотра и поиска, пакетного строительства, сущностей и арен, визуальной проверки и диагностики. Основы: общая Control API, ожидаемые ревизии, идентификаторы операций, конфликтобезопасная отмена, ограниченные ответы, история на диске, ограничения нагрузки и авторизация.
Что считать фактом
В старом чате заявлялись 1 196 блоков, 158 типов сущностей, семь тестов и частичная реализация. Эти числа необходимо заново проверить по источникам и локальным результатам. Не переносить их в новый отчёт как установленные факты.
Пожелание «в 2–4 раза меньше RAM» обсуждалось как возможная цель, не достигнутый результат. Сравнивать нужно одинаковые карты, загруженные области, игроков и механики, учитывая весь процесс и необходимые сервисы.