We Built RDSC, a Results Site for Competitive Battlefield REDSEC
EA runs Battlefield REDSEC Cash Cups every week across the Americas, EMEA and APAC. The first one, on 19 September, drew 227 squads across the three regions. Once a cup ended, you had nowhere to look up who placed where, who dropped the most kills, or which squads keep turning up in the top ten. So we built RDSC, a results site for Battlefield REDSEC, at rdsc.gg.
What's on it
- Results down to the single game. Every cup breaks into rounds, lobbies and games. A lobby page shows each squad's placement and kills in each game, with the map. A match page has the scoreboard and awards: most kills, damage, assists, revives and headshots.
- Live match days. While a cup runs, its points table updates in place, and the page lists which competitors are live on Twitch.
- A power ranking per region. Each region gets its own table, and a world table pools them.
- Squad and player profiles. Squads get placement charts, recent form and conversion rates from top ten to top five to win. Players get Impact, which indexes kills, damage and revives against the field with 100 as the median, and Carry, which compares a player's Impact to their teammates'.
- A schedule. Upcoming cups show the prize pool, when signups close and which ranked squads have entered. We read the organizer's signup sheet once an hour.
As of this week the site tracks 17 events, 304 squads and 885 players, including older RallyCry and Fireteam partner cups back to March.
Every number shows where it came from
We store one fact per squad per game: where it placed and how many kills it took. The site works out points from the cup's scoring rule each time you load a page, so fixing a wrong result means editing one row, and every table that uses it updates. Each lobby page prints its scoring rule, who supplied the data, and any corrections with a date and a reason.
No single feed covers all of this. Cash Cup brackets come in from Battlefy. Everything else arrives through staging tables, whether it's a table someone pasted in or a spreadsheet filled in with a VOD open. We review each batch and apply it in one database transaction, so a bad import never leaves half a result on the site.
The ranking
The power ranking scores each result as the share of available points a squad took in that game, then weighs it by:
- event tier, so Cash Cups count for far more than partner cups
- age, with a result losing half its weight every 90 days
- roster continuity, so a rebuilt squad doesn't inherit its old results in full
- stage, so a final counts for more than an opening round
- the strength of the lobby the result came from
A squad needs ten games in the last twelve months to get a rating, which in practice means reaching at least the second round of a cup. Ratings sit on a fixed 3000-point scale, and a squad that won every game it played would score 3000. The world table adjusts for field size, so topping a region of 46 squads counts for less than topping a region of 93.
We had a long methodology page at launch. When the code moved past it, we took it down, because a methodology that's half right is worse than none. It comes back once it matches the code again.
For streamers and builders
If you stream REDSEC, rdsc.gg/widget gives you an OBS overlay that picks up new results every five minutes, a Twitch panel image, and an embed for your own site.
Everything on the site is also JSON. The public API has 26 read endpoints under /api/v1, including a live stream of match-day standings. It needs no key or sign-up. We ask callers to identify themselves with an X-Client header and limit each IP to 40 requests a minute. The RDSC Discord bot runs on that same API, and building it turned up a region case-sensitivity bug we fixed before anyone else hit it.
Under the hood
RDSC is written in Rust. The server renders every page before it reaches you, and JavaScript only handles the small things, like search suggestions and live tables. Scoring and ranking live in their own library with no database access, so their tests run on their own. A separate worker recomputes the ranking and keeps signups and stream status current.
Paste a squad or player link into Discord and the preview card shows their current numbers. Pages for a live cup refresh within seconds, and finished history is cached close to you. The database is backed up off-site every night, and every backup is checked to prove it restores.
Work started on the night of 20 September, and the site went live on rdsc.gg two days later.
What's next
Cash Cup #2 runs on 26 September in all three regions, with #3 and #4 on the following Saturdays. The schedule on the site already counts down to it.
Find your squad at rdsc.gg. Spot a result that's wrong? Tell us in the Paz Studios Discord and we'll correct the result itself, with a note saying why.
RDSC is independent. EA and Battlefield Studios don't run, endorse or sponsor it.