Curl/SSL issues UGS/Remote Config

Hello,

We recently upgraded our multiplayer unity project from Unity 2021 LTS to 2022.3.38f1. We are hosting our multiplayer servers on PlayFab. Prior to upgrading from 2021 LTS, everything worked fine. The only reason we upgraded is because this version of Unity was deprecated in Unity Cloud.

Upon upgrading, we now recieve Curl errors when trying to fetch the config only when the server is running on PlayFabs machines. So we updated Remote Config to 4.x (latest) following the migration guide. Now the Remote Config sometimes works

When trying to authenticate using SignInAnonymouslyAsync, as per the documentation, we get the following errors:
Curl error 35: Handshake failed. UnityTls error code,
[Authentication]: Network error detected, retrying…
This is presumably followed by success because we check the signed in bool before continuing bootstrapping our application.

Then when we later try to fetch the config, a lot of the time we get the following:
Curl error 28: Connection timed out after 10688 milliseconds

This behaviour is not consistent. But it also seems to result in PlayFab nuking the VM and all other server instances on it.

I’m at my wits end with this issue, I’m trying to communicate with PlayFab as well but I feel this is a UGS issue

Just an update, I tried using ServerAuthenticationService.Instance.SignInWithServiceAccountAsync with a Service Account. I get the same issues. Sometimes it succeeds, and remote config fetches just fine. This is despite recieving the errors: “Auth Service not initialized, and Request might result in empty or incomplete response”.

Server auth sometimes fails, and I get the following errors:

{“log”:"Signing in from sever\r\n",“stream”:“stdout”,“time”:“2024-08-07T23:52:10.3545623Z”}
{“log”:“Curl error 28: Handshake failed. UnityTls error code: 7\r\n”,“stream”:“stdout”,“time”:“2024-08-07T23:52:56.4059826Z”}
{“log”:“Curl error 35: Handshake failed. UnityTls error code: 7\r\n”,“stream”:“stdout”,“time”:“2024-08-07T23:52:56.4059826Z”}
{“log”:“Curl error 28: SSL connection timeout\r\n”,“stream”:“stdout”,“time”:“2024-08-07T23:53:15.424565Z”}
{“log”:“Curl error 35: Handshake failed. UnityTls error code: 7\r\n”,“stream”:“stdout”,“time”:“2024-08-07T23:53:27.444247Z”}
{“log”:“Uploading Crash Report\r\n”,“stream”:“stdout”,“time”:“2024-08-07T23:53:27.444247Z”}
{“log”:“ServerAuthenticationException: Unable to complete SSL connection\r\n”,“stream”:“stdout”,“time”:“2024-08-07T23:53:27.444247Z”}

Actually, I just checked, and even servers which succeed to pull remote config throw this same errors, but not the exception.

Hi @skin995,
We are sorry to hear that you are experiencing issues with RC and Authentication package. Namely, for RC request to be valid, userId and projectId are two mandatory parameters. RC versions 3.x and 4.x rely on Authentication in order to obtain installationId which is used as userId for RC request. At this point, we are unsure what intermittently causes aforementioned errors, however the future version of RC (5.x) will not use Authentication as a dependency, as userId will come through Core services.
Additionally, the precise release date of RC 5.x is unknown, but it should happen soon.