Page 1 of 1
Matchmaking API
Posted: Tue Jul 12, 2022 6:18 pm
by squiddog
Team,
Is the API supported? I am able to authenticate, and use the get-games endpoint, but the get-game-details endpoint generates a "404 Not Found"
Re: Matchmaking API
Posted: Mon Jul 18, 2022 9:44 am
by vinzenz
404 means the matching server doesn't know about the given game id, can you provide more details?
Re: Matchmaking API
Posted: Mon Jul 18, 2022 2:38 pm
by squiddog
Example (redacted token)
Code: Select all
https://multiplayer.factorio.com/get-games?username=squiddog&token=REDACTED
This returns (I am clipping it off)
Code: Select all
[
{
"game_id": 12975085,
"name": "Factorio Server",
"description": "Hosted by Nodecraft.com",
"max_players": 0,
"application_version": {
"game_version": "1.1.61",
"build_version": 59839,
"build_mode": "headless",
"platform": "linux64"
},
"game_time_elapsed": 510,
"has_password": false,
"server_id": "wkhWdIc4jhl/wKYb6LY0RXeJ+CZHDnMHEjaUwlygAWQ=",
"tags": [
"game",
"tags",
"nodecraft"
],
"headless_server": true,
"has_mods": true,
"mod_count": 51
},
{
"game_id": 12942089,
"name": "[WIF] Factorio",
"description": "Wif Factorio Server",
"max_players": 0,
"application_version": {
"game_version": "1.1.61",
"build_version": 59839,
"build_mode": "headless",
"platform": "linux64"
},
"game_time_elapsed": 1593,
"has_password": true,
"server_id": "Ucv60GgoeS+RZMsru/t7huCGIa1opmb9wZxJa9c6EM4=",
"tags": [
"game",
"tags",
"nodecraft"
],
"headless_server": true,
"has_mods": true,
"mod_count": 20
},
{
"game_id": 10955453,
"name": "Tuuttiposse Factorio Server!",
"description": "Einarin työhönvalmennus kurssi",
"max_players": 20,
"application_version": {
"game_version": "1.1.42",
"build_version": 59009,
"build_mode": "headless",
"platform": "linux64"
},
"game_time_elapsed": 1300,
"has_password": true,
"server_id": "PMlscmzh2ANhFroEg8+XjeSbrkYCtUb2tETLu9mkfGU=",
"tags": [
"tuuttiposse"
],
"has_mods": false,
"mod_count": 0
},
{
"game_id": 13010165,
"name": "factoribruh",
"description": "yeeeeeeeeeeeeeeet",
"max_players": 20,
"application_version": {
"game_version": "1.1.61",
"build_version": 59839,
"build_mode": "headless",
"platform": "linux64"
},
"game_time_elapsed": 796,
"has_password": true,
"server_id": "sb6uAghktQksXGNzqENXNdvtd4ILwflg9Smme5n7bsE=",
"tags": [
"mobiusnone"
],
"headless_server": true,
"has_mods": true,
"mod_count": 3
},
If I then try and use any of those game IDs, like
Code: Select all
https://multiplayer.factorio.com/get-game-details/?game_id=13010165
I get:
Code: Select all
<!doctype html>
<html lang=en>
<title>404 Not Found</title>
<h1>Not Found</h1>
<p>The requested URL was not found on the server. If you entered the URL manually please check your spelling and try
again.</p>
Re: Matchmaking API
Posted: Mon Jul 18, 2022 4:40 pm
by squiddog
It seems more like the specific API "get-game-details" is not found. This is not an application error. Other Matchmaker API calls that have bad or missing parameters return explicit errors. I can misspell the key and it's the same error.
Re: Matchmaking API
Posted: Mon Jul 18, 2022 4:48 pm
by Bilka
squiddog wrote: ↑Mon Jul 18, 2022 2:38 pm
If I then try and use any of those game IDs, like
Code: Select all
https://multiplayer.factorio.com/get-game-details/?game_id=13010165
It should be
https://multiplayer.factorio.com/get-ga ... s/13010165, without the "?game_id=". This is documented here:
https://wiki.factorio.com/Matchmaking_A ... me-details
Re: Matchmaking API
Posted: Mon Jul 18, 2022 7:29 pm
by squiddog
Well oh crap, that was obvious. Thanks!
Re: Matchmaking API
Posted: Mon Jul 18, 2022 7:30 pm
by squiddog
As long as I have you here....
Is there an easy way to, from the API, find a specific game (maybe matching a name)? Vs getting the list of all games and then parsing the JSON?
Re: Matchmaking API
Posted: Mon Jul 18, 2022 9:01 pm
by squiddog
Never mind, I can use jq on the whole json and get my gameIDs and other info in a single line.