1:1 기본 결과 처리에서 게임 시작 SessionId 2명을 양쪽 모두 전송해도 bad headCount(400)가 발생합니다
- 뒤끝 SDK 버전: 5.18.12
- 프로젝트명: 야추
- Unity 버전: 6000.5.2f1
- 실행 환경: Unity Editor / Windows
- 스테이터스 코드: 400
- 에러 코드: BadParameterException
- 에러 메시지:
bad headCount, 잘못된 headCount 입니다.
안녕하세요.
뒤끝매치 1:1 랜덤 매치의 결과 처리에서 아래 오류가 지속적으로 발생하여 문의드립니다.
Exception, status code: 400, reason:
{“errorCode”:“BadParameterException”,“message”:“bad headCount, 잘못된 headCount 입니다”,“statusCode”:400}
[매치 카드 설정]
- 매치명: quick match
- 매치 카드 inDate: 2026-08-09T14:52:01.745Z
- 매칭 방법: Random
- 매칭 유형: 일대일
- 샌드박스 모드: 비활성화
- 결과 처리 방법: 기본
- 매칭 인원: 2
- 매치 시작 대기 시간: 0초
- 매치 제한 시간: 60분
[재현 시각]
2026-08-10 15:12:48 KST 전후
[재현 절차]
- 서로 다른 계정으로 Unity Editor 두 개를 실행했습니다.
- 양쪽에서 같은 quick match 카드에 매칭을 신청했습니다.
- 샌드박스가 아닌 실유저 2명으로 정상 매칭되었습니다.
- OnMatchInGameStart 호출 시점의 MatchUserGameRecord SessionId를 별도 목록으로 복사해 고정했습니다.
- 재접속이나 중간 이탈 없이 게임을 정상적으로 끝까지 진행했습니다.
- 기본 결과 처리 방식에 따라 양쪽 클라이언트가 모두 동일한 MatchGameResult를 MatchEnd로 전송했습니다.
- 양쪽 모두 OnMatchResult에서 동일한 400 bad headCount 오류를 받았습니다.
[게임 시작 시점 SessionId]
Client A:
- GameStartSessions: [395, 475]
- 게임 종료 시 Backend.Match.GetMySessionId(): 395
Client B:
- GameStartSessions: [475, 395]
- 게임 종료 시 Backend.Match.GetMySessionId(): 475
양쪽 목록은 순서만 다르고 동일한 두 SessionId를 포함합니다.
[MatchEnd 전송값]
양쪽 클라이언트 모두:
- 참가자 수: 2
- winners: [475]
- losers: [395]
- draws: null
- 게임 상태 hash:
b8efebe2fca6514228edce7981b70a4980c29511e2718cf9774624864f870c5a
Client A 로그:
GameStartSessions=[395,475], sdkSession=395, Sandbox=False.
Submitting BACKND Match result
sender=395,
authority=395,
sdkSession=395,
processing=Default,
startParticipants=2,
winners=1,
losers=1,
draws=0,
winnerIds=475,
loserIds=395,
drawIds=null,
gameStartIds=395,475,
currentRoster=395:team0:sgTrue,475:team1:sgFalse,
stateHash=b8efebe2fca6514228edce7981b70a4980c29511e2718cf9774624864f870c5a
Client B 로그:
GameStartSessions=[475,395], sdkSession=475, Sandbox=False.
Submitting BACKND Match result
sender=475,
authority=395,
sdkSession=475,
processing=Default,
startParticipants=2,
winners=1,
losers=1,
draws=0,
winnerIds=475,
loserIds=395,
drawIds=null,
gameStartIds=475,395,
currentRoster=475:team1:sgFalse,395:team0:sgTrue,
stateHash=b8efebe2fca6514228edce7981b70a4980c29511e2718cf9774624864f870c5a
양쪽에서 받은 결과:
BACKND Match result compilation failed:
Exception, status code: 400, reason:
{“errorCode”:“BadParameterException”,“message”:“bad headCount, 잘못된 headCount 입니다”,“statusCode”:400}
[추가 확인 사항]
- MatchGameResult에는 AI나 추가 세션을 넣지 않았습니다.
- 게임 시작 시점 SessionId를 복사해서 결과 전송까지 유지했습니다.
- 결과 전송 직전 roster와 게임 시작 roster가 동일합니다.
- 양쪽 클라이언트의 승자/패자와 state hash가 동일합니다.
- 기본 모드에서 양쪽 클라이언트 모두 결과를 전송했습니다.
- 한쪽 결과 전송 후 15초 대기로 실패한 상황이 아니라, 양쪽 모두 동일 결과를 전송한 뒤 같은 오류를 받았습니다.
- 재접속이나 네트워크 단절 없이도 재현됩니다.
- m_draws를 null로 두고 winners/losers만 생성하는 공식 1:1 예제 형식으로 전송했습니다.
해당 문제 확인을 부탁드립니다.
감사합니다.