Matchmaking API: Difference between revisions
No edit summary |
No edit summary |
||
Line 18: | Line 18: | ||
https://multiplayer.factorio.com/remove-game/ | https://multiplayer.factorio.com/remove-game/ | ||
=== Object Types === | |||
==== Server Description Object ==== | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 29: | Line 33: | ||
! create | ! create | ||
|- | |- | ||
| application_version | | application_version | ||
| | | object | ||
| ✓ | | ✓ | ||
| ✓ | | ✓ | ||
| ✓ | | ✓ | ||
| | | See [[#Application Version|application version]] below. | ||
| | |||
|- | |- | ||
| description | | description | ||
Line 125: | Line 108: | ||
| ✓ | | ✓ | ||
| ✓ | | ✓ | ||
| List of | | List of [[#Mod Description|mods and their versions]] installed on the server. | ||
|- | |- | ||
| mods_crc | | mods_crc | ||
Line 170: | Line 153: | ||
|} | |} | ||
==== Application Version ==== | |||
{| class="wikitable" | |||
! Key | |||
! Type | |||
! Description | |||
|- | |||
| build_mode | |||
| string | |||
| | |||
|- | |||
| build_version | |||
| string(number) | |||
| | |||
|- | |||
| game_version | |||
| string | |||
| | |||
|- | |||
| platform | |||
| string | |||
| | |||
|} | |||
==== Mod Description ==== | |||
{| class="wikitable" | |||
! Key | |||
! Type | |||
! Description | |||
|- | |||
| name | |||
| string | |||
| ID of the mod. | |||
|- | |||
| version | |||
| string | |||
| Version string of the mod. | |||
|} | |||
[[Category:Technical]] | [[Category:Technical]] |
Revision as of 03:01, 9 January 2017
The matchmaking API allows Factorio servers to advertise themselves, and for players to browse open game servers. The matchmaking server currently uses Heroku and Green Unicorn software.
API root: https://multiplayer.factorio.com/
Some of the API endpoints require the use of an authentication token, which is obtained through the Web Authentication API. It is sent as the HTTP parameter named token
and encoded using hexadecimal. For GET requests it is sent as part of the URL, and for POST requests it is sent as a POST parameter.
Work in progress! I'm just going to jot down some random notes in the mean time :P
https://multiplayer.factorio.com/get-games
https://multiplayer.factorio.com/get-game-details/ Unauthenticated
https://multiplayer.factorio.com/create-game
https://multiplayer.factorio.com/post-game-heartbeat/
https://multiplayer.factorio.com/remove-game/
Object Types
Server Description Object
Key | Type | Endpoints | Description | ||
---|---|---|---|---|---|
get-games | details | create | |||
application_version | object | ✓ | ✓ | ✓ | See application version below. |
description | string | ✓ | ✓ | The server's description. | |
game_id | number | ✓ | ✓ | ✓ | A unique id generated by the matchmaking server to identify a server for the get-game-details, post-game-heartbeat, and remove-game endpoints. |
game_secret | string | ✓ | |||
game_time_elapsed | string(number) | ✓ | ✓ | ✓ | Number of in-game minutes the loaded map has elapsed. |
has_password | string(boolean) | ✓ | ✓ | ✓ | True if a password is required to join the server. |
host_address | string(ip:port) | ✓ | ✓ | The IP address and port number the game server is hosted on. | |
last_heartbeat | number | ✓ | The Unix timestamp of when the game server was last heard from. | ||
max_players | string(number) | ✓ | ✓ | ✓ | Maximum number of players allowed to connect at once. |
mod_count | number | ✓ | Number of mods installed on the server. | ||
mods | object[] | ✓ | ✓ | List of mods and their versions installed on the server. | |
mods_crc | number | ✓ | |||
name | string | ✓ | ✓ | ✓ | Server's name. |
players | string[] | ✓ | ✓ | List of player's usernames connected to the server. | |
require_user_verification | string(boolean) | ✓ | ✓ | ||
server_id | string | ✓ | ✓ | ||
tags | string[] | ✓ | ✓ | List of server tags. |
Application Version
Key | Type | Description |
---|---|---|
build_mode | string | |
build_version | string(number) | |
game_version | string | |
platform | string |
Mod Description
Key | Type | Description |
---|---|---|
name | string | ID of the mod. |
version | string | Version string of the mod. |