뒤끝매치THEBACKEND MATCH

1:1부터 팀 전까지, 국내 최초 실시간 PvP 서비스를 지원합니다.
뒤끝이 제공하는 다양한 옵션으로 원하는 PvP 모드를 구현해 보세요.

기능 소개

뒤끝매치 서비스 특징

  • 트래픽 걱정 없는 서비스

    인플루언서 등의 영향으로 유저가 순간적으로 증가하더라도 타 서비스와 달리 자동으로 서버 크기가 확장됩니다.

  • 다양한 매칭 모드, 타입 제공

    1:1, 개인전, 팀전같이 다양한 조건에 따라 유저들을 매칭시킬 수 있습니다. 또한 기준없이 매칭시키거나, 점수 혹은 MMR을 기반으로 유저들 간 실력에 맞게 적절히 매칭을 시킬 수 있습니다.

  • 실시간 게임 환경 제공

    매칭된 유저들끼리 실시간으로 게임을 진행할 수 있는 환경을 제공합니다.

  • 추가 과금 없이 모든 기능 제공

    뒤끝 매치 사용에 대한 추가 비용 없이 사용이 가능합니다.

THEBACKEND MATCH

뒤끝매치 시작하기

1. 콘솔에서 뒤끝매치 활성화

뒤끝매치는 게임을 이용하는 유저들을 규칙에 따라 매칭 시켜주는 서비스입니다.

  • 유저가 닉네임을 가지고 있어야 합니다.

  • 콘솔에서 뒤끝매치가 활성화되어 있어야 합니다.

개발문서 읽기

2. 새 매치 만들기

콘솔에서 새 매치를 생성할 수 있습니다.

THEBACKEND MATCH

뒤끝매치 활용하기(매치 서버)

1. 매칭 서버 접속

매칭 서버에 접속합니다.

개발문서 읽기
// 매칭 서버 접속
Backend.Match.JoinMatchMakingServer(out errorInfo);
Backend.Match.OnJoinMatchMakingServer += (args) => {
  // 매칭서버 접속 성공, 실패 여부 확인
};

2. 대기방 생성

매칭을 신청하기 위한 대기방을 생성합니다. 혼자 매칭을 신청하든, 다른 유저와 함께 매칭을 신청하든 대기방을 반드시 생성해야 합니다.

  • 대기방을 생성한 유저가 방장이 됩니다.

개발문서 읽기
// 대기방 생성
Backend.Match.CreateMatchRoom();
Backend.Match.OnMatchMakingRoomCreate += (args) => {
  // 대기방 생성 성공, 실패 여부 확인
};

3. 유저 초대하기

유저를 대기방으로 초대할 수 있습니다. 닉네임을 알면 초대가 가능합니다.

개발문서 읽기
//유처 초대하기
Backend.Match.InviteUser(nickName);
Backend.Match.OnMatchMakingRoomInvite += (args) => {
  // 유저 초대 성공, 실패 여부 확인
};

4. 초대받은 유저 입장

초대받은 유저가 초대 수락 메시지를 서버로 송신한 경우 자동으로 대기방에 입장하게 됩니다.

개발문서 읽기
// 유저 초대하기
Backend.Match.AcceptInvitation(roomId, roomToken));
Backend.Match.OnMatchMakingRoomInviteResponse += (args) => {
  // 초대 수락 성공, 실패 여부 확인
};
Backend.Match.OnMatchMakingRoomUserList += (args) => {
  // 대기방 정보 수신
};

5. 매칭 신청

매칭을 신청합니다.

개발문서 읽기
//매칭 신청
Backend.Match.RequestMatchMaking(
matchType, modeType, inDate);
Backend.Match.OnMatchMakingResponse += (args) => {
  // 매칭 신청 성공, 실패 여부 확인
};

6. 매칭 성사

서버에서 조건에 맞는 유저들을 찾으면 매칭을 성사시킵니다. 이후 매칭이 성사된 모든 유저들에게 아래 정보를 송신합니다.

  • 성사된 매칭 정보(매칭 카드 inDate)

  • 샌드박스 매치 유무

  • 접속할 인게임 서버 주소

  • 접속할 게임방 정보

