配置转换器
将 g0v0-server v1 的 .env 配置文件一键转换为 g0v0 server v2 所需的一系列 config/*.json 配置文件,并支持打包下载。
整个转换过程完全在浏览器本地完成,你的配置(包括数据库密码、JWT 密钥等敏感信息)不会被上传到任何服务器。
1. 粘贴 g0v0-server v1 的 .env 内容
整个转换过程完全在浏览器本地完成,配置不会被上传到任何服务器。
2. 生成的 v2 配置文件
将这些文件放入 g0v0 server v2(例如 g0v0.Server.Realtime)的 config/ 目录中。
在上方粘贴或上传 v1 的 .env——缺失的变量将使用默认值。
json
{
"UseLegacyDatabase": true,
"MySqlHost": "localhost",
"MySqlPort": "3306",
"MySqlDatabase": "osu_api",
"MySqlUsername": "osu_api",
"MySqlPassword": "password",
"PostgresqlConnectionString": "Host=localhost;Port=5432;Username=g0v0;Password=password;Database=g0v0",
"RedisHost": "localhost:6379",
"JwtSecretKey": "your_jwt_secret_here",
"JwtAlgorithm": "HS256",
"JwtAudience": "5",
"JwtIssuer": null,
"OsuClientId": 5,
"OsuClientSecret": "FGc9GAtyHzeQDshWP5Ah7dega8hJACAJpQtw6OXk",
"OsuWebClientId": 6,
"OsuWebClientSecret": "your_osu_web_client_secret_here",
"FetcherClientId": 0,
"FetcherClientSecret": "",
"FetcherBeatmapRawCacheExpireHours": 24,
"ServerUrl": "http://localhost:8000"
}
已转换的变量
| v1 .env 变量 | v2 目标 |
|---|---|
MYSQL_HOST | general.json → MySqlHost |
MYSQL_PORT | general.json → MySqlPort |
MYSQL_DATABASE | general.json → MySqlDatabase |
MYSQL_USER | general.json → MySqlUsername |
MYSQL_PASSWORD | general.json → MySqlPassword |
REDIS_URL | general.json → RedisHost |
JWT_SECRET_KEY | general.json → JwtSecretKey |
JWT_ALGORITHM | general.json → JwtAlgorithm |
JWT_AUDIENCE | general.json → JwtAudience |
JWT_ISSUER | general.json → JwtIssuer |
OSU_CLIENT_ID | general.json → OsuClientId |
OSU_CLIENT_SECRET | general.json → OsuClientSecret |
OSU_WEB_CLIENT_ID | general.json → OsuWebClientId |
OSU_WEB_CLIENT_SECRET | general.json → OsuWebClientSecret |
FETCHER_CLIENT_ID | general.json → FetcherClientId |
FETCHER_CLIENT_SECRET | general.json → FetcherClientSecret |
BEATMAP_CACHE_EXPIRE_HOURS | general.json → FetcherBeatmapRawCacheExpireHours |
SERVER_URL | general.json → ServerUrl |
ENABLE_RX / ENABLE_OSU_RX | game.json → EnableRelax |
ENABLE_AP / ENABLE_OSU_AP | game.json → EnableAutopilot |
ENABLE_ALL_BEATMAP_LEADERBOARD | game.json → EnableAllBeatmapLeaderboard |
SENTRY_DSN | realtime.json → Sentry.Dsn |
STORAGE_SERVICE | storage.json → Type |
STORAGE_SETTINGS | storage.json → Options |
使用方法
- 把 v1 服务器根目录的
.env内容粘贴到上方输入框,或点击「上传文件」选择.env文件(也可以点击「载入示例」先试试效果)。 - 检查生成的各个 JSON 文件(
general.json、game.json、realtime.json、chat.json、storage.json)。 - 点击「打包下载全部 (.zip)」,解压后把
config/目录整体放入 v2 服务端的工作目录(例如g0v0.Server.Realtime)即可。
缺失的变量会自动使用 v2 的默认值;v1 中存在、但 v2 暂无对应项的变量会在下方列出,方便逐一确认。
注意事项
general.json中的UseLegacyDatabase默认为true(继续使用 v1 的 MySQL 数据库)。如果你打算使用 v2 全新的 PostgreSQL 数据库,请在「其他 v2 设置」折叠区中取消勾选该选项并填写PostgresqlConnectionString。REDIS_URL会被转换为 v2 需要的host:port形式(自动去掉redis://前缀与密码部分)。- v2 独有的配置项(如
realtime.json的回放上传并发数、多人游戏房间限制,chat.json的聊天限制)默认以默认值生成,可在输入框下方的「其他 v2 设置」折叠区中调整。字段的完整说明请参考 g0v0.Server.Realtime 的 README。 config/chat.json是可选文件:不放入该文件时,所有聊天限制将使用来自 osu-web 的默认值。
与 v2 其他服务的配合
本页面生成的配置适用于 g0v0 server v2 系列。v2的各个服务共享 config/general.json 中的数据库、JWT 与存储等基础配置,迁移时请确保每个服务使用同一份 general.json 与 storage.json。