Commit Graph
15 Commits
Author SHA1 Message Date
neckfireandClaude Opus 4.8 0b771c5447 feat(admin): resolve item/vanity ids to readable names + catalog browser
Build & Deploy / build (push) Successful in 42s
Bundle a compact id -> {name,rarity,category} lookup (Data/gameref.json, 1177 entries,
built from community-datamined TCF-Wiki data) and a GameRefService. The admin back-office
now shows readable names + coloured rarity for inventory items instead of raw ids, and a
new /admin/catalog page browses the known game catalog (searchable, by category).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 11:19:14 +02:00
neckfireandClaude Opus 4.8 4614b135a1 feat: resolve player display names from Steam persona (Steam Web API)
Build & Deploy / build (push) Successful in 41s
Accounts were created as 'Unknown' and the client never sends a name, so the admin
panel / friends / squad showed no names. Add SteamWebApiService (GetPlayerSummaries),
wired into LoginWithSteam to backfill the DisplayName from the Steam persona when it's
still 'Unknown'. Admin gets a LAN-only /admin/backfill-names action (+ button) to
backfill existing accounts in one shot. Key read from config SteamWebApiKey (Vault ->
env), inert when unset.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 10:25:52 +02:00
neckfireandClaude Opus 4.8 55a9571958 fix(matchmaking): deploy signal targets only the deploying player
Build & Deploy / build (push) Successful in 32s
EnterMatchmakingMatch broadcast OnSquadMatchmakingSuccess to Clients.All,
so one player deploying pulled every connected player into the match.
Map each player to their SignalR connection (GetSignalRConnection tags the
URL with uid; CycleHub records it via a SignalRConnectionRegistry) and
send the deploy signal only to that connection (broadcast fallback if
unmapped). Also enable m_automaticImportPlatformFriends (Steam friends).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 17:56:22 +02:00
neckfireandClaude Opus 4.8 0588849e4c feat(squad): in-memory squad/lobby state + wire squad functions
Build & Deploy / build (push) Successful in 31s
Adds SquadService (singleton, process-local) tracking squads by the
squadId the client shares across party members, plus a user->squad index
so TryGetCompleteSquadInfo (no squadId in request) can resolve the
caller's squad. Members are lazily registered on any squad call.

- TryGetCompleteSquadInfo: returns the caller's real squad.
- SquadMemberReadyForMatch: joins the squad, records readiness/map,
  returns the squad + whether everyone is ready.
- SquadMemberSelectedMap: records the member's selected map.
- DbUserService.FindByIdAsync: resolve display name for squad members.

Groundwork for the station lobby; assumes the client drives squads via
these calls with a shared squadId (to confirm with a 2-client session).
Real-time SignalR push (unknown event names) deferred; the squad is
carried in responses + TryGetCompleteSquadInfo for now.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 15:34:43 +02:00
Yury 2fb730cb8c Temporary disable HTTPS redirection 2025-03-31 01:31:46 +03:00
Yury 280b87314c Push changes 2025-02-24 01:06:32 +02:00
AeonLucid 93926eedf8 Add more CloudScript functions, start of EnterMatchmaking 2022-01-07 22:29:20 +01:00
AeonLucid 27649724c8 Add QoS beacon 2022-01-07 07:09:55 +01:00
AeonLucid 2f01cf7411 Convert to new namespace stuff and implicit usings 2022-01-07 06:07:05 +01:00
AeonLucid e0010e1d31 Now able to enter the lobby 2021-11-04 06:29:58 +01:00
AeonLucid 667d19e9f2 Implement UserData and TitleData 2021-11-03 21:29:54 +01:00
AeonLucid e5e3e7dff3 JWT Authentication 2021-11-01 18:27:08 +01:00
AeonLucid 505ae8b2f8 Added mongodb as database 2021-11-01 00:53:04 +01:00
AeonLucid bcc675489e Add PlayFab Client endpoints 2021-10-31 03:30:17 +02:00
AeonLucid 560a39a70b Add DLL to modify PlayFab url 2021-10-30 04:40:10 +02:00