Commit Graph

26 Commits

Author SHA1 Message Date
Alexa 9d33b1f4d6 feat: Add support for Studio single-room dumps in RoomZipImportController and update ImportRoom UI 2026-06-25 15:27:34 +03:00
Alexa 98fa7b89cf feat: Enhance domain configuration to support hyphen subdomains and update related methods 2026-06-25 11:46:34 +03:00
Alexa 312ecbbdc8 feat: Add account privacy settings endpoint
- Implemented new endpoints for retrieving account privacy settings.
- Added fields for privacy preferences such as profile visibility, online status, and activity visibility.

feat: Extend play menu tags functionality

- Updated PlayMenuTagsRequest to include TrendingTags.
- Modified SetPlayMenuTags to handle trending tags.
- Enhanced logging to include trending tags.

fix: Increase maximum archive size for room zip imports

- Updated MaxArchiveBytes from 12GB to 25GB in RoomZipImportController.

feat: Improve CDN image handling

- Added local image path resolution for room images.
- Implemented lazy loading of room image aliases from JSON file.

feat: Enhance match player presence resolution

- Updated ResolveDataBlobForPresenceAsync to consider sub-room IDs and private instance status.

feat: Extend RoomEntity with new properties

- Added AllowNewUsers, MinLevel, MaxPlayerCalculationMode, LoadScreensJson, PromoImagesJson, and PromoExternalContentJson fields.

feat: Update database schema for new room properties

- Added new columns to the Rooms table for AllowNewUsers, MinLevel, MaxPlayerCalculationMode, LoadScreensJson, PromoImagesJson, and PromoExternalContentJson.

feat: Implement platform notifications controller

- Created PlatformNotificationsController for managing user notification preferences.
- Added endpoints for retrieving and setting notification preferences and categories.
2026-06-25 01:23:57 +03:00
Alexa 35459fdfdd Match server branding to logo 2026-06-15 21:03:00 +03:00
Alexa 2b87f3d7c5 feat: Implement admin account deletion with confirmation and update documentation 2026-06-09 00:16:02 +03:00
Alexa 482c73e1bc feat: Implement adjustable room capacity and quest team size
- Added MaxCapacity property to RoomEntity and updated related controllers to utilize it.
- Modified RoomsController to set MaxPlayers based on room's MaxCapacity.
- Introduced QuestTeamSize class to dynamically adjust quest party sizes beyond the default limit.
- Updated DevMenu to include options for debugging and managing room settings.
- Created UI elements for adjusting MaxCapacity in the admin interface.
- Added configuration file for DevMenu with default settings.
2026-06-08 01:27:30 +03:00
Alexa 657402b613 feat: add endpoints to unlock all items for players, including cosmetics and hair dyes 2026-06-06 23:47:49 +03:00
Alexa eb2fb0e1f1 Enhance room role management: refactor role granting logic, add role invitation endpoints, and improve role handling in RoomsController and AdminController 2026-06-06 20:33:08 +03:00
Alexa fe1c2c53e3 Refactor leaderboard logic: incorporate room context into leaderboard stats and channel metadata handling 2026-06-05 23:55:26 +03:00
Alexa e2f169cdea Refactor RelationshipsController: merge relationship rows for accurate status representation and enhance gifting functionality in AdminController and Gift component 2026-06-04 15:55:59 +03:00
Alexa 8dfe4c8d63 Implement "Everyone is friends" toggle: add global friends functionality with server settings and UI integration 2026-06-04 13:40:15 +03:00
Alexa f581d03bec Add weekly challenge configuration management: implement types and functions for building and parsing weekly challenge configurations; enhance UI for challenge type and amount selection 2026-06-03 01:07:42 +03:00
Alexa ef440bedaa Add game configuration management: implement endpoints for retrieving and updating discovered game configurations; enhance database schema and UI integration 2026-06-02 17:14:39 +03:00
Alexa 810ba0992c Add Rec Center doors management: implement endpoints for retrieving and updating door configurations; enhance database schema and UI integration 2026-06-02 17:08:42 +03:00
Alexa 218d92f856 Implement Play Menu Tags management: add endpoints for retrieving and updating tags; enhance database schema and UI integration 2026-06-02 16:46:28 +03:00
Alexa a2feb780c2 Refactor image URL handling: streamline image and asset CDN URL generation using new utility functions 2026-06-02 15:57:55 +03:00
Alexa 7535cd823f Refactor admin UI for consolidated navigation and improved moderation workflow
- Updated Sidebar component to consolidate navigation items under new categories: Moderation, Content, and Operations.
- Removed outdated pages and integrated their functionalities into tabs under Players, Activity, Content, and Settings.
- Introduced new Activity and Content pages to house Audit, Player Logs, Community Board, and Loading Tips with tabbed navigation.
- Created a unified Moderation page combining Players, Bans, and Reports with tabbed navigation.
- Refactored individual pages (e.g., Audit, Bans, CommunityBoard, etc.) to support embedded mode for better integration within modals.
- Added Tabs component for consistent tab navigation across multiple pages.
- Updated README to reflect changes in navigation and settings structure.
- Removed Grants page as it is not yet implemented.
2026-06-02 10:49:35 +03:00
Alexa 96eb368d41 Refactor AvatarGiftsController: change ToWire method to public for external access; update AdminController to use ToWire for gift notifications 2026-06-02 02:39:29 +03:00
Alexa 27c560906f Enhance admin dashboard: add new player count, active sessions, and online player details; improve stats display and layout 2026-06-02 02:33:31 +03:00
Alexa 5dbcf50d37 Enhance room import functionality: support studio single-room dumps, improve zip parsing, and add validation for save entries 2026-06-02 02:22:38 +03:00
Alexa e18e167660 Enhance signup process: increase item fetch limit, update Join API to use password, and improve UI for account creation 2026-06-02 02:05:01 +03:00
Alexa e404ed8352 Fix live room and account updates 2026-06-01 20:55:43 +03:00
Alexa 3d089f6e32 admin: change a player's username from the Players panel
Add POST players/{id}/username + a Username field in the player detail's
Profile tab. Changes only the unique @handle (not the display name) and
rejects a collision outright rather than auto-suffixing, so the admin
gets the exact handle they typed. Same 2-24 char letters/digits/_/-
rule as the account API; logged to the audit trail as old -> new.
2026-05-31 20:52:11 +03:00
Alexa 3480ca21fa signup codes: admin-issued invite codes + site /join redemption
While account creation is disabled, the only way in is now an
admin-issued single-use signup code (Discord-invite style), redeemed on
the public site's /join page.

