m0ram1-maajan-analyzer For Majsoul 开发日志#3

asakurasayori 发布于 2025-07-03 605 次阅读


架构如下 Koishi&Web -> 拉取节点 -> RabbitMQ -> 调用节点 -> akochan-reviewer 先部署akochan Docker,貌似后端同时整合了前两步不用我费心了,但是没有最新的Mortal引擎,但当下还是先部署成功了为好。


2025.7.1 开发缓步进行中,正在修复tactics.json相关问题,然后重新构建镜像,学习RabbitMQ

2025.7.2 首先7.1时探索了List无论设置步长多少最多只有30条(作为页上限),所以把用户分为多个优先级,以及设置是否要抓取更多的历史牌局(需经过管理员批准) 具体优先级: 虽然说雀喵优先级要比雀士高,但是优先级仅体现于新牌局上。 具体操作如下:

  1. 用户先从Koishi或Web注册,总共需要提供雀魂账号密码,QQ号三项内容,拉取节点负责把内容存进数据库,然后建立每个用户的Config。 Config目前初步设想只有是否抓取更多的历史牌局

2025.7.3 数据库 User: id(autoincrement),email,password,nickname,majuser,majpwd,qqid accountId(ResFriendList.friends.base.account_id,注册的时候获取,用来在friendList里提取在线状态决定要不要获取新牌局) auth(账号等级,0管理员 1vip 2普通玩家 3停用或封禁) isMonitoring(是否监听账号对战数据变化) monitorType(0为仅监听最近30场对局,1为持续处理至最老对局) scanNewestUUID(最新牌局) scanOldestUUID(最老牌局) scanOldestCount(上次扫描的时候这个牌局在第几个count,真实count可以用该变量加上新打牌局count计算) isInitialized(是否初期化完成,完成后即可登录) is2faOn(是否启用2FA) totpSecret(密钥)

GameRecords: RecordGame类型 具体: Field Type Label Description uuid string 対局のUUIDにゃ. start_time uint32 対局開始時間 (Unix 時間?) にゃ. end_time uint32 対局終了時間 (Unix 時間?) にゃ. config GameConfig 対局のルール情報にゃ. accounts RecordGame.AccountInfo repeated 対局者のアカウント情報にゃ. CPU は含まれないにゃ. result GameEndResult 対局の結果情報にゃ.

注册流程:

  1. 填写email和password,nickname(非必填),验证码验证,限制同ip验证码发送频率(1分钟一次)
  2. 填写majuser,majpwd,获取accountId,若nickname未填用majuser填充
  3. 绑定QQ号,验证码验证(可跳过)
  4. 同意协议,让用户选择是否添加监测号来监测在线状态避免误顶号
  5. 初始化扫描最近30次牌局(异步,当扫描完成后可以登录)
  6. 注册完成

登录: QQ+验证码 或 邮箱+密码 或 邮箱+验证码

其他设置: 2FA绑定,以及保存Recovery Code

此作者没有提供个人介绍。
最后更新于 2025-07-03