Case Studies
Pricing
Developer Docs
Blog

BACKND Match

From 1:1 to team battles, supporting Korea's first real-time PvP service.
Create your desired multiplayer game with various options provided by BACKND.

Service Without Traffic Worries

Unlike other services, the server size automatically expands even when users increase suddenly due to influencers or other factors.

Various Matching Modes and Types

Users can be matched according to various conditions like 1:1, individual battles, and team battles.
Additionally, users can be matched without criteria or appropriately matched based on score or MMR according to their skill level.

Real-time Game Environment

BACKND Match is a service that creates matches between users according to set rules to provide a real-time game environment.

Additional Features

Provides various additional features such as result processing, reconnection functionality, and in-game chat.

Getting Started

1. Activate BACKND Match in Console

BACKND Match is a service that matches users playing the game according to rules.
  • Users must have a nickname.
  • BACKND Match must be activated in the console.

2. Create a New Match

You can create a new match in the console.

Utilization (Match Server)

1. Connect to Matching Server

Connect to the matching server.

2. Create Waiting Room

Create a waiting room to request matching. Whether requesting matching alone or with other users, a waiting room must be created.
  • The user who creates the waiting room becomes the room host.

3. Invite Users

Users can be invited to the waiting room. Invitation is possible if you know their nickname.

4. Invited Users Enter

When an invited user sends an invitation acceptance message to the server, they automatically enter the waiting room.

5. Request Matching

Request matching.

6. Match Success

When the server finds users matching the conditions, it creates a match. Then, the following information is sent to all matched users:
  • Matched information (Match card inDate)
  • Whether it's a sandbox match
  • In-game server address to connect to
  • Game room information to connect to
// Connect to matching server
Backend.Match.JoinMatchMakingServer(out errorInfo);
Backend.Match.OnJoinMatchMakingServer += (args) =>
{
    // Check if connection to matching server was successful
};
// Create waiting room
Backend.Match.CreateMatchRoom();
Backend.Match.OnMatchMakingRoomCreate += (args) =>
{
    // Check if waiting room creation was successful
};
// Invite user
Backend.Match.InviteUser(nickName);
Backend.Match.OnMatchMakingRoomInvite += (args) =>
{
    // Check if user invitation was successful
};
// Accept invitation
Backend.Match.AcceptInvitation(roomId, roomToken);
Backend.Match.OnMatchMakingRoomInviteResponse += (args) =>
{
    // Check if invitation acceptance was successful
};
Backend.Match.OnMatchMakingRoomUserList += (args) =>
{
    // Receive waiting room information
};
// Request matching
Backend.Match.RequestMatchMaking(matchType, modeType, inDate);
Backend.Match.OnMatchMakingResponse += (args) =>
{
    // Check if matching request was successful
};
// Match success
Backend.Match.OnMatchMakingResponse += (args) =>
{
    // This event is called once more with success when a match is made.
    // When a match is made, in-game information for playing the game is included in this event.
};

Utilization (In-game Server)

1. Connect to In-game Server

Connect to the in-game server using the server address and port number received when the match is successful.

2. Connect to Game Room

Connect to the game room using the game room token value received when the match is successful. At this time, you receive a list of users currently participating in the room and a game room connection success message.

3. Start Game

When all users who were matched together connect to the game room, a game start message is sent to all clients after the game start wait time set in the console has passed.

4. Send/Receive Data/Chat Messages

After receiving the game start message, you can send binary data and chat messages. Data sent to the server is broadcast to all users in the game room, including the user who sent it.

5. Reconnect

If you leave during the game or the client terminates abnormally, you can reconnect to the ongoing game.

6. Summarize Game Results/End Game

When all users in the game room send game result messages to the server, the server summarizes the results based on these messages and reflects them in the database.

The game ends simultaneously with the completion of game result summarization. When the game ends, users are automatically disconnected from the in-game server.
// Connect to in-game server
Backend.Match.JoinGameServer(serverAddress, serverPort, false, out errorInfo);
Backend.Match.OnSessionJoinInServer += (args) =>
{
    // Check if connection to in-game server was successful
};
// Connect to game room
Backend.Match.JoinGameRoom(roomToken);
Backend.Match.OnSessionListInServer += (args) =>
{
    // Receive game room user information
};
Backend.Match.OnMatchInGameAccess += (args) =>
{
    // Receive game room user entry message
};
// All users enter the game room, and after the time specified in the console, the following event is called.
Backend.Match.OnMatchInGameStart = () =>
{
    // TODO
};
// Send binary data
Backend.Match.SendDataToInGameRoom(data);

// Receive binary data
Backend.Match.OnMatchRelay += (args) =>
{
    // Process binary data
};

// Send chat message
Backend.Match.ChatToGameRoom(matchChatModeType, message);

// Receive chat message
Backend.Match.OnMatchChat += (args) =>
{
    // Process chat message
};
// Check if there is a game that can be reconnected
BackendReturnObject bro = Backend.Match.IsGameRoomActivate();
if (bro.IsSuccess())
{
    // Check for reconnectable game room
}

// Perform reconnection based on game room information checked in the above function
if (!JoinGameServer(addr, port, true, out errorInfo))
{
    // Check error
    return;
}
// Summarize game results
Backend.Match.MatchEnd(matchGameResult);

Backend.Match.OnMatchResult += (args) =>
{
    // Check if game result summarization was successful
};

Trusted by over 5,000 game developers worldwide

PC, console, mobile games. Try BACKND now.