TheGamDevStore.com Online API

TGDSO Sessions

TGDSO Sessions

TGDSO is designed to be integrated into your Game as one or more Contest GameModes (syn. GameTypes) select-able from a Games Menu. A Single Game Product can provide several Single-Player (SP) and Multi-Player (MP) GameModes. Examples of GameModes: Co-op Story Mode, Survival, Deathmatch, Team DeathMatch, Capture-the-Flag, others.

Multi-Player and Single-Player GameModes involve a Game Server and Game Client. The Game Server is where the Game World, AI, and game rules exists. The Game Client is the Player’s Interface to game Game World. Single-Player Game Server allows a single Game Client to connect locally/internally. A Multi-Player Game Server allows multiple Game Clients to connect locally (Split-Screen) and remotely over a LAN or the Internet.

An TGDSO Session is a virtual connection between your Game Application (Game Server/Game Client) and TGDSO Contests Servers. A Session must be established to receive any TGDSO services. TGDSO Sessions provide different services dependent on a connection with Game Server or Game Client.

Game Servers use TGDSO Sessions to register with TGDSO Contests Servers, notifying when they’re available to host Game Clients for the purpose of Matchmaking and TeamBuilding. Game Clients use TGDSO Sessions to notify TGDSO Contests Servers of the Player’s state (active, or idle) and status of when participating in Contests/Tournaments.

Sessions provide continuous updates on various states, status, and statistics of the Game Server hosting (number of players, skill level, etc) and Players connected to the Game. This information can be used to provide several Analytics for Developers and Players.

  • Players what Game Servers or Contest are available to enter.
  • Client Sessions tell friends which Servers Contest players are active in.
  • Player Analytics: Players can view which games themselves and their friends have invested time in.
  • Developer Analytics: Developers can view total play time of their games.

INVITE

Session INVITE is an Invitation Transaction sent by the Game Application to authenticate and establish a Session with the TGDSO Contests Servers. Game Servers must provide a Unique Server Name and valid Game ID to authenticate. A password may be provided for additional security.

The Game Application must send a Session PING at regular interval to keep the Session active. When the Session is no longer required, it must be closed. Only one Session per Game Server or Game Client Allowed. If you try to open a new session while one is running, the system will close out your current one before opening a new one. Note: Listening Servers create a Session for the Game Server and one for the Game Client.

Request

JSON-RPCParametersRequiredDatatypeDescription
{"jsonrpc":"2.0",    
"method":"Session_INVITE",   Service Transaction Method.
"params":{    
 "game_id":"6e73861fd2d75a76e54b472e609eaf98",xstringThe ID of your Game Application issued by ArcadeKomodo.com.
 "user":"techlordx",xstringThe name of the Game Server or Player.
 "pass":"6e4cd40a1a8c17f191d2118d16a976a7",xstringGame Server (optional) or User Pass Token.
},    
"id": 1}    

Response

JSON-RPCParametersRequiredDatatypeDescription
{"jsonrpc":"2.0",    
"result": {    
 "signature":"3208fde0470719372f8313ddd5884a75"xhashSigned Authentication Token issued by TGDSO Contest Server.
},    
"id": 1}    

Otherwise, if the Authentication fails, the result is an Failure code is in the response:

JSON-RPCParametersRequiredDatatypeDescription
{"jsonrpc":"2.0",    
"result":{    
 "failure":1xintegerFailure Code 1: Authentication Failed. Incorrect Username/Password Combination.
},    
"id": 1}    

PING

Session PING is a Transaction sent by the Game Application to notify TGDSO Contests Servers that Session is active. If the TGDSO Contests Servers do not receive a Session PING within 120 seconds, the Session will be closed due to Timeout. If Session is closed, a new Session INVITE is required. If Session PING is received prior to Timeout, TGDSO Contests Servers will respond with a Signature/Error to serve as acknowledgement the Transaction was received.

Request

JSON-RPCParametersRequiredDatatypeDescription
{"jsonrpc":"2.0",    
"method":"Session_PING",   Service Transaction Method.
"params":{    
 "signature":"6e73861fd2d75a76e54b472e609eaf98",xhashPrevious Signed Authentication Token issued by TGDSO Contest Server.
},    
"id": 2}    

Response

