Skip to main content

Overview

BeatLeader is an alternative competitive platform for Beat Saber that provides detailed score analytics and replay capabilities. ScoreSaber Reloaded integrates with BeatLeader to offer enhanced score statistics, hand accuracy tracking, and replay storage for tracked players.

What is BeatLeader?

BeatLeader provides:
  • Detailed score statistics and breakdowns
  • Hand accuracy tracking (left/right hand)
  • Full combo (FC) accuracy calculations
  • Score improvement tracking
  • Replay file storage and viewing
  • Advanced performance metrics

How SSR Integrates

API Service

SSR uses a dedicated BeatLeader API service with rate limiting:
From: common/src/api-service/impl/beatleader.ts:8-16

Score Stats Endpoint

The service fetches detailed score statistics from BeatLeader’s CDN:
From: common/src/api-service/impl/beatleader.ts:6-38

Data Synchronized

Score Statistics

BeatLeader provides comprehensive score statistics that SSR tracks for each play:
  • Base metrics: Score, accuracy, misses
  • Hand accuracy: Separate tracking for left and right hand
  • FC accuracy: Theoretical accuracy if full combo was achieved
  • Miss breakdown: Missed notes, bad cuts, bomb hits, wall hits
  • Pauses: Number of pauses during the play
  • Full combo status: Whether the score was a full combo
From: backend/src/service/beatleader.service.ts:105-128

Score Improvements

When a player improves their score, BeatLeader tracks the improvement delta:
From: backend/src/service/beatleader.service.ts:130-147

Replay Storage

Automatic Replay Archival

SSR automatically downloads and stores replays for:
  • All scores from players with replay tracking enabled
  • All top 50 global scores
From: backend/src/service/beatleader.service.ts:153-173

Replay Access

Replays can be accessed through the API:
From: backend/src/controller/beatleader.controller.ts:27-46

API Endpoints

Score Stats

Fetch detailed score statistics for a specific score:
Parameters:
  • scoreId (number): The BeatLeader score ID
Returns: ScoreStatsResponse containing current and previous score statistics
From: backend/src/controller/beatleader.controller.ts:12-26

Replay Download

Redirect to the raw replay file:
Parameters:
  • scoreId (string): Score ID in format {id}.bsor
Returns: Redirect to the replay file URL

Score Comparison

SSR can compare a player’s current score with their previous attempt:
From: backend/src/service/beatleader.service.ts:217-242

Tracking Criteria

BeatLeader scores are only tracked for players who are already being tracked in the SSR database. This prevents storing data for every BeatLeader player globally.
From: backend/src/service/beatleader.service.ts:81-97

Caching

BeatLeader data is cached to improve performance:
From: backend/src/service/beatleader.service.ts:64-74

Discord Integration

Failed replay saves are logged to Discord for monitoring:
From: backend/src/service/beatleader.service.ts:165-169

Benefits

Integrating with BeatLeader provides:
  1. Enhanced Analytics: Detailed hand accuracy and miss breakdowns
  2. Replay Preservation: Long-term storage of replay files
  3. Score Improvement Tracking: Track progress over multiple attempts
  4. Full Combo Analysis: See what accuracy you could achieve with FC
  5. Historical Data: Compare current performance with past plays

Best Practices

Enable replay tracking for players whose replays you want to preserve long-term, as BeatLeader replays may not be available indefinitely.
Replay storage requires significant disk space. Only enable tracking for players who actively use the feature.