Troubleshooting
Start with the visible symptom, then check the smallest part of the site that could explain it.
On this page
“I wrote print("testing") and preview failed”
app.lua must return a function(ctx). That function returns a page response. print only writes to the local console, and is not exposed in cloud Lua. Older installers validated JSON only, so they missed this mistake. Update Lantern and use the complete handler example.
“Validation passed, but the site still fails”
Current validation checks static JSON and the home-page GET. It does not test every form or route. Try the exact method/path that failed. Check for a nil value, a missing return, an unavailable cloud library, an invalid response or exceeded limits.
A local script may use fs, os or require successfully while cloud execution rejects it. Use the documented ctx functions for portable code.
“My JSON changes do not appear”
If app.lua returns a page for that path, it takes precedence over JSON. Make the handler return nil on the intended static GET path, or edit the Lua response instead. For a Hub site, confirm that you uploaded and published the new version, then reload. An offline cached page may still show older content.
“Hosting tools opened a browser”
Older installer completion screens offered Open Lantern Hub regardless of profile. Update to the current preview. Run lantern host explicitly to open server tools; choose Create a site from a template or Manage an existing site. Browser files remain installed because previews use them.
“No modem, seed missing, or identity changed”
These concern local ln:// networking. Attach a modem and import a unique seed. If identity state is corrupt or missing, do not silently replace an established identity: investigate and restore a trusted backup or deliberately provision a new one.
For an identity-change warning, verify the new fingerprint through a trusted channel before resetting the saved alias pin. Hub HTTPS browsing does not require a modem or imported seed.
“Upload denied or site unavailable”
Check that the local name matches the Hub site, the key belongs to that site, and it has not been revoked. An upload only creates a draft; the creator must publish it in the website dashboard.
A missing or unpublished address, disabled site, deleted site, or account restriction can also explain failure. Read the owner notification inbox. If the saved upload key is revoked, remove only /lantern-data/private/hub-<name>.json and retry to enter a new key.
“HTTP disabled, timed out, or rate limited”
Run lantern doctor and check whether HTTP is enabled. Ask the Minecraft server administrator whether HTTPS requests to lantern.thultz.dev are allowed. View the service status page from a desktop browser.
A timeout does not prove that a form had no effect. Inspect the page/data before submitting again. Reduce repeated requests if you hit a rate limit. Never retry mutations in a tight loop.
What to include in a bug report
- Exact error text and the action you took.
- Whether the address starts with ln:// or hub://, or whether you used local preview.
- The smallest relevant source example with all secrets removed.
- Minecraft, mod loader and CC:Tweaked versions, plus computer type.
- Whether a fresh template reproduces the problem.
Found a mismatch? Include the exact error, runtime version and a small example with secrets removed.