개발문서 읽기
//매칭 성사
Backend.Match.OnMatchMakingResponse += (args) => {
  // 매칭 성사 시 해당 이벤트가 성공으로 한번 더 호출됩니다.
  // 매칭 성사 시 게임을 진행할 인게임 정보가 해당 이벤트에 포함됩니다.
};

THEBACKEND MATCH

뒤끝매치 활용하기(인게임 서버)

1. 인게임 서버 접속

매칭이 성사되었을 때 넘겨받은 인게임 서버 주소와 포트번호를 이용하여 인게임 서버에 접속합니다.

개발문서 읽기
// 인게임 서버 접속
Backend.Match.JoinGameServer(
serverAddress, serverPort, false, out errorInfo);
Backend.Match.OnSessionJoinInServer += (args) => {
  // 인게임 서버 접속 성공, 실패 여부 확인
};

2. 게임방 접속하기

매칭이 성사되었을 때 넘겨받은 게임방 토큰값을 이용하여 게임방에 접속합니다. 이 때 현재 방에 참여하고 있는 유저들의 리스트와 게임방 접속 성공 메시지를 함께 수신받습니다.

개발문서 읽기
//게임방 접속하기
Backend.Match.JoinGameRoom(roomToken);
Backend.Match.OnSessionListInServer += (args) => {
  // 게임방 유저 정보 수신
};
Backend.Match.OnMatchInGameAccess += (args) => {
  // 게임방 유저 입장 메시지 수신
};

3. 게임 시작하기

함께 매칭이 성사된 모든 유저가 게임방에 접속하면 콘솔에서 설정한 게임 시작 대기 시간이 지난 후에 게임시작 메시지가 모든 클라이언트에 송신됩니다.

개발문서 읽기
// 모든 유저가 게임방에 입장하면 콘솔에서 지정한 시간 후
  // 아래 이벤트가 호출됩니다.
  Backend.Match.OnMatchInGameStart() += {
    // TODO
  };

4. 데이터/채팅 메시지 송수신하기

게임 시작 메시지를 받은 이후 바이너리 데이터와 채팅 메시지를 송신할 수 있습니다. 서버로 송신한 데이터는 서버를 거쳐 보낸 유저를 포함하여 게임 방 내 모든 유저에게 브로드캐스팅됩니다.

개발문서 읽기
// 바이너리 데이터 전송
Backend.Match.SendDataToInGameRoom(data);

// 바이너리 데이터 수신
Backend.Match.OnMatchRelay += (args) => {
  // 바이너리 데이터 처리
};

// 채팅 메시지 전송
Backend.Match.ChatToGameRoom(matchChatModeType, message);

// 채팅 메시지 수신
Backend.Match.OnMatchChat += (args) => {
  // 채팅 메시지 처리
};
  

5. 재접속하기

게임 진행 중 나갔거나 비정상적으로 클라이언트가 종료되었을 경우 진행중이던 게임에 재접속 할 수 있습니다.

개발문서 읽기
// 재접속 가능한 게임이 존재하는지 확인
BackendReturnObject bro = Backend.Match.IsGameRoomActivate();
if(bro.IsSuccess())
{
  // 재접속 가능한 게임방 확인
}

// 위 함수에서 확인한 게임방 정보를 기반으로 재접속 수행
if(JoinGameServer(addr, port, true, out errorInfo) == false)
{
  // 에러확인
  return;
}

6. 게임 결과 종합/게임 종료

게임방 내 모든 유저가 게임결과 메시지를 서버로 보내면 서버에서는 해당 결과 메시지를 바탕으로 결과를 종합하여 DB에 반영합니다.

게임 결과 종합이 완료됨과 동시에 게임이 종료됩니다. 게임이 종료되면 유저는 인게임 서버와 자동으로 접속이 종료됩니다.

개발문서 읽기
// 게임 결과 종합
Backend.Match.MatchEnd(matchGameResult);

Backend.Match.OnMatchResult += (args) => {
  // 게임 결과 종합 성공, 실패 여부 확인
};