Page 1 of 1

Cloud.sync issue - file too big maybe? Or custom types?

Posted: Mon Feb 26, 2024 7:30 am
by otisildor
Hi, here is my issue: I have tested using the cloud.sync function to save a file to my server and it works! I can see the file in my es3cloud table in mysql. The test file that I send up is super simple - I just use the ES3.Save function to save one short string and that is all that is in the file that I sync to the server. But as soon as I want to sync my actual game file (which is filled with custom types and is much much larger) it fails to show up in my mysql table. Any idea why this might be? At first there were some size restrictions in the php.ini on the server that were blocking the upload (giving me a 403 error), but I fixed that and now that error went away, but my issue persists.

My game file works fine locally - I can use the ES3.Save function to save it and then the ES3.Load function to load it and it works great, but as soon as I try to do cloud.sync it won't do it. While debugging in my unity code (C#) I found the following log when I hover over my cloud variable (var cloud = new ES3Cloud(......);):

{ES3Cloud}
base: {ES3Cloud}
_webRequest: {UnityEngine.Networking.UnityWebRequest}
apiKey: "XXXXXXXXX"
downloadProgress: System.ArgumentNullException: Value cannot be null.
Parameter name: _unity_self
error: "Uploaded file does not exist or is empty."
errorCode: 400
formData: Count = 0
isDone: true
isError: true
uploadProgress: System.ArgumentNullException: Value cannot be null.
Parameter name: _unity_self
url: "http://XXXXXXXXXXX/ES3Cloud.php"
_data: null
data: null
encoding: {System.Text.UTF8Encoding}
filenames: string[0]
text: null
timeout: 20

Although this log says that the uploaded file does not exist or is empty, I then use that same file to load locally and it is all fine, so the file is obviously not empty and does exist. I'm using the same file references for my local load and my cloud.sync. I can't figure out why it doesn't like my actual game file. Any theories or insight would be helpful! Confirmed I'm using all the latest versions.

Re: Cloud.sync issue - file too big maybe? Or custom types?

Posted: Mon Feb 26, 2024 8:37 am
by Joel
Hi there,

This would indicate another server configuration issue. Specifically that your server is rejecting the file upload, or it's being uploaded as an empty file. I'll PM you an updated ES3Cloud.php which will be able to tell you which one of the above it is.

All the best,
Joel