▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Emage

Emage

High-performance image and GIF renderer for item frames.

Оцените первым
812
6
Все версииEmage 1.5.3

Emage 1.5.3

Release05.07.2026

Список изменений

This update brings comprehensive stability improvements, optimized storage and grid detection, and major quality of life features for server owners and players. Network packet handling and memory allocation have been heavily optimized to support larger grids, while startup times and concurrent processing have been refined to ensure smooth operation under heavy load.

Performance & Storage

  • Flat File Frame Storage: Image frame data is now saved to the file system instead of the database. This prevents database bloat and significantly speeds up read and write operations for large GIFs.
  • Single-Thread Database Writer: All database writes are now processed sequentially in the background. This eliminates database lock errors and improves stability when multiple players apply images at the same time.
  • Bulk Map ID Allocation: Virtual map IDs are now generated safely in a single operation. This fixes a race condition that could cause overlapping map IDs when multiple players applied images simultaneously.
  • Main Thread Lag Reduction: Visibility checks for animated grids no longer run heavy calculations on the main server thread. This eliminates periodic lag spikes when multiple players are near animated walls.
  • Smoother Large GIF Processing: Processing large animated images now reuses internal image and memory buffers instead of allocating new ones per frame. This prevents garbage collection stutters and reduces memory usage by up to 80% during processing.
  • Optimized Grid Detection: Grid auto-detection now uses highly optimized internal lookups. This reduces memory usage and speeds up the detection process for large grids.
  • Database Hash Indexing: Added an index for file hash lookups. This ensures cache checks remain fast even with a large history of applied images.
  • Fixed Network Stream Leak: Network connections are now properly closed after image downloads, preventing server crashes caused by running out of file descriptors over time.
  • Fixed Off-Heap Memory Leak: Memory is now correctly freed if image processing fails halfway through, preventing silent memory exhaustion and JVM crashes.
  • Shared Global Cache Budget: Animated frames now share a single, strict memory budget instead of each image getting its own allocation. This prevents server crashes when placing many GIFs.
  • Instant Startup Color Generation: Color processing on startup now loads from a pre-calculated file, reducing boot times by several seconds and eliminating CPU spikes.
  • Consolidated Thread Pools: Background tasks now use a unified, bounded thread pool system. This prevents thread explosion and CPU starvation during heavy concurrent image processing.
  • Database Query Optimization: Added a missing database index for URL lookups, eliminating lag spikes when players use URLs that have been rendered before.

Network & Connectivity

  • Balanced Packet Throttling: Adjusted network limits to allow large grids (up to 10x10) to update smoothly within a single tick while capping total bandwidth at 40 Mbps per player. This prevents network timeouts on standard connections.
  • Smart Lag Recovery: If a player's connection falls behind, the server now drops older frames and instantly resyncs to the current frame. This prevents erratic, delayed playback during temporary network spikes.

Quality of Life

  • Clearer Error Messages: Network errors such as unknown hosts, connection timeouts, and SSL issues are now translated into plain English messages for the player.
  • Safe Undo Links: The Undo button in chat now targets the exact render it was generated for. If you click Undo while looking at a different render, the action will be blocked to prevent accidental deletions.
  • Field of View Detection: Grids now activate based on whether they are visible on the player's screen rather than requiring exact crosshair targeting. This provides more natural playback when standing near large walls.
  • Automatic Cooldown Cleanup: Player cooldown data is now automatically removed after it expires, preventing slow memory creep on long-running, high-population servers.
  • Variable GIF Frame Timing: GIFs now respect the individual delay timings of each frame. Animations with variable speeds will play exactly as originally intended instead of at a constant pace.

Bug Fixes & Stability

  • Network Buffer Leak Fix: Fixed a race condition where animation data could be cleared from memory while still waiting to be sent to a player. This prevents random disconnects and visual corruption.
  • Synchronous Visibility Checks: The line-of-sight checks for animations are now run on the main server thread. This fixes a severe stability issue that could corrupt chunks or crash the server.
  • Virtual Thread Shutdown: Background processes are now properly shut down when the plugin is disabled. This prevents resource leaks on server restarts.
  • Grid Boundary Enforcement: Applying an image to an empty frame will no longer bleed into existing renders if they are physically touching. Overwriting an existing render will also strictly limit itself to the original grid boundaries.
  • Grid Boundary Detection: Placing images adjacent to existing ones no longer fails with detection errors. The detection now respects the physical boundaries of filled item frames.
  • Exact Grid Placement: Specifying exact dimensions now uses the clicked frame as the top-left corner, allowing precise placement in complex wall layouts.
  • Stutter-Free Animation Loading: GIFs no longer pause their animation when loading frames from disk. Missing frames are now loaded asynchronously without blocking the render thread.

Файлы

Emage-1.5.3.jar(9.62 MiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.5.3

Загрузчики

Bukkit
Paper
Purpur
Spigot

Версии игры

1.21–26.2

Загрузок

175

Дата публикации

05.07.2026

Загрузил

ID версии

Главная