The Loading Creator

Open /hzpanel, select HZ-Loading, then Open editor.

You get a split pane: settings on the left, and on the right the actual loading screen running in an iframe — the same React app your players load, driven live as you type. It is not a mockup or a rendering of your settings; it is the product.


Editing

Settings are grouped on the left: brand and logo, appearance, component styles, background, music, social links, language, content (Updates / Rules / tips / Team), keybinds, server info. Placement is free-form. Toggle the layout editor and every component gets a frame you can drag anywhere on the screen. The frame snaps to a grid, and alignment guides appear when a component's centre lines up with the screen centre or with another component. Drag the corner handle to resize.

Positions are stored as percentages of the screen with a centre anchor, so a component stays where you put it when its content changes length — a rotating tip does not drag its block off-centre as the text grows.

Reset puts every component back on the default scaffold. An empty layout is the stock composition, so resetting is always safe.

Publishing

Publish persists your document server-side and broadcasts it to every player currently connecting. No restart, no file edit, no FTP.
You will not see your own change. Your loading screen was destroyed the moment you spawned — there is no screen left to update. To see the result with your own eyes, reconnect. The editor shows a callout saying exactly this after each publish.

Equally: never judge the result from the preview alone. The preview is fed by postMessage from the editor, which is a different channel from the one that feeds a real player. The preview can look right while the live screen is wrong — that distinction is what makes reconnecting the only real test.


Who owns which setting

This matters more than it looks. The Creator owns a defined subset of settings; everything else stays managed by the panel.

Owned by the CreatorStays in the panel
Brand, tagline, logo, appearance, component stylesTelemetry (session timings)
Background, effects, music, social linksDiscord webhook (URL + events)
Language, Updates, Rules, tips, Team, keybinds
Server info, free-canvas layout
Publishing writes only the Creator-owned keys. That boundary is the reason a panel edit made after a publish still takes effect — without it, publishing once would freeze a full config snapshot over the panel and every later panel change would silently revert on the next boot.
The Discord webhook URL is deliberately not in the Creator. The Creator document is sent to clients; the webhook is a secret. It stays panel-only and is stripped from everything the server sends to a player.

Permissions

Opening the editor requires panel access to HZ-Loading. Publishing additionally requires the config capability — checked server-side at publish time, not just in the UI.

That split is intentional: you can grant a moderator the ability to open the editor and use /hzloading:rescan without letting them rewrite the loading screen for every player.


Recovering from a bad publish

/hzloading:resetdoc (admin) wipes the Creator document. The loading screen falls back to the panel configuration plus the built-in defaults, and the Creator reopens on a clean slate. Nothing else is lost — your assets, scenes and panel settings are untouched.