← All plugins
GlymeraChunkLoader icon

GlymeraChunkLoader

Force-load chunks to stay active without players nearby. Crops grow, entities tick, everything runs as if someone is there. Built-in chest clock proves ticking while you're away. Config persists across restarts. OP-only.

v7.0.0 Hytale 0.6.x UtilityQuality of LifeMiscellaneousFarming

Gallery

Description

GlymeraChunkLoader - Keep Chunks Alive!

Permanently keep chunks loaded and ticking without any player nearby. Survives server restarts.


What is GlymeraChunkLoader?

GlymeraChunkLoader lets server operators force-load specific chunks so they remain active even when no player is present. Loaded chunks keep ticking — crops grow, redstone fires, entities move, everything behaves as if a player is standing right there.

All configured chunks persist across server restarts via a simple JSON config that can also be edited by hand.


The Chunk Loader Block (v4)

Want your players to keep chunks loaded — without giving them commands? Place the
Chunk Loader block: a little clock on a stone base with a status lamp on top.

  • One click = active: the lamp turns green and the chunk the block stands in stays
    loaded and ticking. Click again: lamp turns red, the chunk unloads normally.
  • No crafting recipe on purpose — hand it out with /cl give <player> or sell it in your
    server store / economy plugin (item id: Glymera_Chunk_Loader).
  • Owner-protected: only the placer (or an OP) can toggle or break it. Breaking it always
    returns the item.
  • Per-player limit: maxLoadersPerPlayer in the config (default 3, -1 = unlimited).
  • Restart-safe: placed loaders and their on/off state survive restarts.
  • Fits its shape: collision and aiming outline match the actual clock model (half a block
    wide, ~3/4 high) — no invisible full-block box around it.

Commands

All commands are OP-only (regular players just use the block).

Load & Unload

/cl load [radius]  - Force-load the chunk you're standing in (radius 0-16, default 0)
/cl unload         - Release the chunk you're standing in

Radius example: /cl load 3 force-loads a 7x7 area (49 chunks) centered on your position.

Management

/cl list           - List all force-loaded chunks (grouped by world)
/cl status         - Verify which chunks are actually loaded and ticking right now
/cl reload         - Reload config from disk after manual edits

Tick-Test Clock

/cl test           - Mark a nearby chest as a tick-test clock
/cl test off       - Stop the tick-test

Stand next to a chest and run /cl test. The plugin will add 1 Rock_Stone every 60 real seconds to the chest. Walk away, come back later, count the stones — that's how many minutes the chunk was actively ticking in your absence.

  • Chest full? Pauses automatically, resumes when space is freed.
  • Chest destroyed? Test stops automatically.

Config

Located at plugins/GlymeraChunkLoader/config.json. Can be edited manually — use /cl reload to apply changes.

{
  "chunks": [
    {
      "world": "default",
      "x": -56,
      "z": 47
    },
    {
      "world": "plains_1",
      "x": 10,
      "z": -3
    }
  ]
}

Each entry specifies the world name and chunk coordinates (not block coordinates). Chunks from different worlds are fully supported.


How It Works

  • Uses Hytale's native WorldChunk.addKeepLoaded() API (ref-counted, prevents unloading)
  • A maintenance task runs every 5 seconds to ensure all configured chunks stay loaded and ticking
  • Sets the TICKING flag and resets keepAlive / activeTimer to prevent the unload system from evicting chunks
  • Chunks are loaded asynchronously via getChunkReferenceAsync() on first activation
  • All chunk operations run on the world thread for thread safety
  • No fake players, no network overhead — minimal performance impact

Installation

Drop GlymeraChunkLoader-1.0.0.jar into your server's mods/ folder and restart. No asset pack required.


Requirements

  • Hytale Server (any version)
  • OP permissions to use commands
Changelog

GlymeraChunkLoader - Changelog

v7.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.
  • Verified on 0.6.0: a loader keeps its own chunk ticking with no player nearby (chest/machine test). Reminder: a loader pins only the 32×32 chunk it stands in — place it in the same chunk as the machines it should keep running.
  • 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.

v6.0.0 (2026-07-26)

Farm-world support: no more ghost pins after a world reset

  • Many servers use disposable "farm worlds" that admins periodically delete and
    recreate to keep world data small. Chunk Loader blocks placed in such a world
    disappeared together with it - but their chunk pins survived in the plugin's
    config and kept force-loading empty chunks in the recreated world forever
    (wasted RAM and tick time, invisible to everyone).
  • The integrity check now also removes a loader whose position verifiably holds
    a different block for 10 consecutive maintenance cycles (about 50 seconds),
    even if that loader was never seen in the current server session. The loader
    item is returned to its owner if they are online.
  • Command pins created with /cl load are intentionally NOT touched by this -
    they are admin-managed and may outlive a world reset on purpose. Use
    /cl unload or /cl list to manage them.

