A single-file, dependency-less osu! server stack implementation.
This project follows four core rules:
- All code must be in a single Python file.
- No modules may be used outside of the Python standard library (meaning many things must be implemented by us)
- No
re(regex) orsqlite3library allowed to make the game funnier. - Haveing fun.
Current project progress.
Logger:
- Structured Logging
- Logging of INFO, WARNING, ERROR.
- Optional debug logging
Database:
- Read and write CSV format.
- Support for multiple tables.
- Object serialisation.
- Automatic synchroniation
HTTP:
- Async HTTP Server
- Host based domain routing
- Async HTTP Client
Packets:
- Binary Writer
- Binary Reader
- Builder API for writer
- Packet registration router
- Packet registration decorator
Bancho:
- User Login
- User Logout
- User Actions
- Server Bot
- Lobby
- User Relationships
- Private Chat
- Public Chat
- Spectator
- Match
- Channel
Avatar:
- Avatar serving
Commands
- Command framework for chat commands
- Roulette
- Blackjack
- (OPTIONAL) Use NP to calculate the PP of the current map
- Slots