Quota, DOS protection, or verification for the game relay server
- Dominant language
- Haskell
- Stars
- 1.3k
- Forks
- 201
- PR merge metrics
- No merged PRs in 30d
Description
It strikes me as a little dangerous to be running an open websocket relay server with no verification of its intended uses. Scenarios to think about:
1. Kid writes a cool game, shares on YouTube or something, it "goes viral", suddenly we have millions of connections.
2. Someone finds the protocol documentation, and decides to use it for their own unrelated shady commercial service, and suddenly we're handling millions of connections that aren't even about CodeWorld at all.
3. Someone thinks it's funny to take the system down, creates a session with 2000 players (because the work grows quadratically with the number of clients), and floods it with traffic from malware-infested systems.
It would be good to think about some of these issues. They are not pressing yet, but I'd rather they don't become pressing in the middle of the night!
Contributor guide
Research direction
Review the open websocket relay server and its protocol documentation, focusing on the stated risks around unverified use, connection volume, large sessions, and quadratic client work. Define a concrete protection approach and measurable limits before implementation. Done means the relay has agreed safeguards against unexpected or abusive load, with verification or quota behavior documented.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100