mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-26 07:28:45 -07:00
Add initial documentation and structure for DorkNet project
- 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
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user