MDevTools - Hot Reloading / Development Tools
Development tools for Hytale servers and modders
Описание
MDevTools - Инструменты разработки для серверов и моддеров Hytale
MDevTools - это инструментарий разработки для серверов и моддеров Hytale, который упрощает итерацию путем автоматической очистки журналов, корректировки глобальных уровней журналов и обеспечения горячей загрузки модов во время разработки без необходимости полного перезапуска сервера.
Обзор
MDevTools улучшает рабочий процесс разработки Авторы модов Hytale, просматривая каталоги ключевых плагинов и перезагрузку или загрузку модов при обнаружении изменений. Это устраняет необходимость перезагрузки сервера каждый раз, когда JAR или ZIP обновляются, значительно улучшая скорость итерации.
Он также управляет очисткой журналов для предотвращения беспорядка в рабочем пространстве и может устанавливать глобальный уровень журналов, чтобы отладка или многословный выход можно было настроить за сеанс.
Ключевые особенности
- Очистка журнала при запуске для предотвращения беспорядка
- Конфигурация глобального уровня журнала для всех регистраторов серверов s️
- Автоматическая перезагрузка модифицированных модов во время разработки
- Автоматическая загрузка новых модов упала в просмотренные каталоги
- Узоры исключения, чтобы избежать перезагрузки критических или медленных модов
- Наблюдение за гибридными файлами с помощью опроса для контейнерных сред s
- Интеллектуальное обнаружение стабильности файлов для медленных загрузок или передач
Поведение Hot-Reload
Когда JAR или ZIP меняются мод, встроенный или ранние патрубки Каталоги (или любые дополнительные просмотренные пути), MDevTools запланирует перезагрузку и сначала убедитесь, что файл полностью написан. Это предотвращает коррупцию или полуписьменную загрузку файлов во время загрузок SCP, связывания Docker или развертывания IDE.
Hot-reload поддерживает как загрузку новых модов, так и перезагрузку существующих в зависимости от того, активен ли плагин с тем же идентификатором.
Поддерживаемые случаи использования
Горячая перегрузка идеально подходит для:
- Быстрая итерация во время разработки
- Тестирование взаимодействия модов без перезапуска сервера
- Трубопроводы CI, которые автоматически развертывают обновленные артефакты плагинов
- Дистанционные среды разработки, работающие в контейнерах Docker или VM
Гибридный мониторинг файлов
MDevTools объединяет Java WatchService для уведомлений, основанных на событиях, с резервным опросом для контейнерных и сетевых сред, где события инотификации или файловой системы распространяются неправильно.
Это гарантирует, что обнаружение изменений файлов остается надежным в:
- Docker и контейнерные установки s
- Виртуальные машины ️
- Сетевые файловые системы (NFS / CIFS)
- Объем разработки
Обнаружение стабильности файла
Для обеспечения полной записи файлов перед перезагрузкой модов MDevTools применяет:
- Настраиваемая задержка после первого обнаружения
- Окно стабильности размера файла
- Автоматический сброс таймеров, когда происходят новые события записи
Это предотвращает перезагрузку при частичной загрузке, сборке IDE или медленной передаче сети.
установка
- Поместите MDevTools JAR в сервер
встроенныйсправочник - конфигурировать
config.json5по мере необходимости - Перезагрузить сервер
MDevTools приступит к мониторингу и внесению корректировок уровня журнала при запуске.
конфигурация
Конфигурация для MDev Инструменты живут в:
config/com.machina/mdevtools(предпочтительно и используется при написании)- запасной вариант:
mods/com.machina/mdevtools(когда основной путь не может быть прописан)
Вся конфигурация в JSON5 формат для более легкого редактирования (комментарии разрешены, запятые разрешены).
Настройки журнала
Настройки журнала контролируют как очистку, так и глобальную многословность:
logs.cleanupOnStartup.enabled: удаляет старые файлы журнала и блокировки при запуске (сохраняет чистоту рабочего пространства)logs.global.level: устанавливает глобальный уровень журнала для всех регистраторов серверов (например.Инфо,DEBUG,предупреждение)logs.global.skipПропустить конкретные шумные регистраторы при применении глобального уровня (например, пакетный / мировой спам)
Mod Reload Настройки
Настройки перезагрузки контролируют поведение горячей перезагрузки для мод-файлов:
mods.reload.enabledмастер-переключатель для горячей загрузкиmods.reload.delayMsЗадержка перед проверкой стабильности (помогает с медленными записями)mods.reload.fileStabilityCheckMsПродолжительность файла должна оставаться стабильной перед перезагрузкойmods.reload.additionalДополнительные каталоги для просмотраmods.reload.exclude: шаблоны wildcard для исключения модов (совпадающие идентификаторы модов и имена файлов)mods.reload.unloadУдалитьВыгрузить мод, если его файл удален
Пример конфигурации:
{
"logs": {
"cleanupOnStartup": { "включено": истинно},
"глобальный": {
"уровень": "ИНФО",
«skip»: [«PacketLogging», «WorldChunk»]
?
?
"моды": {
"перезагрузка": {
"Включено": правда,
"задержка": 1000,
"fileStabilityCheckMs": 500,
"дополнительные директивы": [],
"исключить": ["com.example:core", "*:system", "test*.jar"],
"unloadWhenDeleted": ложный
?
?
?
Поддержка развития
Вы можете поддержать разработку здесь , чтобы помочь подпитывать будущие обновления и функции:
https://machinastudios.net/support-us
сообщество
предрасположенность Присоединяйтесь к нашему сообществу!
Получите помощь, поделитесь идеями и свяжитесь с другими разработчиками:
- Поддержка и устранение неполадок
- Предложения и отзывы
- Сообщество и сотрудничество
😉 Присоединяйтесь к нашему серверу Discord: https://discord.gg/QAFrzj48EN
Показать оригинальное описание (English)
MDevTools - Development tools for Hytale servers and modders
MDevTools is a development toolkit for Hytale servers and modders that streamlines iteration by automatically cleaning up logs, adjusting global log levels and enabling hot-reload of mods during development without requiring a full server restart.
Overview
MDevTools improves the development workflow for Hytale mod authors by watching key plugin directories and reloading or loading mods when changes are detected. This removes the need to restart the server each time a JAR or ZIP is updated, significantly improving iteration speed.
It also manages log cleanup to prevent workspace clutter and can set a global log level so that debugging or verbose output can be tuned per session.
Key Features
- Log cleanup on startup to prevent clutter 🧹
- Global log level configuration for all server loggers 🎛️
- Automatic hot-reload of modified mods during development ♻️
- Automatic loading of new mods dropped into watched directories 📦
- Exclusion patterns to avoid reloading critical or slow mods 🚫
- Hybrid file watching with polling fallback for container environments 🐳
- Smart file stability detection for slow uploads or transfers ⏱️
Hot-Reload Behavior
When a JAR or ZIP changes in the mods, builtin or earlyplugins directories (or any additional watched paths), MDevTools will schedule a reload and first ensure the file is fully written. This prevents corruption or half-written file loads during SCP uploads, Docker binds or IDE deployments.
Hot-reload supports both loading new mods and reloading existing ones depending on whether a plugin with the same ID is already active.
Supported Use Cases
Hot-reload is ideal for:
- Rapid iteration during development 🚀
- Testing mod interactions without server restarts 🧩
- CI pipelines that deploy updated plugin artifacts automatically 🏗️
- Remote development environments running in Docker or VM containers 🌐
Hybrid File Monitoring
MDevTools combines Java's WatchService for event-driven notifications with a polling fallback for container and network environments where inotify or filesystem events do not propagate correctly.
This ensures file change detection remains reliable in:
- Docker and container setups 🐳
- Virtual machines 🖥️
- Network file systems (NFS / CIFS) 🌐
- Development volume mounts 🔁
File Stability Detection
To ensure files are completely written before reloading mods, MDevTools applies:
- A configurable delay after first detection
- A file size stability window
- Automatic reset of timers when new write events occur
This prevents reloading during partial uploads, IDE builds or slow network transfers.
Installation
- Place the MDevTools JAR in the server's
builtindirectory - Configure
config.json5as needed - Restart the server
MDevTools will begin monitoring and apply log cleanup and log level adjustments at startup.
Configuration
Configuration for MDevTools lives in:
config/com.machina/mdevtools(preferred and used when writable)- fallback:
mods/com.machina/mdevtools(when the primary path cannot be written)
All configuration is in JSON5 format for easier editing (comments allowed, trailing commas allowed).
Log Settings
Log settings control both cleanup and global verbosity:
logs.cleanupOnStartup.enabled: removes old log and lock files on startup (keeps workspace clean)logs.global.level: sets the global log level for all server loggers (e.g.INFO,DEBUG,WARNING)logs.global.skip: skip specific noisy loggers when applying the global level (e.g. packet/world spam)
Mod Reload Settings
Reload settings control hot-reload behavior for mod files:
mods.reload.enabled: master switch for hot-reloadmods.reload.delayMs: delay before checking stability (helps with slow writes)mods.reload.fileStabilityCheckMs: duration the file must remain size-stable before reloadmods.reload.additionalDirectories: optional extra directories to watchmods.reload.exclude: wildcard patterns to exclude mods (matches mod IDs and filenames)mods.reload.unloadWhenDeleted: unload a mod if its file is deleted
Example configuration:
{
"logs": {
"cleanupOnStartup": { "enabled": true },
"global": {
"level": "INFO",
"skip": ["PacketLogging", "WorldChunk"]
}
},
"mods": {
"reload": {
"enabled": true,
"delayMs": 1000,
"fileStabilityCheckMs": 500,
"additionalDirectories": [],
"exclude": ["com.example:core", "*:system", "test*.jar"],
"unloadWhenDeleted": false
}
}
}
Support Development
You can support development here 💖 to help fuel future updates and features:
https://machinastudios.net/support-us
Community
💬 Join our Discord community!
Get help, share ideas, and connect with other developers 🧑💻:
- 🆘 Support and troubleshooting
- 💡 Suggestions and feedback
- 🤝 Community and collaboration
👉 Join our Discord Server: https://discord.gg/QAFrzj48EN
Последние версии
mdevtools-1.0.8.jar
mdevtools-1.0.7.jar
mdevtools-1.0.6.jar
mdevtools-1.0.5.jar
mdevtools-1.0.4.jar
Информация
Авторы:
Категории:
Версии игры:
Создан: 18.01.2026