Discord X / Twitter
← Back to blog

We Built RDSC, a Results Site for Competitive Battlefield REDSEC

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

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:

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.

Enjoyed this post?

Check out more gaming and development insights on our blog.