Elements Manual
Elements 3 Manual
Elements 3 Manual
  • Welcome 👋
  • QUICK START
    • Elements in Five Minutes or Less
    • Accessing the Web UI (CRM)
    • Creating A User
  • General
    • General Concepts
    • N-Tier Architecture
    • Security Model
  • Core Features
    • Core API Overview
    • Sessions
    • Applications
    • Users and Profiles
    • Digital Goods
    • Progress and Missions
    • Leaderboards
    • Matchmaking
    • Followers
    • Friends
    • Reward Issuance
    • Save Data
    • Schemas and Metadata Specifications
    • Queries
      • Base Query Syntax
      • Boolean Queries
      • Object Graph Navigation
      • Advanced Operators
        • .ref
        • .name
    • Custom Code
      • Element Structure
      • RESTful APIs
      • Websockets
    • Auth Schemes
      • OIDC
      • OAuth2
  • Web 3
    • Omni Chain Support
    • Vaults
    • Wallets
    • Smart Contracts
      • Smart Contracts: Ethereum
      • Smart Contracts: Flow
      • Smart Contracts: Solana
      • Smart Contracts: Neo
  • CONFIGURATION
    • Direct Database Access and Batch Configuration
    • Batch Samples
      • Item Upload Bash Script Sample
      • Mission Upload Bash Script Sample
  • RESTful APIs
    • Swagger and Swagger UI
    • API Specification
      • /application
      • /application/configuration
      • /auth
      • /auth_scheme
        • /custom
        • /oauth2
        • /oidc
      • /blockchain
      • /followee
      • /follower
      • /friend
      • /google
      • /index
      • /inventory
      • /item
      • /large_object
      • /leaderboard
      • /rank
      • /score
      • /match
      • /mission
      • /progress
      • /reward_issuance
      • /schedule
      • /notification
      • /profile
      • /save_data
      • /metadata_spec
      • /mock_session
      • /session
      • /health
      • /version
      • /signup
      • /user
    • Javadocs
  • Releases
    • 3.1 Release Notes
Powered by GitBook
On this page
  1. Core Features

Matchmaking

Elements supports matchmaking for online gaming, including one vs one or group matches with teams.

PreviousLeaderboardsNextFollowers

Last updated 1 month ago

Elements supports simple one vs one matchmaking for connected games. Players create Match requests, monitor the state of the Match, and finally enter a game based on the logic of the Match.

This ties directly into the scripting engine because the Match system will execute a single Cloud function upon completion of the Match.

Matchmaking Process

The detailed process for handling a Match is as follows:

  1. Create a Matchmaking Scheme under the section for your Application

  2. Deploy the Cloud Function code to service the match

  3. From the client application, POST the match request.

  4. Poll, using GET, based on the specific Match identifier(s). Elements will delay the response until the Match is completed, or a timeout occurs.

  5. Upon finding a matching Profile, Elements will execute the matchmaking Cloud Function and supply the result via the Match object.

  6. The Cloud function may perform any operation and return a string indicating the result of the operation. The result should be something like a game ID or IP address of a game server the player may join.

TODO: Creating Matchmaking Configuration Doc

Application Configuration