Skip to main content
Version: Current

常见错误

登录码无效或已过期

现象: 玩家 /login 报错

原因:

  • Admin 未发布码或已关闭
  • 输入错误
  • Backend 不可达(verify-code fetch 失败)

解决:

redis-cli GET game:main_room:login_code
# 应有 6 位数字

Admin 重新 发布登录码


Staff 邮箱或密码错误

现象: /staff-login 红色提示

原因:

  • 邮箱不在 ADMIN_EMAILS / DISPLAY_EMAILS
  • STAFF_ADMIN_PASSWORD / STAFF_DISPLAY_PASSWORD 未配置或错误
  • Admin 邮箱用了 Display 密码(反之亦然)

大屏不显示登录码

现象: Show 显示「等待管理员发布登录码」

原因:

  • Admin 未 publish
  • Display Socket 未连接
  • 收不到 login_code_published

解决: 刷新 Show;检查 Display Staff 登录与 accessToken。


游戏已开始,请等待下一轮

现象: 玩家 Socket redirect 后断线

原因: gameStarted=1 且该 UUID 不在 survivors/eliminated/winner/tie

解决: 等 Admin 重置游戏 → 重新发布登录码。


JWT / Socket 认证失败

原因: JWT_SECRET 前后端不一致;token 过期

解决: 统一 secret;重新登录。


发布题目 400

原因: 当前 playingended 未 reset

解决: 等轮次结束或 reset。


verify-code 500

原因: Redis 不可用

解决: redis-cli ping;检查 REDIS_URL


Mario 主题样式错乱

原因: NEXT_PUBLIC_THEME=mario 未 rebuild

解决: 改 env 后 npm run build 重启。


PostgreSQL snapshot 失败

现象: 日志 Failed to upsert latest snapshot

说明: 不阻塞游戏;但 Redis 崩溃后可能无法恢复。检查 DATABASE_URL 与 migration。