Because the 2020 watch login is device-id-bound with no code field, the
flow captures it server-side instead: a new device refused at the
signups-disabled gate (PlatformLogin / account create) is stashed in a
PendingDevices table keyed by the real client IP (CF-Connecting-IP aware).
The /join page then shows the player the device their own client just
reported, they enter their code + username, and the account is minted
bound to that device — so the next launch logs straight in via the
existing device-id path. No watch changes.

- SignupCodeEntity (code, descriptor, optional expiry, redeemer) +
  PendingDeviceEntity; idempotent CREATE TABLE in DatabaseBootstrap so
  both providers pick them up without a new migration.
- SignupCodeService: generate / list / revoke / redeem + pending-device
  capture, single-use + expiry + revoke validation.
- Admin: GET/POST signup-codes + revoke endpoints and a Signup codes
  admin-ui page (generate with descriptor/expiry, status table, revoke).
- Public: anonymous /api/site/v1/join pending-devices + redeem, and a
  /join site page (+ header link).
- README documents the flow + the post-Initial table-create approach.
2026-05-31 20:00:35 +03:00
Alexa c5db16eeb0 Port march fixes: Vite relative-base + ResolveType internal + park AuthValuesInjector
Three carry-overs from the march branch (commits 80cc4ce, cd9d105) and
the launcher-side Vite build fix, all applicable to december without
modification:

1. Vite admin-ui + site configs switch from `base: '/'` to `base: './'`.
   Built index.html now emits `<script src="./assets/...">` instead of
   `/assets/...`, so the Easy Launcher's single-origin path-prefix mode
   (`https://<apex>/__dn/admin/`) resolves assets under the prefix
   instead of skipping it and 404'ing on the wrong server host.

2. Mod.ResolveType promoted from private to internal so PhotonPatches'
   and SavePatches' local FindGameType helpers can delegate to the
   broader assembly-scan fallback (was misssing IL2CPP-mangled type
   names like the literal "PhotonNetwork"). Both helpers collapse to
   one-line `=> Mod.ResolveType(name);`.

3. Parked AuthValuesInjector_Prefix into
   DorkNet.ClientMod/attic/AuthValuesInjector.cs.attic. In december
   this method was defined but **never wired to a harmony hook** in
   OnLateInitializeMelon, so it was effectively dead code. Removed
   the method + GetCurrentLockToken helper + Cfg.InjectAuthValues
   field + LoadConfig reader + log mention. The .cs.attic suffix
   keeps the SDK's auto-globber from compiling the parked file.
   Restore notes inside the attic file describe how to re-enable —
   for december the suggested hook is a postfix on
   PUNNetworkManager.EMGGKBALALH (mutate the AuthValues there)
   instead of march's NetworkingPeer.CallAuthenticate which never
   fires in IL2CPP.
2026-05-28 14:18:59 +03:00
Alexa 4edf25b2d5 Import december-2020-12-18 from private repo (scrubbed 2026-05-27)
Targets Rec Room 2020.12.18 client.

Re-import after adding:
- DorkNet.ClientMod/dorknet-clientmod.json.template — config schema
  the launcher's manifest-driven patcher renders into UserData/.
- tools/build-patcher-zip.ps1 — produces the dorknet-clientpatch-{key}.zip
  Release asset the launcher fetches.
- .github/workflows/release.yml — auto-publishes both Release assets
  on v1-december-* tag push.

Scrubbed via maintainer-side scrub-for-public.ps1: same drop rules as
the prior import, plus build-patcher-zip.ps1 added to the tools/
allow-list so it survives the scrub.
2026-05-27 01:04:12 +03:00