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:
11 files changed
+580
-6
No files matched your search
@@ -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"));
|
||||
|
||||
Reference in new issue
Block a user