Open imstupidwithlinux opened 4 months ago
Hmm okay, im sorry to hear that. Im currently not running a server because of my heavy workload, so i can't say if it should work or it is broken currently. Maybe someone else can help here.
maybe try my latest image image: devidian/spaceengineers:winestaging
i recently updated os and wine to latest version. Might go into main soon.
I'm also having problems with this. The Steam GetServersAtAddress API responds with {"response":{"success":true,"servers":[]}}
even though my server is running (I can play on it).
I devised a different health check script:
#!/bin/bash
# Payload is "TSource Engine Query" padded by ffffffff and with null terminator.
PAYLOAD="\xff\xff\xff\xff\x54\x53\x6f\x75\x72\x63\x65\x20\x45\x6e\x67\x69\x6e\x65\x20\x51\x75\x65\x72\x79\x00"
RESPONSE=$(printf $PAYLOAD | nc -u -w1 $PUBLIC_IP "27016") # Hardcoded port
if [ -n "$RESPONSE" ]; then
exit 0
else
exit 1
fi
I formulated this by inspecting the traffic between client and server as it connects. It seems as though the client sends "TSource Engine Query" to the server, which then responds with nine bytes which the client echoes. A handshake I guess. The above script only checks whether the server responds (within one second "-w1"), and does not echo the response back.
The port is hardcoded. Perhaps that should be an environment variable like the PUBLIC_IP.
It does add a dependency: netcat. It's only 140 kB though. Aside from the current healtcheck, curl only seems to be used once in Dockerfile which can be replaced by wget, so 480 kB can be saved by removing it if I'm right.
tried putting my domain there the ipv4 localhost 127.0.0.1, nothing works