I have a current use-case of firing data from the server to client via Remote Event to load game data. Client generates everything entirely on their end. As the game progresses, this data becomes larger so late players have more to receive than those who created the server.
Sometimes not all objects are successfully created on the client, implying that data was lost. I’m looking to understand if there is a limit on server-client single TX. From what I can tell, the documentation makes no mention of one, but I’m certain there must be.
I suppose I could rig something to test this, but I’d rather fish the waters to see if someone already knows. Thanks!
The Remote Event article used to mention a limitation of 50 Kb/sec of data passed through remote events, but as that’s been removed, perhaps there isn’t a size limit anymore. There are a few other limitations worth reading though, I ran into the problem of mixed tables until I found that article.
Perhaps we’ve made similar game loading systems though. I’ve been making a client-rendered tycoon like game, and ran into the same theoretical problem that returning players would have a lot more save data than new players. My first attempt with RemoteEvents made me exhaust the event quickly, so I moved to a system where the server prepackaged their tycoon, placed it in a folder with a localscript, parented it somewhere in the client, and had the localscript unload all the contents into the camera. Might work for you as well?
Interesting, I hadn’t considered passing game objects to the client as a form of data loading in this manner. That’s a cool method!
You’re probably right about similar loading systems. The server-client for me is a two-dimensional array of tile data, containing all subsequent child values so the client can render it. It’s a one-time fire for my setup so the data is initialized and then is simply updated with appropriate changes over time (instead of re-init every second for example). Problem exists within that first initialization TX when there’s presumably too much data and some is lost.
The straightforward solution is probably to split-up the init-TX into sections to avoid the hypothetical data limit. Using a folder would take some data-massaging to make it easy to read/write but it would be an easy transmission. Appreciate your idea!
Wasn’t aware of this, good information to know. Is it specifically the case of nesting arrays and dictionaries or does this apply to nesting of arrays within arrays as well?
Why not just use values that the server updates and make a connection when the player comes into game on the client if the value changes it renders the change. also once connected to the value run initial render/setup. if its a table of items just json it to the value and you can do this using attributes also