promotional bannermobile promotional banner

GlymeraMinimap

Clean server-side minimap, no client mod: terrain, coordinates, attitude-coloured creatures (red when hunting), players, death marker, mob height filter, round/square shape and a per-player settings GUI. Coexists with other HUDs.
Back to Files

GlymeraMinimap-10.0.0.jar

File nameGlymeraMinimap-10.0.0.jar
Uploader
GlymeraCraftGlymeraCraft
Uploaded
Jul 19, 2026
Downloads
475
Size
54.1 KB
File ID
8462734
Type
R
Release
Supported game versions
  • 0.5

What's new

GlymeraMinimap — Changelog

v10.0.0 — Fix: client kick "Failed to apply custom UI HUD commands" + compatibility metadata

1. Fixed: players being kicked to the title screen (client message: "Failed to apply custom UI HUD commands"), typically seconds to a few minutes after joining or rejoining. The root cause sits in how the game client caches streamed images: it writes them to disk asynchronously, de-duplicated by content, while HUD commands are applied immediately — so a command could reference an image whose cache entry was not ready (or was being juggled) at that exact moment, and the client reacts by disconnecting. The minimap's terrain updates right after joining were the main trigger.

Three changes close every variant of this race we could reproduce:

  • No redundant transfers. A freshly rendered terrain image whose pixels are identical to the one already on screen is no longer re-sent at all. This also saves bandwidth after joining and while standing still.
  • Calm joins. After the minimap HUD is built, only the first terrain image is streamed; further refinements wait ~8 seconds until the client is safely past its loading phase. Visually this just means the map sharpens a few seconds later after logging in.
  • Write-then-show. The command that switches the HUD to a freshly streamed terrain image is now sent about one second after the image data, giving the client's background cache write time to finish. The map keeps panning smoothly on the previous image in the meantime — at most the terrain is one second behind, which is not noticeable in play.

No other behaviour changes; position, arrow, markers and zoom are unaffected.

2. Compatibility metadata relaxed. The plugin no longer pins itself to a specific Hytale server version range in its manifest (now *, like all Glymera plugins). The pin had no protective effect — it only caused admins to receive "outdated plugin" warnings after Hytale updates, even when everything works fine. If a Hytale update ever does break something, we update the plugin — as always.

v8.0.0 — Rotation mode is twice as smooth

Rotation-mode responsiveness doubled (thanks ZioMark for the feedback!). While you turn, the map now re-renders 8 times per second instead of 4, and it reacts to view changes as small as 2° instead of 4° — the visible stepping while spinning is halved and small view adjustments show up immediately. The moment you stop turning, the image still sharpens to full resolution as before.

