dependabot[bot] 18574587e3 chore(deps): bump the minor-and-patch group with 7 updates (#98)
Bumps the minor-and-patch group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [fastapi](https://github.com/fastapi/fastapi) | `0.124.0` | `0.126.0` |
| [newrelic](https://github.com/newrelic/newrelic-python-agent) | `11.1.0` | `11.2.0` |
| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.20` | `0.0.21` |
| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.44` | `2.0.45` |
| [datamodel-code-generator](https://github.com/koxudaxi/datamodel-code-generator) | `0.41.0` | `0.46.0` |
| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.0` | `4.5.1` |
| [ruff](https://github.com/astral-sh/ruff) | `0.14.8` | `0.14.10` |


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

Updates `newrelic` from 11.1.0 to 11.2.0
- [Release notes](https://github.com/newrelic/newrelic-python-agent/releases)
- [Commits](https://github.com/newrelic/newrelic-python-agent/compare/v11.1.0...v11.2.0)

Updates `python-multipart` from 0.0.20 to 0.0.21
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21)

Updates `sqlalchemy` from 2.0.44 to 2.0.45
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

Updates `datamodel-code-generator` from 0.41.0 to 0.46.0
- [Release notes](https://github.com/koxudaxi/datamodel-code-generator/releases)
- [Changelog](https://github.com/koxudaxi/datamodel-code-generator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/koxudaxi/datamodel-code-generator/compare/0.41.0...0.46.0)

Updates `pre-commit` from 4.5.0 to 4.5.1
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v4.5.0...v4.5.1)

Updates `ruff` from 0.14.8 to 0.14.10
- [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.8...0.14.10)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-version: 0.126.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: newrelic
  dependency-version: 11.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: python-multipart
  dependency-version: 0.0.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: sqlalchemy
  dependency-version: 2.0.45
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: datamodel-code-generator
  dependency-version: 0.46.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: pre-commit
  dependency-version: 4.5.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: ruff
  dependency-version: 0.14.10
  dependency-type: direct:development
  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-12-21 16:40:16 +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%