Closed sonohoshi closed 1 month ago
이거 조사 시작해봅니다
제보된 tx 모두 playCount가 1인것으로 보아 클라이언트단에서 전투 반복 재현으로 인한 문제는 아닌듯
제보된 케이스 모두 공통적으로 166 스테이지를 클리어하지 못했는데 클라에서는 클리어했다고 보여주고 있는 상태
rc 브랜치 기준 로컬 Agent에서는 Simulator의 random값까지 일치하는 상황을 확인하여... main에서 쓰던 StageSimulator에 이상이 있는지 확인할 필요가 있겠습니다
지금 클라이언트 단에서 rc 브랜치와 main의 Simulate 상태가 크게 차이는 안나보이는데, 애시당초 client의 Simulate 방식이 HAS action의 Simulate와 차이나는 부분이 있어보여서 정리를 할 필요가 있겠고...
https://github.com/planetarium/NineChronicles/blob/main/nekoyume/Assets/_Scripts/Extensions/ActionEvalToViewModelExtensions.cs#L30 클라이언트는 이 부분을 정리할 필요는 있겠다 정도로 마무리... 나머지 조사는 tx 리플레이 같은게 있어야 원활한 조사가 가능할 것 같습니다.
https://planetariumhq.slack.com/archives/C062ZS68A21/p1712118329465659?thread_ts=1712117643.493809&cid=C062ZS68A21 팀 내에서 345 스테이지를 대상으로도 발생했다는 제보
일단 하나 잡아낸건 1회성 버프가 클라에서 써진것처럼 보여서 그런거였고요, 실제로 tx 이력을 뒤져보니까 344 스테이지에서 쓴 1회성 버프 아이디가 345 스테이지 tx에 같이 들어갔고+액션단에서는 1회성 버프를 무시했으나 클라가 혼자 1회성 버프를 사용해서 시뮬레이트를 돌린 케이스입니다. 그래서 대충... 1회성 버프가 액션단에서는 정상적으로 무시됐는지 그렇다면 클라는 왜 갑자기 1회성 버프를 썼는지 정도를 타겟으로 조사해볼 예정입니다. 별개로 repote replay를 클라에서까지 재연한 내용에 대해선 따로 기록 남겨두겠습니다
if (eval.Action.StageBuffId.HasValue)
{
var skill = CrystalRandomSkillState.GetSkill(
eval.Action.StageBuffId.Value,
tableSheets.CrystalRandomBuffSheet,
tableSheets.SkillSheet);
skillsOnWaveStart.Add(skill);
}
``` 찾았다 범인
https://planetariumhq.slack.com/archives/C016RR80TK9/p1709626443130329
실제로 체인상에서는 클리어하지 못했지만, 클라이언트의 전투 재연에서는 클리어되어 다음 스테이지에 도전하려다 Action단에서 실패하고 에러 팝업을 받는 것으로 보임