Gallery

Description
GlymeraMinimap — A Smooth, Server-Side Minimap
A clean live minimap for Hytale — no client mod required. The map is rendered on the server from the game's own world-map data and streamed straight to each player's screen, so everyone gets it automatically just by joining.
GlymeraMinimap is built to live alongside your other HUDs. It is sent as a direct packet instead of claiming the single custom-HUD slot, so scoreboards, other overlays and custom HUDs keep working at the same time.
What is GlymeraMinimap?
A circular minimap in the corner of your screen that pans smoothly under a centred player marker as you walk — no stepwise refreshes, no jitter. It shows the terrain around you, the creatures and players nearby, and where you died, with your coordinates underneath. Keep it classic north-up, or switch it to rotate with your view — your heading up, the world turning under you.
Works out of the box — no setup needed, every player gets the map automatically. Admins can optionally set where it starts and lock it in place (see For Admins).
For Players
- A live top-down map in the corner, with your coordinates underneath, N / O / S / W compass letters and a directional arrow.
- NEW: North-up or rotate-with-view — your choice. By default the map is classic north-up. Flip "Rotate with view" in the settings (or
/mm rotate on) and the map turns with your view direction instead — your heading is always up, like the rotating minimaps you know from other games. The compass letters detach and slide around the rim so they always point at the true world directions, and the arrow + map always add up to your exact heading. Per player, saved across sessions. - Smooth panning. The map glides as you move instead of snapping frame by frame, and it fills in as you explore new ground.
- Pick your own corner. Place the map in any of the four screen corners from the settings page — your choice is saved and follows you across sessions.
- Pick your own size. Each player sets how big their minimap is with
/mm size— your choice is saved and follows you across sessions. - See what's around you. Nearby creatures appear as coloured dots, other players as arrows:
- white = friendly, yellow = neutral, red = hostile
- a neutral creature turns red while it's actively hunting — so you spot danger before it reaches you. (This live-aggression colouring is unique to GlymeraMinimap.)
- Death marker. When you die, the spot is marked on your map so you can find your way back.
- Hide far-off mobs. Optionally only show creatures near your own height, so deep caves and mobs far above don't clutter the map.
- Your settings, your way. An in-game settings page lets each player toggle the map, set the zoom, choose a corner, choose which markers to show, and tune the mob-height filter. Every player has their own settings, with no admin gate by default (a server admin can optionally lock them — see For Admins).
In-Game Settings Page — /mm settings
A clickable page that updates instantly, in place:
- Minimap — on / off
- Rotate with view — map turns with your heading / stays north-up
- Corner — top-left, top-right, bottom-left, bottom-right
- Zoom — visible radius in blocks
- Other players — show / hide player markers
- Creatures — show / hide creature markers
- Death marker — show / hide
- Limit mob height — only show creatures near your height
- Mob height range — the ± band for the height filter
(Map size is set with the /mm size command rather than on this page — resizing redraws the HUD, and doing that from an open page would briefly garble it, so it lives as a command.)
Commands
| Command | Description |
|---|---|
/mm settings (/mm gui, /mm menu) |
Open the settings page |
/mm on / /mm off |
Turn the minimap on or off |
/mm rotate on\|off |
Map rotates with your view / stays north-up |
/mm size <120..360> |
Your minimap panel size in pixels (default 240) |
/mm zoom <16..256> |
How many blocks the map shows from the centre to each edge |
/mm height <4..256>\|off |
Only show mobs within ±N blocks of your height |
/mm markers players\|entities\|death on\|off |
Turn individual markers on or off |
/mm status |
Show your current settings |
/mm admin |
(OP) Set the default minimap new players get on first join |
Every player configures their own minimap — corner and size included — with no permission gate by default. A server admin can optionally lock this; see For Admins.
For Admins
GlymeraMinimap still works out of the box — drop the jar in and every player gets the map. Two optional controls let you fit the minimap to your server:
Set the default minimap for new players — /mm admin (OP only)
Opens the same settings page, titled "Admin: Default Minimap for New Players", but it edits the server default instead of your own minimap. Whatever you set here — the screen corner, zoom, which markers show, and so on — is what a brand-new player starts with on their first join.
This is handy when the default top-left corner overlaps your scoreboard or other HUDs: set the default to another corner once, and every new player gets it there automatically.
- OP only — non-OP players can't open it.
- Players who have joined before keep their own saved settings; this applies to first-time joiners.
Optionally lock players to that default — config.json
mods/de.glymera_GlymeraMinimap/config.json:
{
"allowPlayerChanges": true
}
true(default) — players freely move, resize and tune their own minimap, exactly as before.false— non-OP players are locked to the admin default: their settings page and the/mmtuning commands are turned off, so the minimap stays exactly where you put it. OPs are never restricted.
Data directory: mods/de.glymera_GlymeraMinimap/ — per-player settings under players/, the server default in default.json, and the lock switch in config.json.
Installation
- Place
GlymeraMinimap-7.0.0.jarin your server'smods/folder. - Start (or restart) the server.
- Done. The map appears for every player automatically.
Performance
GlymeraMinimap is built to scale to a full server:
- The server tick stays light. The per-player loop only does cheap work on the world thread — read position, pan the map, scan nearby markers, push tiny UI updates.
- Heavy rendering runs off the main thread. The terrain image is composited and PNG-encoded on a dedicated background pool, and the map is only re-streamed when you move into new area or the terrain changes — so there are no tick lag spikes even with many players online.
- Bandwidth-aware, even at high speed. Per-frame updates are tiny; the full terrain image is re-streamed at most a couple of times per second and otherwise just panned client-side, so even a player fast-travelling across the world can't saturate the connection. Identical images are de-duplicated and skipped.
- Rotation mode is budgeted the same way. While you actively turn, the map updates in fine steps (8 per second since v8) using small reduced-size packets, and the moment your view settles it sharpens back to full resolution — a spinning player stays in the same bandwidth ballpark as a fast-travelling one. North-up players pay nothing at all.
- Small, bounded memory per player (cached arrow/marker icons, a handful of cycling terrain frames).
Comfortably handles dozens of players at once on typical hardware.
Good to Know
- The terrain comes from the game's own cartography (the areas the world has generated), so the map fills in as you and others travel.
- The map is circular with a border ring, north-up by default — or rotating with your view if you prefer (per player).
- Rendered via direct packets, so it coexists with other custom HUDs instead of fighting over the single HUD slot.
- New players start from the server default (set with
/mm admin) — including the rotation mode; everyone can then place, size and tune their own map unless the admin has locked it. - Survives world changes: no crash when teleporting between worlds, and the map keeps working (no dark/faint HUD) afterwards.
- Robust at any travel speed — fast-flying through unexplored terrain won't disconnect you.
Data directory: mods/de.glymera_GlymeraMinimap/
Made with care by Glymera for the Hytale community
Changelog
GlymeraMinimap — Changelog
v11.0.0 (2026-08-28) — Hytale 0.6.0 (Update 6)
- Rebuilt for Hytale 0.6.0 (Update 6). Requires server 0.6.0 or newer; this version does not run on 0.5.x, and older versions of this plugin do not run on 0.6.0.
- Migrated to the 0.6.0 APIs (network protocol hytale/3, new command-permission API, block/chunk/entity API changes). Everything that was open to players before is open to players again.
- Upgrade: delete the old jar from
mods/, drop in the new one and keep the plugin's data folder — configs and saved data carry over unchanged. Restart the server.
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
Config — mods/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.
Only Marc can read this.