In other languages:

Matchmaking API: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
Line 73: Line 73:
| ✓
| ✓
| ✓
| ✓
| True if a password is required to join the server.
| "true" if a password is required to join the server.
|-
|-
| host_address
| host_address

Revision as of 03:39, 17 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 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 "alpha", "headless", or "steam".
build_version string(number)
game_version string Game version running on the server, e.g. "0.14.21".
platform string OS the server is running on. "linux64" for Linux, "mac" for Mac OS X, and "win64" for Windows.

Mod Description

Key Type Description
name string ID of the mod.
version string Version string of the mod.