음악퀴즈 데이터팩의 `#server mq_chat_mod` 가드가 일부 호스트에서
false negative 로 시작 차단되던 문제. 기존엔 매 server tick 한 곳에서만
markModPresence 를 호출했는데, banner/mohist 같은 fabric-bukkit
하이브리드 호스트에서 ServerTickEvents.END_SERVER_TICK 이 안 들어와
점수가 영영 1 로 안 올라갔음.
이번 변경: presence pulse 호출 지점을 셋으로 확장 — 어느 한 이벤트만
firing 돼도 가드가 통과.
- ServerLifecycleEvents.SERVER_STARTED (fabric) / ServerStartedEvent
(neoforge) — 서버 부팅 완료 직후 한 번
- onPlayerJoin — 플레이어 로그인 시점 (server tick 가 죽어도 발화)
- ServerTickEvents.END_SERVER_TICK — 정상 호스트에서의 steady-state
ChatAnswerCore 에 onServerStarted public method 추가, onPlayerJoin
에서도 player.level().getServer() 로 server 받아 markModPresence 호출.
세 로더 entrypoint (fabric-1216, fabric-2612, neoforge-1216) 모두에서
SERVER_STARTED 등록.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>