Skip to main content

Overview

To group players together by creating an entity with a lifecycle, you can choose a service among Party, Lobby, and Group.

FeaturePartyLobbyGroup (Social)
Persistent objectNoNoYes
Concurrent limit per player1110
Member managementWeakWeakStrong
Chatting supportYesYesYes
Mute memberNoNoYes
DS Hosting integrationNoYesNo
Custom dataNoYesNo

To group players together based on custom rules, you can choose a service between Matchmaking and World.

FeatureMatchmakingWorld
Rule complexityComplicatedSimple
Waiting timeLong if rules are strictShort
TeamsYesNo
Custom expressionsYesNo
Solo joinYesYes
Group joinYesYes
DS Hosting integrationYesYes
Standalone integrationYesNo

The following content is used to introduce the basic functions of these services.

1. Party

1.1 What is Party

Party allows players to get together in groups before entering a battle session, and provides a low-latency chat and data communication service.

1.2 Features

image-20201113165444285

  1. Creation and invitation

    • Player can create a party as a leader
    • Any member can invite other player to join in
    • Every member will get instant notification when other member joins or leaves party
  2. Interaction

    • Members can chat with each others, supported by chat service
    • Support for extension KV store and notification
  3. Joining a battle

    • A party can start matchmaking as a team(by leader)
    • A party can enter lobby as a team(by leader)

1.3 Documentation

For more details, please refer to the Party.

2. Matchmaking

2.1 What is Matchmaking

Matchmaking provides a great way to enhance your game's matchmaking services with intelligent queuing and battle session placement.

2.2 Features

image-20201113171332787

  1. Basic
    • Players and the party leader can start matchmaking
    • Support for team and solo modes
    • Developers can create different placers of rule on web portal
  2. Rule sets
    • Basic: Distance, Comparison, Latency, Collection
    • Sort: Distance sort, Absolute sort
    • Field type: number, string, string list, map
    • Support for player data retreival, e.g. skill, level, MMR, ELO value…
  3. Advanced
    • Dedicated Server backfill capabilities
    • Matchmaking simulator

2.3 Documentation

For more details, please refer to the Matchmaking.

3. Lobby

3.1 What is Lobby

Lobby is a more traditional service to start a battle compared to automatic matchmaking service. Typically, a player can create or join one lobby to chat with others, form teams, select pre-gaming options, and invite friends before entering a battle session.

3.2 Features

image-20201113172653166

  1. Basic

    • Created by any player or party leader
    • All members can invite any other players
    • Support for visibility and password settings
    • Support for extensible KV storage and notification
    • Support for group chating within a lobby
  2. Advanced

    • Customizable team options
    • Query lobby list using filters
    • Handle concurrent joining requests
    • Start battle by lobby owner
    • Broadcast status change events

3.3 Documentation

For more details, please refer to the Lobby.

4. World

4.1 What is World

World is a service similar to Matchmaking, but unlike Matchmaking, which takes some time to find matches that meet certain criteria, World uses Filters to distribute players based on attributes and join them into a BattleSession. World is more suitable for implementing large-scale scenarios like Game Hubs, which are typically the preliminary stages where players initiate Matchmaking or enter a Lobby.

4.2 Features

image-20230907195128989

  1. Basic
    • Join world as a single player
    • Join world inviting other players
    • Track world battle session events
  2. Advanced
    • Join a specified world session
    • Check runtime world buckets

4.3 Documentation

For more details, please refer to the World.

5. Battle Session

5.1 What is Battle Session

Battle Session provides management of battles running on game DS and players in the battles. Players can start a battle session from matchmaking or lobby.

5.2 Features

image-20201113173442029

  1. Basic

    • Allocates and maintains Dedicated Server instance based session
    • Support for battle record query
    • Support for battle data getting and setting
    • Support for chat in battle
    • Monitoring of battle session on web portal
  2. Advanced

    • Battle result calculation based on Cloud Script (coming soon)
    • Developers can calculate customized data (like MMR, ELO value… ) and store them into player data

5.3 Battle Data

5.3.1 What is Battle Data

Battle Data is designed to manage battle's history information. Battle history information for a game can be customized. Battle history information is usually generated when a battle is coming to end, and consists of the battle-associated data such as battle attribute information, players' information and battle statistics information.

5.3.2 Access Permissions

  • Battle data is read only for game client.

  • Game server has full access permission to battle data.

5.4 Documentation

For more details, please refer to the Battle Session.