Files
g0v0-server/README.md
2025-08-28 14:28:49 +00:00

2.8 KiB
Raw Blame History

g0v0-server

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

简体中文 | English

这是一个使用 FastAPI + MySQL + Redis 实现的 osu! API 模拟服务器,支持 osu! API v1, v2 和 osu!lazer 的绝大部分功能。

功能特性

  • OAuth 2.0 认证: 支持密码流和刷新令牌流
  • 用户数据管理: 完整的用户信息、统计数据、成就等
  • 多游戏模式支持: osu! (RX, AP), taiko (RX), catch (RX), mania
  • 数据库持久化: MySQL 存储用户数据
  • 缓存支持: Redis 缓存令牌和会话信息
  • 多种存储后端: 支持本地存储、Cloudflare R2、AWS S3
  • 容器化部署: Docker 和 Docker Compose 支持
  • 资源文件反向代理: 可以将 osu! 官方的资源链接(头像、谱面封面、音频等)替换为自定义域名。

快速开始

使用 Docker Compose (推荐)

  1. 克隆项目
git clone https://github.com/GooGuTeam/g0v0-server.git
cd g0v0-server
  1. 创建 .env 文件

请参考 wiki 来修改 .env 文件

cp .env.example .env
  1. 启动服务
# 标准服务器
docker-compose -f docker-compose.yml up -d
# 启用 osu!RX 和 osu!AP 模式 (偏偏要上班 pp 算法)
docker-compose -f docker-compose-osurx.yml up -d
  1. 通过游戏连接服务器

使用自定义的 osu!lazer 客户端,或者使用 LazerAuthlibInjection,修改服务器设置为服务器的 IP

更新数据库

参考数据库迁移指南

安全

使用 openssl rand -hex 32 生成 JWT 密钥,以保证服务器安全和旁观服务器的正常运行

使用 openssl rand -hex 40 生成前端密钥

如果是在公网环境下,请屏蔽对 /_lio 路径的外部请求

文档

前往 wiki 查看

许可证

MIT License

贡献

项目目前处于快速迭代状态,欢迎提交 Issue 和 Pull Request

查看 贡献指南 获取更多信息。

参与讨论