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:
Alexa
2026-05-21 13:26:46 +03:00
commit bcc5fe1bcb
18 changed files with 1752 additions and 0 deletions
+96
View File
@@ -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.