v5.0.0 (2026-07-25)

Critical fix: activating a Chunk Loader block silently disabled it

  • On current Hytale builds, switching a loader block ON made the plugin forget it within a
    few seconds: the clock stayed in the world with a green lamp, but the chunk was not
    kept loaded, owner protection was gone, and a replacement loader item quietly appeared in
    the owner's inventory. Toggling or breaking the orphaned clock did nothing anymore.
  • If your loaders "stopped working" or your chunks unloaded despite a green lamp, this was
    the cause. Affected clocks are plain decoration now - break them and place fresh loaders
    after updating.

Technical Details

  • Root cause: the lamp toggle moves the block into its Active block state. At runtime
    a state variant is a separate block id whose asset name is
    *Glymera_Chunk_Loader_State_Definitions_Active - with a leading asterisk. The integrity
    check that detects loaders destroyed without a break event (explosions, area tools)
    compared raw block ids, so every activated loader looked "destroyed" and was cleaned up
    about 5 seconds after activation.
  • Fix: the integrity check now resolves the block's asset name, strips the leading * and
    matches by name prefix - the loader is recognized in every lamp state. Unresolvable ids
    are treated as unknown and never trigger a cleanup.

v4.0.0 (2026-07-06)

New: Placeable Chunk Loader block (requested by xXTheHumbleXx)

  • A physical Chunk Loader block in the style of a small grandfather clock: stone base,
    bronze housing with a clock face on all four sides, and a status lamp on top.
  • Click to toggle: one click activates it — the lamp turns green and the chunk the
    block stands in stays loaded and ticking, exactly like /cl load. Click again to turn it
    off — the lamp turns red and the chunk unloads normally.
  • Made for server stores: there is intentionally no crafting recipe. Server owners
    hand the item out via /cl give [player] or sell it through their store/economy plugin
    (item id: Glymera_Chunk_Loader).
  • Owner protection: only the placer (or an OP) can toggle or remove the block. Removing
    it always returns the item.
  • Per-player limit: new config option maxLoadersPerPlayer (default 3, -1 = unlimited,
    OPs are exempt) caps how many loader blocks each player can place.
  • Restart-safe: placed loaders and their on/off states survive server restarts; active
    chunks are re-pinned automatically on boot.
  • Grief-safe bookkeeping: if the block is destroyed by something that bypasses normal
    breaking (explosions, area tools), the plugin notices, releases the chunk and returns the
    item to the owner if they're online.
  • New OP command /cl blocks lists all placed Chunk Loader blocks with owner and status.
  • Accurate hitbox: collision and the aiming outline match the actual clock shape (half a
    block wide, about 3/4 high) instead of a full block — you can stand right next to it and
    aiming at it feels precise.

Fixed

  • Config saving is now crash-safe (write-to-temp-then-rename).

v2.0.0 (2026-04-21)

Bug Fixes

  • Fixed /cl load <radius> not accepting positional argument: The command rejected calls like /cl load 3 with the error "The wrong number of required argument was specified. Expected; 0, actual; 1" and forced users to use the named-arg syntax /cl load --radius=3. This contradicted the documented usage /cl load [radius].
  • Fixed /cl test off with the same root cause: Stopping the tick-test clock required /cl test --off=off instead of the documented /cl test off.

Technical Details

  • Root cause: Hytale's withOptionalArg(...) produces an OptionalArg that is parsed as a named argument (--name=value) only, not as a positional token. There is no positional-optional arg type in the command API.
  • Fix: Split each affected command into two usage variants via addUsageVariant() (same pattern as /poi in GlymeraLocate):
  • LoadCommand stays no-arg (radius = 0, loads just the chunk the player is standing in)
  • New LoadRadiusCommand variant accepts a positional RequiredArg<Integer> radius (0-16)
  • TestCommand stays no-arg (starts the test)
  • New TestOffCommand variant accepts a positional RequiredArg<String> ("off") to stop the test
  • Shared load logic extracted to static helper applyLoad(...) to avoid duplication between the two load variants.

v1.0.0 (2026-04-11)

  • Initial release
  • Force-load chunks that stay active without player presence (survives restarts)
  • /cl load [radius], /cl unload, /cl list, /cl status, /cl reload
  • /cl test tick-test clock (1 Rock_Stone per 60s into a nearby chest)
  • Persistent JSON config at plugins/GlymeraChunkLoader/config.json
  • Uses Hytale's native WorldChunk.addKeepLoaded() API with 5-second maintenance task
Public — visible to everyone. No account needed.

Only Marc can read this.