Matchmaking API: Difference between revisions
No edit summary |
No edit summary |
||
Line 62: | Line 62: | ||
| ✓ | | ✓ | ||
| ✓ | | ✓ | ||
| | | The server's description. | ||
|- | |- | ||
| game_id | | game_id | ||
Line 83: | Line 83: | ||
| ✓ | | ✓ | ||
| ✓ | | ✓ | ||
| | | Number of in-game minutes the loaded map has elapsed. | ||
|- | |- | ||
| has_password | | has_password | ||
Line 90: | Line 90: | ||
| ✓ | | ✓ | ||
| ✓ | | ✓ | ||
| | | True if a password is required to join the server. | ||
|- | |- | ||
| host_address | | host_address | ||
Line 97: | Line 97: | ||
| ✓ | | ✓ | ||
| ✓ | | ✓ | ||
| | | The IP address and port number the game server is hosted on. | ||
|- | |- | ||
| last_heartbeat | | last_heartbeat | ||
Line 111: | Line 111: | ||
| ✓ | | ✓ | ||
| ✓ | | ✓ | ||
| | | Maximum number of players allowed to connect at once. | ||
|- | |- | ||
| mod_count | | mod_count | ||
Line 118: | Line 118: | ||
| | | | ||
| | | | ||
| | | Number of mods installed on the server. | ||
|- | |- | ||
| mods | | mods | ||
Line 125: | Line 125: | ||
| ✓ | | ✓ | ||
| ✓ | | ✓ | ||
| | | List of mod descriptions (described later). | ||
|- | |- | ||
| mods_crc | | mods_crc | ||
Line 139: | Line 139: | ||
| ✓ | | ✓ | ||
| ✓ | | ✓ | ||
| | | Server's name. | ||
|- | |- | ||
| players | | players | ||
Line 146: | Line 146: | ||
| ✓ | | ✓ | ||
| | | | ||
| | | List of player's usernames connected to the server. | ||
|- | |- | ||
| require_user_verification | | require_user_verification | ||
Line 167: | Line 167: | ||
| ✓ | | ✓ | ||
| ✓ | | ✓ | ||
| | | List of server tags. | ||
|} | |} | ||
[[Category:Technical]] | [[Category:Technical]] |
Revision as of 20:25, 8 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/
Key | Type | Endpoints | Description | ||
---|---|---|---|---|---|
get-games | details | create | |||
application_version.build_mode | string | ✓ | ✓ | ✓ | |
application_version.build_version | string(number) | ✓ | ✓ | ✓ | |
application_version.game_version | string | ✓ | ✓ | ✓ | |
application_version.platform | string | ✓ | ✓ | ✓ | |
description | string | ✓ | ✓ | The server's description. | |
game_id | number | ✓ | ✓ | ✓ | |
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 | ✓ | |||
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 mod descriptions (described later). | |
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. |