← All plugins
GlymeraPortal icon

GlymeraPortal

Player-owned teleporter networks. Unlike native 1:1 teleporters, every pad connects to all your other pads. Walk on, pick a destination, arrive facing the exit. Per-player ownership, public/private visibility, configurable limits.

v9.0.0 Hytale 0.6.x Quality of LifeUtilityMiscellaneous

Gallery

Description

GlymeraPortal - Physical Teleporter Networks

Place teleporter pads in the world and build your own fast-travel network. Walk onto a pad, pick your destination, step off at the other end facing the right way.


What is GlymeraPortal?

GlymeraPortal replaces Hytale's native teleporter system with a player-owned portal network. Instead of a single fixed warp per pad, each teleporter connects to all your other pads automatically. Step on, choose where to go, and arrive in front of the destination portal facing away - ready to keep walking.

Key differences from native Hytale teleporters:
- Native teleporters are 1:1 (one pad → one fixed warp destination). GlymeraPortal is many-to-many (every pad connects to all your other pads).
- Native teleporters show a settings page where you pick from all server warps. GlymeraPortal shows a filtered destination menu - you only see your own network.
- Native teleporters require manual warp configuration. GlymeraPortal is automatic - place a pad and it joins your network instantly.
- Native teleporters have no ownership. GlymeraPortal has full per-player ownership with public/private visibility.
- Native teleporters land you on the pad (can re-trigger). GlymeraPortal places you in front of the pad facing away, preventing re-trigger loops.


Features

Automatic Network

  • Place a teleporter pad → it joins your personal network automatically
  • All your pads see each other as destinations
  • Remove a pad → it disappears from all destination lists instantly
  • Works cross-world - teleport between any worlds on the server

Walk-In Activation

  • Simply walk onto a pad to activate it - no button press needed
  • Single destination? You teleport instantly
  • Multiple destinations? A dropdown menu appears
  • You stay in place while browsing the menu - no disorienting movement

Smart Arrival

  • Arrive 1.5 blocks in front of the destination pad, not on top of it
  • Face away from the portal - walk straight to continue your journey
  • Arrival direction matches the pad's NESW orientation (set when placed)
  • No collision with the destination pad = no accidental re-teleport

