Skip to content

配置转换器 ​

将 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_HOSTgeneral.json → MySqlHost
MYSQL_PORTgeneral.json → MySqlPort
MYSQL_DATABASEgeneral.json → MySqlDatabase
MYSQL_USERgeneral.json → MySqlUsername
MYSQL_PASSWORDgeneral.json → MySqlPassword
REDIS_URLgeneral.json → RedisHost
JWT_SECRET_KEYgeneral.json → JwtSecretKey
JWT_ALGORITHMgeneral.json → JwtAlgorithm
JWT_AUDIENCEgeneral.json → JwtAudience
JWT_ISSUERgeneral.json → JwtIssuer
OSU_CLIENT_IDgeneral.json → OsuClientId
OSU_CLIENT_SECRETgeneral.json → OsuClientSecret
OSU_WEB_CLIENT_IDgeneral.json → OsuWebClientId
OSU_WEB_CLIENT_SECRETgeneral.json → OsuWebClientSecret
FETCHER_CLIENT_IDgeneral.json → FetcherClientId
FETCHER_CLIENT_SECRETgeneral.json → FetcherClientSecret
BEATMAP_CACHE_EXPIRE_HOURSgeneral.json → FetcherBeatmapRawCacheExpireHours
SERVER_URLgeneral.json → ServerUrl
ENABLE_RX / ENABLE_OSU_RXgame.json → EnableRelax
ENABLE_AP / ENABLE_OSU_APgame.json → EnableAutopilot
ENABLE_ALL_BEATMAP_LEADERBOARDgame.json → EnableAllBeatmapLeaderboard
SENTRY_DSNrealtime.json → Sentry.Dsn
STORAGE_SERVICEstorage.json → Type
STORAGE_SETTINGSstorage.json → Options

使用方法 ​

  1. 把 v1 服务器根目录的 .env 内容粘贴到上方输入框,或点击「上传文件」选择 .env 文件(也可以点击「载入示例」先试试效果)。
  2. 检查生成的各个 JSON 文件(general.json、game.json、realtime.json、chat.json、storage.json)。
  3. 点击「打包下载全部 (.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。

Released under the MIT License