咕谷酱 b4fd4e0256 Handle rate limit errors in BeatmapsetFetcher
Introduces RateLimitError to manage 429 responses from the API, updating request_api to raise this error and adding handling in prefetch and warmup logic to skip or log when rate limits are hit. Also improves error handling for authentication failures and token expiration.
2025-08-26 13:18:11 +08:00
2025-08-18 12:16:22 +00:00
2025-08-22 00:06:13 +08:00
2025-07-28 13:09:55 +00:00
2025-08-10 07:07:33 +00:00
2025-08-22 10:06:26 +00:00

g0v0-server

简体中文 | 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.
  • 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.

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. Start the service

    # Standard server
    docker-compose -f docker-compose.yml up -d
    # Enable osu!RX and osu!AP statistics (ppy-sb pp algorithm)
    docker-compose -f docker-compose-osurx.yml up -d
    
  4. 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

License

MIT License

Contributing

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

See Contributing Guide for more information.

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%