/onecho

A single-file, dependency-less osu! server implementation.

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

onecho

A single-file, dependency-less osu! server implementation.

Rules

This project follows three 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) library allowed to make the game funnier.
  • Haveing fun.

Progress

Current project progress.

Logger:

  • Coloured logging
  • Logging of INFO, WARNING, ERROR.
  • Optional debug logging

Database:

  • Database object which supports adding dicts and lambda searching
  • Support removing rows.
  • Database loading from JSON
  • Database saving into JSON
  • Database Indexes
  • Database Ordering

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 Actions
  • Private Chat
  • Public Chat
  • Spectator
  • Channel