dependabot[bot] d87b0fe505 chore(deps): bump the minor-and-patch group with 4 updates (#88)
Bumps the minor-and-patch group with 4 updates: [fastapi](https://github.com/fastapi/fastapi), [tinycss2](https://github.com/Kozea/tinycss2), [datamodel-code-generator](https://github.com/koxudaxi/datamodel-code-generator) and [ruff](https://github.com/astral-sh/ruff).


Updates `fastapi` from 0.121.3 to 0.122.0
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.121.3...0.122.0)

Updates `tinycss2` from 1.5.0 to 1.5.1
- [Release notes](https://github.com/Kozea/tinycss2/releases)
- [Changelog](https://github.com/Kozea/tinycss2/blob/main/docs/changelog.rst)
- [Commits](https://github.com/Kozea/tinycss2/compare/v1.5.0...v1.5.1)

Updates `datamodel-code-generator` from 0.35.0 to 0.36.0
- [Release notes](https://github.com/koxudaxi/datamodel-code-generator/releases)
- [Commits](https://github.com/koxudaxi/datamodel-code-generator/compare/0.35.0...0.36.0)

Updates `ruff` from 0.14.6 to 0.14.7
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.6...0.14.7)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-version: 0.122.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: tinycss2
  dependency-version: 1.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: datamodel-code-generator
  dependency-version: 0.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: ruff
  dependency-version: 0.14.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-30 12:06:09 +08:00
2025-11-30 00:43:33 +08:00
2025-08-26 13:18:11 +08:00
2025-10-12 02:52:22 +08:00
2025-09-17 01:01:33 +08:00

g0v0-server

Python 3.12+ ruff CodeFactor pre-commit.ci status license discord

简体中文 | English

This is an osu! API server implemented with FastAPI + MySQL + Redis, supporting most features of osu! API v1, v2, and osu!lazer.

Features

  • OAuth 2.0 Authentication: Supports password and refresh token flows.
  • User Data Management: Complete user information, statistics, achievements, etc.
  • Multi-game Mode Support: osu! (RX, AP), taiko (RX), catch (RX), mania and custom rulesets (see below).
  • Database Persistence: MySQL for storing user data.
  • Cache Support: Redis for caching tokens and session information.
  • Multiple Storage Backends: Supports local storage, Cloudflare R2, and AWS S3.
  • Containerized Deployment: Docker and Docker Compose support.

Supported Rulesets

Ruleset ID ShortName PP Algorithm (rosu) PP Algorithm (performance-server)
osu! 0 osu
osu!taiko 1 taiko
osu!catch 2 fruits
osu!mania 3 mania
osu! (RX) 4 osurx
osu! (AP) 5 osuap
osu!taiko (RX) 6 taikorx
osu!catch (RX) 7 fruitsrx
Sentakki 10 Sentakki
tau 11 tau
Rush! 12 rush
hishigata 13 hishigata
soyokaze! 14 soyokaze

Go to custom-rulesets to download the custom rulesets modified for g0v0-server.

Quick Start

  1. Clone the project

    git clone https://github.com/GooGuTeam/g0v0-server.git
    cd g0v0-server
    
  2. Create a .env file

    Please see wiki to modify the .env file.

    cp .env.example .env
    
  3. (Optional) Download rulesets Go to custom-rulesets to download the custom rulesets modified for g0v0-server. Place the downloaded DLLs into the rulesets/ directory to enable custom ruleset support in the spectator server and performance calculator.

  4. Start the service

    # Standard server
    docker-compose -f docker-compose.yml up -d
    # Enable osu!RX and osu!AP statistics (Gu pp algorithm based on ppy-sb pp algorithm)
    docker-compose -f docker-compose-osurx.yml up -d
    
  5. Connect to the server from the game

    Use a custom osu!lazer client, or use LazerAuthlibInjection, and change the server settings to the server's address.

Updating the Database

Refer to the Database Migration Guide

Security

Use openssl rand -hex 32 to generate the JWT secret key to ensure the security of the server and the normal operation of the observer server.

Use openssl rand -hex 40 to generate the frontend secret key.

If it is in a public network environment, please block external requests to the /_lio path.

Documentation

Visit the wiki for more information.

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-only).
Any derivative work, modification, or deployment MUST clearly and prominently attribute the original authors:
GooGuTeam - https://github.com/GooGuTeam/g0v0-server

Contributing

The project is currently in a state of rapid iteration. Issues and Pull Requests are welcome!

See Contributing Guide for more information.

Contributors

All Contributors

Thanks goes to these wonderful people (emoji key):

咕谷酱
咕谷酱

💻
MingxuanGame
MingxuanGame

💻
陈晋瑭
陈晋瑭

💻
4ayo
4ayo

🤔
kyiuu1
kyiuu1

🤔

This project follows the all-contributors specification. Contributions of any kind welcome!

Discussion

Description
No description provided
Readme AGPL-3.0 3.6 MiB
Languages
Python 99%
HTML 0.6%
Shell 0.2%
Dockerfile 0.1%
Mako 0.1%