Rewards beyond titles: bundles on quests, achievements and rank milestones; panel-side money/chunks/badges; delivery queue

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DjMbLQujBHunCCu5GpsHaT
This commit is contained in:
Claude committed 2026-10-01 00:55:18 +00:00
1 parent c37cde5cc8
commit 209ade0119
11 files changed
+580 -6

No files matched your search

+12
View File
@@ -23,6 +23,18 @@ async fn main() -> anyhow::Result<()> {
let state = build_state(cfg, pool).await?;
bootstrap_admin(&state).await?;
scopenet_panel::routes::discord::spawn_worker(state.clone());
// Earned rewards are applied within seconds even when no game server happens to be polling.
{
let state = state.clone();
tokio::spawn(async move {
loop {
tokio::time::sleep(std::time::Duration::from_secs(5)).await;
if let Err(e) = scopenet_panel::rewards::process_queue(&state).await {
tracing::warn!("reward queue failed: {:?}", e.message);
}
}
});
}
let listener = tokio::net::TcpListener::bind(&bind).await?;
tracing::info!("SCOPENET panel v{} listening on http://{bind}", env!("CARGO_PKG_VERSION"));