Greetings Pioneers! I got my local dedicated server stats added to Home Assistant and wanted to share if anyone else is interested.
First off the API documentation can be found at “steamapps/common/Satisfactory/CommunityResources/DedicatedServerAPIDocs.md” or here thanks to redditor /u/suudo.
I generated an API token by opening the game client, clicking Server Manager > Console and entering the command server.GenerateAPIToken
and added the following code block below to my configuration.yaml file.
NOTE: I assume this goes without saying, but just wanted to note that you need to input your own server IP at YOUR_DEDICATED_SERVER_IP and input your own API token at YOUR_TOKEN in my example below. If there’s more you want to see please consult the documentation I’ve linked above.
NOTE: I specified a unique_id for each sensor so they are customizable in the UI - this can be literally anything as long as it’s unique.
rest:
- scan_interval: 60
method: POST
resource: "https://YOUR_DEDICATED_SERVER_IP:7777/api/v1"
verify_ssl: false
headers:
Authorization: Bearer YOUR_TOKEN
Content-Type: "application/json"
payload: '{ "function": "QueryServerState" }'
sensor:
- name: "Satisfactory Connected Players"
value_template: "{{ value_json.data.serverGameState.numConnectedPlayers | int }}"
unique_id: 63628608-0139-40f0-b163-d2534d17ca78
unit_of_measurement: "Players"
- name: "Satisfactory Tech Tier"
value_template: "{{ value_json.data.serverGameState.techTier | int }}"
unique_id: 63628608-0139-40f0-b163-d2534d17ca79
- name: "Satisfactory Average Tick Rate"
value_template: "{{ value_json.data.serverGameState.averageTickRate | float | round(1) }}"
unique_id: 63628608-0139-40f0-b163-d2534d17ca7a
unit_of_measurement: "Ticks/s"
- name: "Satisfactory Active Session Name"
value_template: "{{ value_json.data.serverGameState.activeSessionName }}"
unique_id: 63628608-0139-40f0-b163-d2534d17ca7b
- name: "Satisfactory Total Game Duration"
value_template: "{{ (value_json.data.serverGameState.totalGameDuration | int) // 3600 }}"
unique_id: 63628608-0139-40f0-b163-d2534d17ca7c
device_class: "duration"
unit_of_measurement: "hours"
Same here, I have a subscribed list too when I want to look at specifically my interests. But lately it seems like 'hot' kind of sucks, it's all posts with low upvotes and no comments. I've been having to look at top 12 hr now