JSON-RPCParametersRequiredDatatypeDescription
{"jsonrpc":"2.0",    
"result": {    
 "signature":"3208fde0470719372f8313ddd5884a75"xhashSigned Authentication Token issued by TGDSO Contest Server.
},    
"id": 2}    
JSON-RPCParametersRequiredDatatypeDescription
{"jsonrpc":"2.0",    
"result":{    
 "failure":1xintegerFailure Code 1: Authentication Failed. Incorrect Username/Password Combination.
},    
"id": 2}    

TWING/NOTIFY

Session TWING (Tweet + Ping) is the nickname for a Notification that keeps the Session Alive like a Session PING, but, also contains additional status information about a Game Server/Game Client. Session TWING Notifications can be sent anytime prior to PING Timeout, resetting the Session’s Keep Alive Timer. TGDSO Contests Servers do not return a response, thus current Signature in reused in the next Transaction or Notification.

Session TWING are useful in notifying TGDSO Contests Servers when Game Server/Client state change occurs ie: active/idle. Notifications for changes in other data may include: Player Character Position, Player Score, Player Status Upgrades (streaks/bonuses/level up/unlocks), and Chat Messages.

Twing Notifications can be publicly displayed on ArcadeKomodo.com’s RSS Twing Channel by assigning TWING Channel Parameter Pair.

Request

JSON-RPCParametersRequiredDatatypeDescription
{"jsonrpc":"2.0",    
"method":"Session_NOTIFY",   Service Transaction Method.
"params":{    
 "signature":"6e73861fd2d75a76e54b472e609eaf98",xhashPrevious Signed Authentication Token issued by TGDSO Contest Server.
 "status":"inLobby", stringMost often “active” or “idle” state
 "channel": 103, integerDesignates Twing Channel to display messages
 "message":"Hello World", stringMessage
 "location":"3133.133.844" s.vectorPlayer Location
},    
"id": 3}    

No Response


UPDATE

Session UPDATE Transaction is use to change the settings of an existing session between Game Application and TGDSO Contests Servers. Updating a session is generally performed between matches on the Game Server, but it is also performed on the Game Client in order to keep the session information in sync.

Request

JSON-RPCParametersRequiredDatatypeDescription
{"jsonrpc":"2.0",    
"method":"Session_UPDATE",   Service Transaction Method.
"params":{    
 "signature":"6e73861fd2d75a76e54b472e609eaf98",xhashPrevious Signed Authentication Token issued by TGDSO Contest Server.
 "game_id":"6e73861fd2d75a76e54b472e609eaf98",xstringThe ID of your Game Application issued by ArcadeKomodo.com.
 "user":"techlordx",xstringThe name of the Game Server or Player.
 "pass":"6e4cd40a1a8c17f191d2118d16a976a7",xstringGame Server (optional) or User Pass Token.
     
},    
"id": 4}    

Response

JSON-RPCParametersRequiredDatatypeDescription
{"jsonrpc":"2.0",    
"result": {    
 "signature":"3208fde0470719372f8313ddd5884a75"xhashSigned Authentication Token issued by TGDSO Contest Server.
},    
"id": 4}    
JSON-RPCParametersRequiredDatatypeDescription
{"jsonrpc":"2.0",    
"result":{    
 "failure":1xintegerFailure Code 1: Authentication Failed. Incorrect Username/Password Combination.
},    
"id": 4}    

BYE

Session BYE Transaction close the active session. Certain Response Error Codes from the TGDSO Contests Server are equivalent to Session BYE from the Server side.

Request

JSON-RPCParametersRequiredDatatypeDescription
{"jsonrpc":"2.0",    
"method":"Session_BYE",   Service Transaction Method.
"params":{    
 "signature":"6e73861fd2d75a76e54b472e609eaf98"xhashPrevious Signed Authentication Token issued by TGDSO Contest Server.
},    
"id": 5}    

Response

JSON-RPCParametersRequiredDatatypeDescription
{"jsonrpc":"2.0",    
"result": {    
 "signature":"3208fde0470719372f8313ddd5884a75"xhashSigned Authentication Token issued by TGDSO Contest Server.
},    
"id": 5}    
JSON-RPCParametersRequiredDatatypeDescription
{"jsonrpc":"2.0",    
"result":{    
 "failure":1xintegerFailure Code 1: Authentication Failed. Incorrect Username/Password Combination.
},    
"id": 5}    

Matchmaking

Submit a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Pin It on Pinterest