Ownership & Privacy

  • Every pad belongs to the player who placed it
  • Private (default): Only you can see and use your pads
  • Public: Other players can use your public network (but can't modify it)
  • Only the pad owner can rename it or change its visibility
  • Only the pad owner (or an OP) can break it

Portal Limit

  • Configurable maximum portals per player (default: 5)
  • OPs can place unlimited portals
  • Clear message when the limit is reached

Commands

For Everyone

Command Description
/portal list List your portals with coordinates and visibility
/portal name <name> Rename the nearest portal (within 10 blocks)
/portal public Make the nearest portal public
/portal private Make the nearest portal private

For OPs Only

Command Description
/portal give <count> Give yourself teleporter items (1-64)
/portal reload Reload portal data and config from disk
/portal list Shows all portals from all players

How It Works

Placing

  1. Right-click with a Teleporter item to place the pad
  2. The pad faces the direction you're looking (snapped to N/E/S/W)
  3. After 2 seconds, the pad activates (particles + sound)
  4. It's now part of your portal network

Using

  1. Walk onto an active pad
  2. If you have exactly one other pad → instant teleport
  3. If you have multiple pads → dropdown menu appears
  4. Pick a destination → teleport to that pad's exit position

Network Rules

  • Owner on own pad: sees all own pads as destinations
  • Non-owner on public pad: sees all public pads from that pad's owner
  • Non-owner on private pad: blocked ("This is a private portal")

Configuration

config.json (plugins/GlymeraPortal/config.json)

{
  "maxPortalsPerPlayer": 5
}

Maximum number of portals a non-OP player can place. OPs are unlimited.

Portal Data (plugins/GlymeraPortal/portals.json)

Automatically managed - stores all portal positions, owners, names, visibility and warp IDs.


Crafting

Teleporters are crafted at an Arcane Bench (Arcane_Portals category):

Input Quantity
Azure Wood 8
Mana Crop 2
Rock (any) 10

Output: 2 Teleporter pads | Required Memories Level: 5


Installation

  1. Place GlymeraPortal-1.0.0.jar in your server's mods/ folder
  2. Start (or restart) the server
  3. Done! Config and data files are auto-generated on first run.

Good to Know

  • The plugin uses Hytale's native Teleporter block with a custom asset pack (embedded in the JAR)
  • Pads emit ambient portal sounds and blue particle effects when active
  • Cross-world teleport is fully supported - pads in different worlds connect seamlessly
  • Breaking a pad requires the correct tool (GatherType: Benches)
  • The portal limit message clearly tells players their current count vs maximum

Made with care by Glymera for the Hytale community

Changelog

GlymeraPortal - Changelog

v9.0.0 (2026-08-31) — Fixes pads placed before v8 (invisible pads, broken chunk graphics)

  • Pads placed with v4.0.0–v6.0.0 work and render again. v7/v8 dropped the block's Active state definition; pads stored in that state became unknown blocks (server log: Failed to find block '*GlymeraTeleporter_State_Definitions_Active' in chunk section!) - invisible, no teleport, and the surrounding chunk section could render see-through. The state is back as an alias of the current block, so the stored blocks resolve again. No world edits, no rebuild of pads, nothing to do in-game.
  • Everything from v8.0.0 is unchanged (nothing in Hytale's warp registry, single teleport without hop, 200 ms activation, GUI, links, permissions).
  • Upgrade: replace the jar in mods/ and restart. If you already broke and re-placed pads, just place them again as usual.

v8.0.0 (2026-08-31) — Nothing left in Hytale's warp registry, no more hop

  • Glymera pads no longer appear in the native teleporter menu or in /warp. Until v6 every pad left two entries in Hytale's warp registry (a hidden self-warp plus the rune name the engine gives every placed teleporter), and the native teleporter's target dropdown listed them to everyone - including the coordinates of private pads. Pads now target themselves through their block component; nothing of the plugin is registered any more. Existing entries are cleaned up automatically after the first start - no rebuild of pads, no config change.
  • No more split-second hop onto the entry pad. The plugin now redirects Hytale's own teleport in place (body and head rotation) - one teleport, correct facing on arrival. teleportMode defaults to mutate; set it to replace in plugins/GlymeraPortal/config.json for the old behaviour.
  • Pads activate 200 ms after placement (was 2 s). Links, GUI, public/private and limits are unchanged.

v6.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.

v5.0.0 (2026-08-26) — No more "press F" prompt on pads

  • Looking at a Glymera Teleporter no longer shows the "press F" hint. The pad had inherited the "usable" flag from Hytale's native teleporter, where F opens the settings page - on our pads it did nothing.
  • The right-click shortcut to the edit page is gone with it: open the GUI with /portal. Teleport behaviour, links and the GUI itself are unchanged.
  • Contains v4.0.0 (rewrite: own block, GUI, explicit links).

v4.0.0 (2026-08-25)

Complete rewrite. Portals are now managed in a GUI and linked explicitly.

New

  • Own block "Glymera Teleporter" (green-tinted pad). Hytale's native teleporter is left completely untouched - both systems can coexist on the same server.
  • GUI (/portal or right-click your pad): lists all your portals with world and coordinates; rename, make public/private, link and unlink - all by button.
  • Explicit links: a pad only leads to the pads you linked it to. One link = instant travel, several links = destination menu. Links are two-way and only between pads of the same owner.
  • Public/private per pad: private pads admit only the owner; on a public pad guests reach the owner's public links. OPs pass through every pad.
  • Recipe switch: craftingEnabled in plugins/GlymeraPortal/config.json (default true), /portal reload applies it live. OPs can always /portal give <n>.
  • Correct exit orientation: the exit side is the side you stood on when placing the pad; you arrive 1.5 blocks in front of it, facing away, walking straight on.
  • Config teleportMode (default replace = the plugin issues its own teleport, which is the only variant where the arrival facing is applied; mutate kept for experiments) and debugLog (logs arrival position + facing after each trip).

Changed

  • Pads placed with v1-v3 (native blocks) are released back to Hytale on first load: their warp is cleared and the native settings page works again. Replace them with Glymera Teleporters.
  • /portal name|public|private commands removed - use the GUI. /portal list, /portal give, /portal reload remain.
  • Data file portals.json keeps its format (new fields: links, exit side).

v3.0.0 (2026-08-25)

Maintenance release after a full code review. No change to how portals are used.

Fixed

  • Native placement limit no longer applies. The Teleporter item now uses its own place interaction (GlymeraPortal_Place) instead of Hytale's Teleporter_Place, which enforced a world-wide cap of 2-8 pads depending on the placing player's Memories level. Only the plugin's maxPortalsPerPlayer limit counts now.
  • Foreign warps are no longer deleted. Placing a pad used to remove any non-portal warp within 2 blocks (any height) - an admin /warp set next to a pad was silently lost. Removed.
  • Ghost portals. If another plugin cancels the placement (plot protection etc.) or the block is missing when the warp is created, the registry entry is dropped instead of counting against the player's limit forever. Same check at server start for portals whose chunk is loaded.
  • Atomic data file. portals.json is written via temp file + rename (a crash mid-write can no longer leave an empty file); a leftover .tmp is recovered on load.
  • Warp creation on the world thread. Warp registry and block activation are no longer touched from the scheduler thread.
  • Message spam. "This is a private portal." / "No destinations available." are sent at most every 10 s per player while standing on a pad.

Changed

  • Logging: plugin now reports portal creation/removal, warp creation, ghost cleanup and every swallowed error to the server log with the [GPortal] prefix.
  • Item definition restored to native parity (PhysicalMaterialId, TextureComputedColor); settings page stays disabled.

v2.0.0 (2026-05-28)

  • API port for the May server update (Vector3d -> org.joml). No functional change.

v1.0.0 (2026-04-13)

  • Initial release: player-owned portal networks, walk-in activation, destination menu, public/private portals, /portal commands.
Public — visible to everyone. No account needed.

Only Marc can read this.