高并发低占用的 Arcaea API 后端 基于ASP.NET Core 6.0
- Arcaea 3.10.0(c) 及以上版本
- Team123it.Arcaea.MarveCube - Arcaea Server 2 主服务器后端
- Team123it.Arcaea.MarveCube.Standalone - Arcaea Server 2 独立下载服务器后端
- Team123it.Arcaea.MarveCube.LinkPlay - Arcaea Server 2 独立LinkPlay后端
- Microsoft.AspNetCore.App x64 运行时 6.0.0 及以上版本
- MySQL 8.0+ / MariaDB 10.0+ (用于存储服务器数据)
- Redis 6.0+ (Windows端为Redis for Windows 3.0+) (用于存放下载Token等临时数据)
{Your Domain}/years/19/
- 对于曲包id为
unranked
或难度定数为0(不存在应为-1)的曲目,程序会将成绩存储至bests_special
而并非bests
表中,因此这些曲目将不计入Best30计算 - 玩家的个人游玩潜力值计算中仅存在Best30,不存在Recent10,因此潜力值在任何情况下都不会出现倒扣的情况
- 玩家在曲目游玩结束并提交成绩后会视成绩以及难度给予玩家一定数量的记忆源点
独立的下载服务器(Team123it.Arcaea.MarveCube.Standalone)可以与主服务器程序放在一起; 但我们极力建议您将其放在与主服务器不同的、带宽较为充足的服务器上,以减轻主服务器的带宽负担,并增强主服务器的安全性。
主服务器和下载服务器都需要存在谱面文件夹(包括该曲目的ogg音频文件以及aff谱面文件)(位置在 {程序根目录}\data\static\Songs
),其作用如下:
- 下载服务器为玩家提供数据下载
- 主服务器在玩家提交数据后检查MD5校验值是否正确
- 主服务器在玩家登录账号后返回所有谱面以及音频文件的MD5校验值
- 启动数据库程序 & Redis程序
- 启动主服务器程序并按照提示进行初始化
- 为减轻文件读写压力,Arcaea Server 2 服务端在第一次收到登录请求时,会将谱面文件夹中的所有ogg音频文件以及aff谱面文件的MD5校验值,保存在数据库的
fixed_songs_checksum
表中。 - 若后续出现再次登录将直接返回数据库中存储的校验值而并非重新遍历计算校验值。
- 但使用该方法时可能会出现谱面文件/音频文件需要更新的情况,这时请手动删除
fixed_songs_checksum
表中的对应文件的MD5校验值项,下一位玩家登录后将会自动更新MD5校验值。
- 当前暂时不支持Link Play游玩,还请等待后续更新。
- Arcaea Server 2 服务端支持和 ArcaeaUnlimitedAPI 同样格式的数据查询,可以让QQ查分机器人接入服务器进行查分操作
- 接口存在于以下位置
{API_ENDPOINT}/botarcapi
- 接口文档
本企划基于123 Open-Source Organization MIT Public License 2.0许可协议开源。