Bandwidth stays budgeted: rotation packets are small (reduced resolution), so even a player spinning in circles non-stop uses about as much bandwidth as one fast-travelling across the world — which the plugin was already built to handle. North-up players are completely unaffected (zero extra cost when rotation is off or you're not turning).

Honest note on the tech: this is a fully server-side minimap — the game engine can't rotate images on the client, so every rotation step is a freshly rendered image streamed to you. That's why rotation can never be as silky as a client-side mod, and why we won't push the update rate further (it would eat into weak connections). If the motion still bothers you, north-up mode remains perfectly smooth.

v7.0.0 — The map can now rotate with your view

The most-requested feature: heading-up mode. Until now the minimap was always north-up ("absolute rotation", as a user put it). You can now choose per player whether the map rotates with your view direction — your heading is always up, the world turns under you, like the rotating minimaps you know from other games.

How to switch

  • Settings page (/mm settings) → new toggle "Rotate with view", or /mm rotate on|off. Per-player, saved across sessions, also part of the admin default profile (/mm admin). /mm status shows the current mode.
  • The default stays north-up — nothing changes for anyone who doesn't opt in.

An honest compass while rotating

  • The four N/O/S/W letters detach from the frame and slide around the rim, always pointing at the true world directions — look east and the "O" sits at the top. Same font, same size, same look as the fixed letters.
  • The green player arrow stays meaningful: map rotation + arrow always add up to your exact view direction, so the display is never wrong, not even mid-turn.
  • All markers (players, creatures, death point) rotate correctly with the map.

Built for performance (this was the hard part)

  • Hytale's client UI cannot rotate an image, so the server bakes the rotation into the streamed map. Naively doing that per frame would flood the connection — instead the map re-bakes in fine ~4° steps at up to 4×/s while you are actually turning, encoded at reduced resolution (~¼ of the bytes per update). The moment your view settles, one full-resolution pass sharpens the image — so the standing picture is always crisp.
  • Walking straight, standing still, or leaving rotation off costs exactly what v6 cost — the cheap client-side panning does the work, and a spinning player never uses more bandwidth than v6 already allowed a fast-travelling one. The rendering runs on a background pool and never touches the world tick.

Fixed (both modes)

  • When a fresh map buffer arrived, the markers could sit visibly displaced for a split second before snapping into place. Markers are now updated in the same pass as the map itself — no more collective hop on buffer changes (rare in north-up, constant in rotation, gone in both).

North-up rendering is pixel-identical to v6. If you never touch the new toggle, your minimap looks and behaves exactly as before.


v6.0.0 — Set the default minimap for new players (admin)

Decide where the minimap starts — and optionally lock it in place.

  • New OP-only admin page, /mm admin. It's the same settings page you already know (titled "Admin: Default Minimap for New Players"), but it edits the server default instead of your own map. Whatever you set — the screen corner, zoom, which markers show, etc. — becomes what a brand-new player gets on their first join.
  • The headline use case: when the default top-left corner overlaps your scoreboard or other HUDs, set the default to another corner once, and every new player lands there automatically — no per-player fiddling.
  • New players are now seeded from that default instead of the old fixed top-left. Players who have joined before keep their own saved settings.
  • Optional lock via config.json"allowPlayerChanges". Left at the default true, nothing changes — players freely move, resize and tune their own minimap as always. Set to false and non-OP players are locked to the admin default: their settings page and the /mm tuning commands are turned off, so the map stays exactly where you put it. OPs are never restricted.

New command

  • /mm admin — (OP) open the default-minimap editor for new players.

New config (mods/de.glymera_GlymeraMinimap/config.json)

  • allowPlayerChanges (default true) — set to false to lock non-OP players to the admin default.

The four corners and everything players already had are unchanged; this only adds the admin default + lock on top.


v5.0.0 — Place the minimap in any screen corner

Put your minimap where you want it — right on the settings page.

  • The settings page (/mm settings) now has four corner choices — top-left, top-right, bottom-left, bottom-right — shown as a pick-one list just under "Minimap".
  • It's per-player: every player picks their own corner, and the choice is saved across sessions. New players default to top-left (exactly where the minimap has always sat).
  • The map moves the moment you pick — no relog, no reopening anything. Switching corners is a single lightweight anchor update (the same mechanism that pans the map every frame), so there's no flicker and the terrain/markers keep rendering right through the move.

Nothing else changed — same rendering, same commands. The map stays north-up.


v4.0.0 — Critical: no longer freezes the server's scheduled tasks

The important one. On recent Hytale builds the minimap could silently freeze the shared server scheduler thread — the single thread that every plugin uses for its timed/background work. When that thread hung, all plugins relying on it (plot merging, spawners, auto-breeding, sorters, etc.) quietly stopped doing their scheduled work, even though they looked loaded and healthy. The only "cure" was a server restart, and it would re-freeze soon after.

Cause: the per-player minimap tick ran on that shared scheduler thread and asked each world "is my player here?" via an API that, when called off the world's own thread, blocks and waits. For an idle / non-ticking world that wait never returned, so the one shared thread was stuck forever.

Fix: the minimap no longer makes any blocking call on the shared scheduler. The per-world lookup now runs on each world's own thread (where it is instant and cannot block), empty worlds are skipped outright, and the scheduler thread only ever does tiny, non-blocking work. The minimap behaves exactly as before — it simply can no longer stall the server or any other plugin.

No settings or commands changed.


v3.0.0 — Per-player size + high-speed crash fix

Set your own minimap size — /mm size <120..360>

  • Every player can now resize their own minimap with a single command (size in pixels, default 240). Your choice is saved per player and persists across sessions.
  • It is deliberately a command, not a button on the settings page: changing the size redraws the HUD, and that redraw briefly corrupts an open settings page (the very reason size used to be a fixed, server-wide value). As a command there is no open page to corrupt — so per-player size is back, with no glitches.
  • The old server-wide config.json size setting is removed; size is per-player again.

High-speed crash fixed

  • Travelling at very high speed (e.g. fast-flying through ungenerated terrain) used to flood the connection: the minimap re-streamed its entire terrain image every server tick (up to ~20×/second, ~1.2 MB/s, ~13 % packet loss), the link collapsed into a retransmit storm, and the client was kicked with "failed to load custom ui commands". Chunks also struggled to load because the connection was saturated.
  • A full terrain (re)stream is now capped to ~2×/second regardless of speed; while capped, the existing map simply pans under you, so movement stays smooth and the picture just refreshes a touch later when racing. Normal walking/riding never hit the cap.

Freshly-entered areas fill themselves in

  • Right after joining (especially on an empty server, where nobody is holding the chunks loaded), or after a teleport / world change, the chunks around you often aren't loaded yet — so the edges of the map started out black and only filled in once you walked around.
  • The minimap now keeps re-rendering about once a second until the view is complete (capped at ~15s), so those edges fill in on their own, no walking needed. It stops the moment nothing is missing, and stays well under the 2×/second bandwidth cap.

New command

  • /mm size <120..360> — your minimap panel size in pixels (default 240)

v2.0.0 — Smooth panning rewrite

A ground-up rewrite of how the map is drawn. The minimap now pans smoothly under a centred player marker instead of being re-rendered frame by frame, and it is far lighter on the server.

Smooth & light

  • The map now glides as you move (client-side panning) — no more stepwise refreshes.
  • Terrain is only re-streamed when you cross into new area or it changes; the heavy rendering runs off the main server thread, so there are no tick lag spikes even with many players online.

Works in every world

  • Terrain now appears in freshly entered / newly generated worlds (custom worlds, dungeon worlds, etc.), not just long-explored ones — the map data is requested on demand.

Fixes

  • No more crash when changing worlds. Using world-transfer / dungeon mods (or any teleport between worlds) no longer kicks you.
  • The HUD no longer turns dark/faint after a world change, and the direction arrow keeps working after switching worlds.

Look

  • A circular map with a border ring, N / O / S / W compass letters, and a directional player arrow that turns with your facing. The map is north-up.
  • Nearby creatures are coloured by attitude — white friendly, yellow neutral, red hostile (and a neutral creature turns red while it is actively hunting). Other players and your death marker are shown too.

Per-player & coexisting

  • Every player configures their own minimap (markers, zoom, mob height filter); settings are saved per player.
  • The panel size is a server-wide setting in config.json (see below) — one consistent size for everyone.
  • Rendered via direct packets, so it lives alongside other custom HUDs.

In-game settings page/mm settings

  • A clickable page to toggle the map on/off, step the zoom radius, toggle player / creature / death markers, and set the mob height filter. Changes apply live, in place.

Commands

  • /mm settings (/mm gui, /mm menu) — open the settings page
  • /mm on / /mm off — toggle the minimap
  • /mm zoom <16..256> — visible radius in blocks
  • /mm height <4..256>|off — only show mobs within ±N blocks of your height
  • /mm markers players|entities|death on|off — marker toggles
  • /mm status — show your current settings

Configmods/de.glymera_GlymeraMinimap/config.json

  • sizePixels (120..360, default 240) — minimap panel size, server-wide, applied on (re)join.

Data directory: mods/de.glymera_GlymeraMinimap/


v1.0.0 — Initial release

Clean, server-side minimap for Hytale — no client mod required. Live top-down map from the engine's cartography, attitude-coloured creature markers with live aggression, death marker, mob height filter, circular map, per-player settings and an in-game settings page.

This mod has no additional files