Troubleshooting¶
The things that actually go wrong on site, what each on-screen message means, and how to clear it.
I can't sign in¶
The Login button says "Offline"¶
Why. The app is not connected to the show machine. Moonshine disables the login button until the connection is live, so this is a network or machine problem, not a password problem. You may also see a yellow strip reading Connecting to server…, Server connection is stale. Waiting for response…, or Cannot reach server. Check that the backend is running.
Fix.
- Check that Moonshine is running on the show machine.
- If you are on a second device, make sure you are on the same network, and re-open the exact address from the Share Moonshine panel — an address typed from memory is the usual culprit. See Join from another device.
- If the pre-login splash shows Cannot reach server with a Retry button, press it after the machine is back.
A red box appears with a message¶
Why. The show machine rejected the credentials and the box repeats the reason it gave.
Fix. Re-type the username and password — both are case-sensitive. If they are definitely right, an administrator can reset the account, or create a new one, from the Admin tab → Users → Add User.
"Lost connection to server during login. Please try again."¶
Why. The connection dropped mid-handshake. Moonshine fails fast here instead of leaving you on Logging in… forever.
Fix. Press Login again. If it repeats, the connection is unstable — check the network path between your device and the show machine.
"Signed in from another tab. Please sign in again to continue here."¶
Why. One account can hold one session. Signing in as the same user somewhere else — another tab, another device — evicts the earlier session.
Fix. Either continue in the newer window, or sign in again here (which will evict the other one). If several people are working at once, give each person their own account so you are not fighting over one session. See Users and sessions.
Moonshine is asking for a license key¶
Why. Either the trial on this machine has ended — the screen reads Your trial has ended — or the machine has never been activated. This gate sits in front of the login screen, so a machine can be licensed before anyone signs in.
Fix.
- Type or paste your key into License key. The field forces upper case, so you can ignore capitalisation.
- Press Activate. The button reads Activating… while it works, and the gate lifts by itself the moment the machine is licensed — there is nothing else to click.
- If you do not have a key yet, the Need a key? link at the bottom of the panel goes to the store.
If activation fails:
| Message | What to do |
|---|---|
| The message returned by the server, or Activation failed. Please try again. | Check the key for a typo, including dashes. Keys are tied to a machine, so a key already used elsewhere will not activate here. |
| Cannot reach server. Check that the backend is running and try again. | Activation needs the connection to the show machine. Restore it and retry. |
| Lost connection to server during activation. Please try again. | The connection dropped mid-activation. Retry once it is back. |
While a trial is running, a strip across the login screen counts down the days left and offers a Get a key link. It is dismissible for the session.
Everything works except the video preview¶
Why. Browsers only allow live video decoding on a secure address. Every control feature — projectors, warping, masking, playback, the scene — works over a plain address, but the preview picture does not. Moonshine tells you exactly which case you are in with a small badge on the preview.
| Badge | What it means | Fix |
|---|---|---|
| No preview over http — use localhost or https | You opened the plain, no-setup address. | Re-open the secure address from the Share Moonshine panel's Join tab. |
| Video blocked — this device doesn’t trust the stream certificate yet | You are on the secure address, but this device has not been through first-time setup. | Click Fix → on the badge and follow the steps for your platform, then reload. |
| Video blocked — import the Moonshine certificate into Firefox | Firefox keeps its own certificate store. | Import the certificate into Firefox itself — a per-site exception is not enough. The Fix → page has the steps. |
| Preview not supported on this browser/GPU | The browser or graphics hardware cannot decode the stream. | Try Chrome or Edge on that device; retrying in the same browser will not help. |
| Stream unavailable — refresh to retry | Moonshine gave up after repeated attempts. | Press Retry on the badge, or reload the page. |
| Requesting stream... / Initializing... | Normal start-up. | Wait a moment. |
Setting a device up properly, once: open the Share Moonshine panel on the show machine, switch to First-time setup, and scan that code on the new device. Install the certificate as instructed, then switch back to Join and scan that code. From then on the device gets video every time. Full walkthrough: Join from another device.
The plain address is still useful
The share panel offers it as the no-setup, control-only option. If a colleague just needs to trigger playback from a phone, it is the fastest way to get them working.
A playlist won't play¶
Why. Pressing play raises a warning like "Show Loop" isn't connected to a texture in the node graph — it won't play back. Wire it to a Texture node first. — and nothing starts. Moonshine blocks the transport on purpose: the playlist is not routed to anything, so playing it would change what is on the deck without putting a single pixel on a surface.
Fix. Connect the playlist to the surface that should show it, then press play again. See Putting media on a surface and The scene graph.
The same guard applies to next, previous and jumping to an item from the transport's list — if the warning appears on any of them, the wiring is the thing to fix.
A control is dim and won't respond¶
Why. Someone else is editing that area. Moonshine claims a lock as you enter a projector, the warp editor, the mask editor or playback, and holds it until you move on. While another person holds it, that panel is dimmed and a strip reads (their name) is editing.
Fix.
- Click Request access on the strip. The holder gets a message reading (your name) is requesting edit access to … with Grant and Deny buttons.
- If they grant it, the panel becomes live for you.
- If you would rather not interrupt, work on a different projector — locks are per projector, so two people can align two projectors at once.
You may also see an error reading Couldn't update - (name) is editing this. That is the same situation caught a fraction of a second later: your change was made just as the lock landed elsewhere, and was rejected. Nothing is broken; make the change again once you hold the lock.
When you hold a lock, the strip turns green with a padlock button — click it to Release lock early instead of waiting for the automatic release. See Locks.
Nothing is coming out of a projector¶
Work down this list — it is ordered by how often each one is the answer.
- Is the output enabled? In the display outputs view, the placeholder text reads Drag a projector here, or enable its output in Settings until at least one projector has an output turned on. Drag the projector onto the monitor it feeds, or tick Enabled in its output settings. Each projector's card also carries an output pill showing On, Off or — (never configured) that you can click directly.
- Is it on the right monitor, in the right place? Check Monitor, Origin X and Origin Y. Two enabled outputs overlapping on one monitor are flagged with a warning in the outputs view — one will be sitting on top of the other.
- Is the shutter closed? The Shutter toggle reads Open or Closed next to it. Closed means black by design.
- Is a test pattern left on? Set Test Pattern back to None — a full-screen Grid or White pattern hides your content completely.
- Is the warp baked? With unbaked edits, the warp sidebar says the projector is still rendering the source surface, and the save dot in the top bar turns amber with Warp edits not baked — click Bake Warp to commit. Press Bake Warp. See Baking and reverting.
- Is anything routed to that surface? A surface with no media assigned, or a playlist that was never wired up, renders nothing. See the playlist section above.
If the outputs view says it is still waiting for display information, the app has not yet heard which monitors exist on the show machine. Give it a moment; if it persists, the show machine is not fully up.
A file I dropped never appeared¶
Why. The extension is not one Moonshine accepts. Unsupported files are ignored silently — no item is created and no error is shown.
Fix. Check the extension against Supported file formats. The most common surprises are .tif, .exr and .avi, none of which are accepted, and .gltf files that depend on a separate binary file — export those as .glb.
"Save Conflict"¶
Why. Someone else saved a newer version of this project than the one you are working from, so your changes cannot be written without deciding whose version wins. The dialog names the version the server holds.
Fix.
- Reload Latest takes the server's version. Anything you changed since is discarded — the safe choice when you have made only small edits.
- Dismiss leaves your session as it is so you can note down what you changed before reloading.
- Force Save overwrites the server's version with yours. Administrators only, and it discards the other person's work — agree it out loud first.
Do I have to save?¶
No. Moonshine saves as you work; there is no save command and no keyboard shortcut for one. The small dot in the top bar tells you where things stand — hover it for the exact wording:
| Dot | Meaning |
|---|---|
| Amber, pulsing | Changes are being written (Saving…) |
| Amber, pulsing, with a bake message | Saved, but warp edits are not yet baked — the projector is still rendering the source surface |
| Green | Everything is written, with the time of the last save |
| Grey | Nothing has changed yet |
The one thing that is not automatic is baking a warp. Editing warps saves your edits; Bake Warp is what makes the projector render them.