Open Maxence1502 opened 9 months ago
Hello, please use the issue templates. It seems that Satisfactory doesn't support valve server queries, but I've found a mod thats made for this: FicsIt Remote Monitoring. I've seen on the steamdb page of the dedicated server that it uses Epic Online Services, it could be queried that way, but finding the necessary keys for the epic protocol is tricky here.
Hello, there is still no way without adding a mod ?
None that I know of at least unfortunately :/
A major update to Satisfactory has been released today, and the game is now in 1.0.
Maybe the protocols have changed, do you know if we can make it compatible?
From their patchnotes:
We have added support for an HTTP API, so it is now possible to create applications to communicate with the dedicated server for those who are interested in developing tools for it :)
And upon starting a dedicated server (hope it means what I think):
PacketHandlerLog: Loaded PacketHandler component: FactoryDedicatedServer.DSQueryHandlerComponentFactory (DSQueryHandlerComponent)
So I guess its possible, I'll look into it later on.
From their Discord server:
I unfortunately do not own the game.
DedicatedServerAPIDocs.md Here is a reference to the API documentation.
It looks like there is a UDP endpoint that doesn't require any kind of authentication and provides an always available status response.
It also has a QueryServerState API endpoint which returns more detailed information.
Let me know if you need help for testing or debugging in game
Investigated this and will look at contributing. There are two requests needed, one to get a authentication token and then the second to get the server state. Making some notes here and will continue tomorrow.
First Request to Get Authorization Token
> POST https://localhost:7777/api/v1
> Content-Type: application/json
> data {"function":"PasswordlessLogin","data":{"MinimumPrivilegeLevel":"Client"}}
This will return a JSON with an authenticationToken.
Second Request to Get Server State
> POST https://localhost:7777/api/v1
> Content-Type: application/json
> Authorization: Bearer **authenticationToken**
> data {"function":"QueryServerState","data":{"clientCustomData":{}}}
This will return a JSON with serverState including activeSessionName, numConnectedPlayers, playerLimit, techTier, activeSchematic, gamePhase, isGameRunning, totalGameDuration, isGamePaused, averageTickRate and autoLoadSessionName.
Looking forward to seeing the PR and getting another contributor to GameDig 👍
Hello,
Is it possible to support this game : https://store.steampowered.com/app/526870/Satisfactory/
Thank you :)