Skip to content
FLICKED Docs
Alpha · Working end to end on a real server

Competitive CS2.
Self-hosted.

FLICKED is a free, open-source platform for running your own CS2 ladder: matchmaking, parties, ratings, match history and demos. You bring the servers. FLICKED finds the players, makes the match, tells one of your servers to run it, and records what happened.

Run it locally
# 1. the database
docker compose up -d

# 2. the backend, on http://localhost:5165
cd backend/Flicked.Api && dotnet run --launch-profile https

# 3. the launcher
cd launcher && npm install && npm run tauri dev

What FLICKED does#

Matchmaking

Queue solo or with a party and get matched with players of a similar rating. The window widens the longer you wait.

Map vote

Everyone accepts, then everyone votes. The highest vote wins and ties are settled at random.

Server pool

Owners register their CS2 servers once. FLICKED hands one out per match and takes it back when the match ends.

Ratings and history

Every match updates ratings and is kept, with its demo. A win never loses you rating.

Parties

Invite friends and queue as one. Parties are always drafted whole onto the same team.

Self-hosting

One docker compose up for the database, and the API migrates itself on startup.

What it does not do#

Being clear about this saves everyone time.

No server hosting

It coordinates CS2 servers you already run. It does not create or host them.

No anti-cheat

Use a community anti-cheat on your servers if you need one.

Not a Valve service

It has nothing to do with official CS2 matchmaking.

Why these lines are drawn where they are is written down in Roadmap & decisions.

The pieces#

Four programs and a database. The backend owns every decision; everything else asks it.

PartBuilt withWho uses it
LauncherRust + Tauri, React and TypeScript in the webviewPlayers: queue, friends, parties, history
BackendC# and .NET 10 (ASP.NET Core), EF CoreEveryone, indirectly. Every rule lives here
DatabasePostgreSQLThe backend only
DashboardNext.js and TailwindAdmins: the server pool and the news feed
WebsiteNext.js and TailwindAnyone
CS2 sideMetamod, CounterStrikeSharp and MatchZyYour game servers

Explore the docs#

Project status#

The whole path works end to end, on a real server, with real people: two players signed in through Steam, queued, accepted, voted a map, and CS2 connected them itself. The match finished and the result was written to Postgres.

Steam sign-in, tokens held in Rust

Server pool with leases

Matchmaking, accept and map vote

Results reported back by MatchZy

Parties and rating (merged and tested)

Short-handed matches for small groups

News feed written from the dashboard

Deployment guides for Windows and Linux

Parties and rating are merged, tested and deployed, but have not yet been proven in a live match. The known gaps list is an honest account of what is wrong today, and a good place to start if you want to contribute.

Esc
↑↓ navigate ↵ open