Radicade Public Code

This commit is contained in:
JogmansonReal
2026-10-16 23:33:13 -07:00
commit 55175acdf6
832 changed files with 363261 additions and 0 deletions
+96
View File
@@ -0,0 +1,96 @@
# Weekly challenges and RadAdmin
The player routes are GET `api/challenge/v2/getCurrent` and POST
`api/challenge/v2/updateProgress`, also under `econ/`. Both require player auth.
The server stores progress in `WeeklyChallenges`, keyed by player and map ID.
The new `20261008120000_AddWeeklyChallenges` migration is applied by the existing
server startup migration step. This work has not been deployed or game-tested.
## Add-A-Challenge
RadAdmin's Challenges page saves library entries through the existing
`/admin/panel/challenges` CRUD API. A gameplay preset generates the client config;
names, descriptions and tooltips are editable. The initial supported presets are
single-event goals: finish an activity, tag a player, defeat an AI enemy, capture
a flag, and block with a shield. Count/streak and arbitrary legacy configs are
not yet supported by the weekly validator.
## Publishing a weekly
Open **Challenges**, choose the current week or one of the next three weeks, and:
1. Enter the display title and duplicate-item token amount (1–10,000).
2. Search Equipment skins or Avatar items and select the exact catalog item.
3. Select three to five library challenges. Create any missing goals with New challenge.
4. Leave Published checked and click Publish weekly. Uncheck it and save to disable the week.
An unscheduled week has no challenges or reward. There is no built-in lineup or reward
rotation. Existing saved schedules remain supported. Publish the current week after
upgrading if it previously used the old automatic rotation.
GET `/admin/panel/weekly-challenges` returns four `weeks`, with map IDs, dates,
content and `Revision`. GET `/admin/panel/weekly-challenges/rewards` returns searchable
catalog choices with `key`, `kind`, `name`, and `detail`. POST the schedule:
```json
{
"ChallengeMapId": 100000,
"Revision": "revision from GET, or empty for a new schedule",
"Title": "Weekly Challenges",
"Enabled": true,
"ChallengeIds": [1, 2, 3],
"RewardKey": "exact key returned by the reward catalog endpoint",
"FallbackTokens": 300
}
```
All admin routes use existing admin-key validation and RadAdmin's same-origin proxy.
The server resolves the reward against its loaded catalog; arbitrary gift payloads