Commit Graph

45 Commits

Author SHA1 Message Date
Alexa a8d7ab4944 feat: Add tests for room visit visibility and bootstrap logic; update versioning and image references 2026-07-03 22:05:20 +03:00
Alexa 77e5ef5678 Merge branch 'march-2023-03-21' of https://github.com/DorkSquadRR/DorkNet into march-2023-03-21 2026-07-02 10:37:36 +03:00
Alexa 0986a0a118 feat: Enhance room image handling by introducing default image and updating display logic; add unit tests for image resolution 2026-07-02 10:37:34 +03:00
Alexa 628f430645 Add Charades word lists management, profanity filter, and matchmaking routes (#41)
* feat: add 3D Charades word lists management and profanity filter toggle

- Implemented Charades word lists management in the admin UI, allowing for unlimited named word lists with difficulty settings.
- Added functionality to bind live card slots to specific word lists, with automatic fallback to built-in lists.
- Introduced a profanity filter toggle in server settings, enabling or disabling the server-side profanity filter.
- Updated database schema to support new features, including additional columns for profanity filter status and charades slot bindings.
- Enhanced documentation to reflect new features and their usage.

* feat: add identityserver-signing.pfx to .gitignore

* feat: add new matchmake routes for player, event, club, and code
2026-07-02 10:11:18 +03:00
Alexa fbfabaf26e feat: Update README with branch version and single-server defaults; enhance inventory and room handling for equipped items 2026-06-28 02:15:58 +03:00
Alexa 7da20f2047 feat: Update appVersion to 2023.03.21 and enhance avatar-item linkage in store service 2026-06-28 01:31:21 +03:00
Alexa 44fc9047e0 feat: Make S3 bucket names configurable via environment variables 2026-06-25 14:04:36 +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 38fbd0faf1 Refactor room data blob handling and permissions
- Updated the RoomsController to utilize synthetic CDN keys for data blobs.
- Introduced methods for determining current or synthetic data blob names.
- Adjusted room role permissions to align with new game role definitions.
- Enhanced the SanitizeController with a new endpoint for purity checks.
- Modified Match and PlayerPresence services to handle deferred presence commits.
- Improved RoomDataBlobService to support new game role and tool tag settings.
- Added support for boot dorm grace period in PlayerPresenceService.
- Updated protobuf definitions to reflect new room role and game role structures.

You are now able to go into dorm and the rec center!
2026-06-24 12:02:13 +03:00
Alexa 02f7bc386d feat: Enhance UgcPurchasablesController to handle bulk requests with object arrays
- Updated Bulk method to parse incoming JSON object arrays for UGC item IDs.
- Introduced ReadBulkIdsAsync to handle both object arrays and flat GUID lists.
- Added synthetic placeholder responses for missing UGC items to prevent client errors.

feat: Implement MatchmakeRoom and MatchmakeSubRoom endpoints in GoToController

- Added MatchmakeRoom and MatchmakeSubRoom methods to facilitate joining public and sub-rooms by numeric ID.
- Enhanced ApplySubRoomMutation to ensure proper state transitions for sub-rooms.
- Improved logging for matchmaking actions.

fix: Refactor PlayerSettingsController to handle database save exceptions

- Introduced SaveSettingsChangesAsync to manage DbUpdateException for busy SQLite scenarios.
- Updated methods to call SaveSettingsChangesAsync instead of direct SaveChangesAsync.

chore: Update URL coverage documentation for new matchmaking endpoints

- Documented new MatchmakeRoom and MatchmakeSubRoom endpoints in url-coverage.md.

chore: Add default room data file for room loading

- Included default_room.room to serve as a fallback for missing room data.

fix: Improve SQLite concurrency handling in DatabaseBootstrap

- Configured SQLite to use WAL mode and set a busy timeout for better concurrency.

chore: Create SqliteErrors utility for handling SQLite exceptions

- Added SqliteErrors class to encapsulate logic for detecting busy SQLite exceptions.

refactor: Update RoomDataBlobService to serve default room data

- Modified GetDefaultBlob to load and serve a default room blob with proper role data.
2026-06-23 20:54:29 +03:00
Alexa df73507ee9 feat: Enhance API endpoints with pagination and new subscription details for players 2026-06-23 00:21:58 +03:00
Alexa 70980bf3b6 feat: Add new API controllers for progression events, room consumables, currencies, earnings distributions, screen share reports, subscription seasons, and UGC purchasables
- Implemented ProgressionEventsController to handle progression event retrieval and active events.
- Created RoomConsumablesController for listing and purchasing room consumables.
- Developed RoomCurrenciesController for managing room currencies, including creation, updates, and balance retrieval.
- Added RoomEarningsDistributionsController to fetch earnings distribution data for rooms.
- Introduced ScreenShareReportsController for reporting screen share incidents.
- Established SubscriptionSeasonsController to provide current subscription season details and rewards.
- Launched UgcPurchasablesController for managing user-generated content purchasables, including bulk operations.
- Added new data entities for customization and room economy, including custom avatar items, room currencies, and UGC purchasables.
2026-06-22 16:08:23 +03:00
Alexa fa7486915b Fix notification URLs in HTTP deployments
Fixes #19 by making the December server advertise notification and service URLs with the configured deployment scheme.
2026-06-22 12:09:01 +03:00
Alexa a249a50952 Fix personal dorm blob recovery 2026-06-15 00:02:48 +03:00
Alexa 243a61ada1 feat: Update presence data handling and notification structure to use NameWire property 2026-06-14 23:35:38 +03:00
Alexa 64746cdaa2 feat: enhance player and photo functionalities with tagging, room details, and improved search 2026-06-07 10:58:10 +03:00
Alexa feccd439d4 feat: refactor equipment payload methods to unify handling and remove gift box specific logic 2026-06-07 10:39:08 +03:00
Alexa f27d16c4fe feat: implement self-healing for stale dorm scene locations to prevent infinite loading issues 2026-06-07 00:32:28 +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 73d77dffb6 feat: enhance inventory schema to support longer ItemSlug and add GiftBox equipment payload handling 2026-06-06 22:50:42 +03:00
Alexa 92bd22d164 feat: update PrivateInstanceService to include baseName in instance updates 2026-06-06 22:15:37 +03:00
Alexa 9b39c2e8e4 Refactor date handling: replace year 9999 with WireDates.FarFuture to prevent timezone-related parsing issues in player responses
aussie fix
2026-06-06 16:38:17 +03:00
Alexa 31c53b9070 Refactor presence tracking: replace OnlinePresenceService with PlayerPresenceService for improved activity management and streamline message handling logic 2026-06-06 00:37:19 +03:00
Alexa 4d58130acd Refactor PlayerPresenceController and NotifyHub: enhance online presence tracking and improve connection handling logic 2026-06-05 22:54:08 +03:00
Alexa 399930c6ab Refactor room visibility logic: enhance filtering criteria for public rooms and update related comments for clarity 2026-06-05 20:52:35 +03:00
Alexa 4d14ede3dc Enhance global friends functionality: suppress auto-generated placeholder accounts in synthesized friend lists and update documentation for clarity. 2026-06-04 14:53:12 +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 376f7e917c Refactor image fallback logic in RoomService: update comments for clarity and improve image resolution checks for S3 storage. 2026-06-03 12:02:23 +03:00
Alexa 13351a1847 Update room image references: replace old image names with new identifiers for Paintball, BowlingAlley, and Park 2026-06-03 11:58:01 +03:00
Alexa 3f4a1b0eb0 Update Crescendo image references: replace old image name with new identifier across multiple files 2026-06-03 11:42:42 +03:00
Alexa 0011ae1039 Enhance room bulk lookup: add support for ID-based queries and improve result handling; refactor GoToController for presence management and logging; update join timeout service to handle presence deferral; add Crescendo image asset. 2026-06-03 10:53:44 +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 d2bf57a20c Add debug console management: implement configuration for enabling the built-in debug console; bypass CheatManager tamper detection; update README and install script for opt-in usage 2026-06-02 23:50:51 +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 f1a616e9c1 Refactor room data handling: standardize timestamp usage with savedAt variable; ensure editable persistence version for room role data 2026-06-02 15:51:11 +03:00
Alexa 143d3a9a07 Refactor room role permissions: enhance role checks for saving and overlaying data; introduce editable role data for RRO rooms 2026-06-02 15:40:53 +03:00
Alexa c4e22e1326 Add JoinTimeoutService to manage pending room joins and handle timeouts 2026-06-02 11:11:55 +03:00
Alexa 24c8a920e4 Refactor moderation notifications: replace NotifyAsync with KickPlayerAsync for player kicks in InGameModerationController and AdminController; update NotificationService to streamline moderation kick payloads. 2026-06-02 02:48:04 +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 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 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