Hangups B-Gone!

September 28, 2016

Connections time-outs should now be a thing of the past!

Hey everyone.

If you’re just joining us, welcome to the server!

For those of you who have lately been experiencing the connection timeouts of death, good news; those should now be a thing of the past!

The issue has been a long-standing one, that results from (possibly malicious) systems trying to connect to the Starbound server port (21025). The issue, is that they don’t connect “correctly”… and Starbound doesn’t like that.

If the Starbound server software handled these situations correctly, once it realized it was a bad connection, it would close the connection, dust off its hands (close the socket), and walk away. Right now, however, it fails at those last two steps, resulting in a closed connection but an open socket. Once the server accumulates 10 of those, it can no longer accept any connections and we get the timeouts of death.

The (hackish) solution then, was to force the Starbound server to realize the connections were bad and close the sockets. This is done by leveraging a perl script called killcx that spoofs a packet on the open socket, making Starbound server realize it was a bad socket connection, and close the socket. This is not an ideal solution, but it is one that works for now, until things get fixed proeprly.

All in all, this means that timeout issues should no longer be issues, and the server should be able to go back to being 24x7 uptime. This has been a long time coming, but I’m glad to finally have this issue resolved.

See you space cowboy…