Catalyst
Performance without compromise.
Описание
катализатор
Оптимизация производительности на уровне Bytecode для серверов Hytale
Почему это существует
Catalyst добавляет некоторые пакеты / кэширование сверху. Изменения происходят на уровне байт-кода, поэтому нет накладных расходов на API плагинов и патчей для игры, которые можно повторно использовать при обновлении Hytale.
Что на самом деле работает
Сейчас проект находится на ранних стадиях. Вот что реализовано:
| трансформатор | Что он делает |
|---|---|
LazyBlockEntityТрансформер |
Отстаивает создание груди / печи / знака до первого доступа |
LazyBlockTickТрансформер |
Отсрочка обнаружения клещей во время предварительной загрузки куска |
Ленивый жидкостный трансформатор |
Пропуск жидкостного сима во время кусковой нагрузки |
Обсуждение BatchBlockEntityTransformer |
Типы блоков кэша и сбор единиц пакетов |
Все переключается во время выполнения через /Катализаторское менюПерезапуска не требуется.
установка
Для большинства пользователей:
- Скачать последнюю версию JAR из: [RELEASES PAGE - ADD URL ЗДЕСЬ]
- Бросьте его в свой
ранние плагины/папка (Плагин входит вранние плагины/Нет.модс/. Он работает до запуска сервера, поэтому трансформаторы могут перехватывать загрузку класса.- Windows:
C:\Program Files\Hytale\install\early-plugins\ - Linux (Flatpak):
~/.var/app/com.hypixel.HytaleLauncher/data/Hytale/install/early-plugins/ - macOS:
~/Библиотека/Поддержка приложений/Hytale/установка/ранние плагины/(Возможно, вы захотите проверить путь macOS.) Я использовал стандартное местоположение поддержки приложения macOS, потому что у меня нет mac.
- Windows:
- Перезагрузите свой сервер
Для разработчиков:
градостроительный
./gradlew deployEarlyPlugin
Плагин входит в ранние плагины/Нет. модс/. Он работает до запуска сервера, поэтому трансформаторы могут перехватывать загрузку класса.
Обсуждение The Hytale JAR
Если вы на Флатпаке, пути немного закопаны:
~/.var/app/com.hypixel.HytaleLauncher/data/Hytale
─ ─ Установка/
Ранние плагины / # Put Catalyst
Недостатки - Моды / # Регулярные плагины
- Release/package/game/latest/
недоброжелательность Сервер/HytaleServer.jar
Активы.zip
Развитие
Структура трансформатора проста — расширяйте BaseTransformerосуществлять Трансформация()и зарегистрироваться через META-INF/услуги. Если что-то пойдет не так, верните исходный байт-код, и сервер продолжит работу нормально.
Все поля конфигурирования являются неустойчивый и читаемый во время выполнения, так что вы можете перевернуть оптимизацию в / выключить без перезагрузки.
./gradlew build # Build JAR
./gradlew deployEarlyPlugin # Deploy to early-plugins/
./gradlew runServer # Запуск сервера с загруженным модом
Документация
- Оптимизация производительности Дорожная карта и запланированные работы
- API Ссылка Hytale Server Plugin API Документы
- Руководство по ранним плагинам - Как работает преобразование байткода
статус
Это экспериментально. Ранние плагины работают с полным доступом к системе и могут привести к сбою вашего сервера, если что-то пойдет не так. Сначала тестируйте непроизводственный мир, сохраняйте резервные копии и сообщайте о проблемах.
Лицензия
MIT — делайте с этим кодом все, что хотите, просто сохраняйте уведомление об авторских правах.
Показать оригинальное описание (English)
Catalyst
Bytecode-level performance optimization for Hytale servers
Why this exists
Catalyst adds some batching/caching on top. The changes happen at the bytecode level, so there's no plugin API overhead and no game patches to reapply when Hytale updates.
What's actually working
Right now the project is in early stages. Here's what's implemented:
| Transformer | What it does |
|---|---|
LazyBlockEntityTransformer |
Defers chest/furnace/sign creation until first access |
LazyBlockTickTransformer |
Postpones tick discovery during chunk preload |
LazyFluidTransformer |
Skips fluid sim during chunk load |
BatchBlockEntityTransformer |
Caches block types and batches entity collection |
Everything's toggleable at runtime via /catalyst menu—no restart needed.
Installation
For most users:
- Download the latest JAR from: [RELEASES PAGE - ADD URL HERE]
- Drop it in your
early-plugins/folder (The plugin goes inearly-plugins/, notmods/. It runs before the server starts, so transformers can intercept class loading.):- Windows:
C:\Program Files\Hytale\install\early-plugins\ - Linux (Flatpak):
~/.var/app/com.hypixel.HytaleLauncher/data/Hytale/install/early-plugins/ - macOS:
~/Library/Application Support/Hytale/install/early-plugins/(You may want to double-check the macOS path. I used the standard macOS app support location because I don't have a mac)
- Windows:
- Restart your server
For developers:
./gradlew build
./gradlew deployEarlyPlugin
The plugin goes in early-plugins/, not mods/. It runs before the server starts, so transformers can intercept class loading.
Finding the Hytale JAR
If you're on Flatpak, the paths are a bit buried:
~/.var/app/com.hypixel.HytaleLauncher/data/Hytale/
└── install/
├── early-plugins/ # Put Catalyst here
├── mods/ # Regular plugins go here
└── release/package/game/latest/
├── Server/HytaleServer.jar
└── Assets.zip
Development
The transformer pattern is straightforward—extend BaseTransformer, implement transform(), and register via META-INF/services. If something goes wrong, return the original bytecode and the server continues normally.
All config fields are volatile and readable at runtime, so you can flip optimizations on/off without restarting.
./gradlew build # Build JAR
./gradlew deployEarlyPlugin # Deploy to early-plugins/
./gradlew runServer # Launch server with mod loaded
Documentation
- Performance Optimizations — Roadmap and planned work
- API Reference — Hytale Server Plugin API docs
- Early Plugins Guide — How bytecode transformation works
Status
This is experimental. Early plugins run with full system access and can crash your server if something goes wrong. Test on a non-production world first, keep backups, and report issues.
License
MIT — do whatever you want with this code, just keep the copyright notice.
Информация
Авторы:
Категории:
Версии игры:
Создан: 18.01.2026