Arcaea 服务器核心
服务器核心是处理从 Arcaea 客户端发送的请求部分。这部分主要有
- 用户登陆/注册
- 歌曲成绩获取(世界/好友/个人排名)
- 歌曲上传
- 课题模式
- 谱面下载
- 世界模式
- Link Play
- ...
这些内容均涉及到数据库操作,因此这里我们需要先确定数据库类型。由于体量不大,所以我打算使用 sqlite。
在实现基础功能的基础上,我希望网页端可以轻松查询任何时候的 b30 或者其他成绩,所以我打算将每次游戏的成绩存储在数据库中。若所有用户的成绩存在同一个表单中可能会降低数据库查询速率,所以我可能会分为多个数据库,例如
// in directory "databases"
core.db
user_score.db
user_ptt_history.db
forum.db
...
而例如 user_score.db 中,我可能会将每个用户的 id 作为数据库的表名称,表内的数据为每一次游玩的数据。这样可以方便的查找所有玩家的历史数据。