MatchEnd 400 bad headcount

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 전후

[재현 절차]

  1. 서로 다른 계정으로 Unity Editor 두 개를 실행했습니다.
  2. 양쪽에서 같은 quick match 카드에 매칭을 신청했습니다.
  3. 샌드박스가 아닌 실유저 2명으로 정상 매칭되었습니다.
  4. OnMatchInGameStart 호출 시점의 MatchUserGameRecord SessionId를 별도 목록으로 복사해 고정했습니다.
  5. 재접속이나 중간 이탈 없이 게임을 정상적으로 끝까지 진행했습니다.
  6. 기본 결과 처리 방식에 따라 양쪽 클라이언트가 모두 동일한 MatchGameResult를 MatchEnd로 전송했습니다.
  7. 양쪽 모두 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 예제 형식으로 전송했습니다.

해당 문제 확인을 부탁드립니다.

감사합니다.

안녕하세요 개발자님,
이미 동일 에러에 대한 문의가 접수되어 금일 서버 픽스 조치가 진행되었습니다.
다시 한번 시도하여 확인해 주시면 감사하겠습니다.