mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-25 15:08:47 -07:00
bcc5fe1bcb
- Create README.md for project overview and setup instructions - Add admin-ui/README.md for admin UI details and development setup - Introduce client-mod/README.md explaining the MelonLoader mod functionality - Establish docker/README.md for Docker setup and configuration - Create docs/README.md to index project documentation - Implement advanced-setup.md for Docker stack configuration - Document architecture in architecture.md - Provide easy-setup.md for hosting instructions - Add FAQ.md for common questions and legal considerations - Create joining-a-server.md for player connection instructions - Establish troubleshooting.md for common issues and resolutions - Introduce easy-app/README.md for the unified desktop application - Add server/README.md for ASP.NET Core backend details - Document tools/README.md for CLI helper scripts
97 lines
3.7 KiB
Markdown
97 lines
3.7 KiB
Markdown
# Troubleshooting
|
|
|
|
If your symptom isn't here, check [the FAQ](faq.md) and then open an
|
|
issue with: your OS, DorkNet version, server log (Settings → Send logs
|
|
to clipboard), and the exact steps that triggered the problem.
|
|
|
|
## Client / patcher
|
|
|
|
### "Signature verification failed" on launch
|
|
|
|
The image-signing public key baked into the patched `global-metadata.dat`
|
|
doesn't match the private key on the server. Repair from the Patch tab —
|
|
this re-fetches the server's current pubkey before patching.
|
|
|
|
### "Check your internet connection" loop at startup
|
|
|
|
The watch can't reach the server URL. Verify:
|
|
1. The host string in `dorknet-clientmod.json` matches the server's
|
|
public URL (tunnel URL for Easy mode).
|
|
2. The server responds to `https://<host>/healthz` with `200 OK` from
|
|
the same machine the client runs on.
|
|
3. No corporate proxy / DNS filter is intercepting `*.trycloudflare.com`.
|
|
|
|
### Black screen after the loading bar fills
|
|
|
|
The watch authenticated, joined Photon, but couldn't download the room
|
|
data blob. Look in MelonLoader's `Latest.log` for
|
|
`[DownloadRoomDataBlobCoroutine]` lines — the URL there tells you which
|
|
asset the server failed to serve.
|
|
|
|
### Save doesn't persist, MakerPen objects disappear after reload
|
|
|
|
Known issue with stale `LocalRoomScene.DataBlobName`. The client mod's
|
|
`SetRoomDataBlobName_Prefix` hijack should handle this — verify it's
|
|
firing in MelonLoader's log. If not, the mod failed to load; check that
|
|
`Mods\DorkNet.ClientMod.dll` is present and not blocked by Windows.
|
|
|
|
## Server
|
|
|
|
### `[boot] migrations failed`
|
|
|
|
The schema patch SQL errored. Most likely cause: an existing column whose
|
|
type doesn't match what we're trying to add. Look at the exact failure
|
|
in the log; if it's a Postgres `cannot alter type` error, the prior
|
|
column type needs a manual migration before DorkNet starts.
|
|
|
|
### Photon CustomAuth returns 401
|
|
|
|
Either:
|
|
- The Photon AppId in `appsettings` doesn't match the AppId baked into
|
|
the patched client. They MUST match.
|
|
- The user logging in doesn't have a row in the `Players` table — the
|
|
auth flow expects `userid` to be a real account.
|
|
|
|
### Room chat doesn't send
|
|
|
|
Run the client with `SaveDebugMod` enabled (or watch MelonLoader's log)
|
|
and look for the `[chat-trace]` lines. The pipeline is:
|
|
|
|
```
|
|
SendChatEmote → RemoveInvalidCharactersFromMessage → PurifyString HTTP
|
|
→ ProcessNewChatMessageReceived → Photon RPC
|
|
```
|
|
|
|
If any trace line is missing, that's where it died. The two most common
|
|
fixes:
|
|
- `[chat-fix] CanLocalPlayerChat returned false`: the account is flagged
|
|
as a Junior with chat disabled. Force-true via the client mod (default
|
|
behavior) or fix it server-side in admin.
|
|
- `Received malformed RecNet response`: the `/api/sanitize/v1` endpoint
|
|
returned the wrong shape. Should be a bare JSON-quoted string. See
|
|
`SanitizeController.cs`.
|
|
|
|
## Easy app
|
|
|
|
### "Cloudflared exited unexpectedly"
|
|
|
|
The bundled `cloudflared.exe` couldn't start. Most likely a Windows
|
|
Defender false-positive — check Defender's quarantine. If you find a
|
|
cleaner alternative tunnel provider, open an issue; we've been looking
|
|
for one.
|
|
|
|
### Patch button is greyed out
|
|
|
|
DorkNet didn't find a Rec Room install at the path you selected. Make
|
|
sure you pointed at the *folder* containing `Recroom_Release.exe`, not
|
|
the exe itself, and that `Recroom_Release_Data/` exists alongside.
|
|
|
|
### Mode switch lost my server data
|
|
|
|
Switching from Host mode → Join mode preserves the SQLite database; it
|
|
just stops auto-starting the server. Switch back to Host mode and your
|
|
players / rooms / images are still there.
|
|
|
|
If the data really is gone, check `%APPDATA%\DorkNet\dorknet.db` — that
|
|
file is the entire host-side state, easy to copy elsewhere as a backup.
|