Some leads on the T5SP session issue
-
Hey,
I've been trying to debug the T5SP dedicated server session issue using a server plugin and I got some information that might help fixing it.
When theEXE_ERROR_MODIFYING_SESSION
message is shown on the console on each session modifying attempt, the lobby error code isBD_SERVICE_NOT_AVAILABLE
.
One time I had theconnection with styx socket lost
error message on the console and then directly after that the session error happened on each session modifying attempt even after the connection with the socket has been reestablished, but I'm not sure that's related because it still happens a lot without the styx message.
Also, sometimes the session creation fails directly when starting the server and the messageEXE_ERROR_CREATING_SESSION
is shown on the console, then all the next session modifying attempts will throwEXE_ERROR_MODIFYING_SESSION
with the lobby error codeBD_INVALID_SESSION_ID
.
It looks like there are no checks to verify that the session has been created successfully when the server starts, but why does it fails sometimes?
I struggled getting these lobby error codes because the logic of thedwUpdateSessionComplete
function is kinda weird, it only prints an error message if the task status isBD_DONE
, which isn't the case when the session error happens.
As a first workaround, I found that calling the functionDWDisconnectLobby
can make the server recreate the session successfully but it completely reinitialize the connection with Plutonium servers, disconnects all clients and rotates to the next map, it can be useful when the server is empty but the session issue can also happen in the middle of a game.
I couldn't find the root cause of thisBD_SERVICE_NOT_AVAILABLE
error, maybe something goes wrong on the backend side, maybe not, I don't know. For the moment I'm trying to find a way to recreate the session without stopping the current game and disconnecting everyone.
Hope this helps!