Trying to save a LOT of data!

Info:
Hey, I’m making a map-saving system (the player can build&save maps)
I made a instance limit of 1k parts/map
The player can have a total of 10 maps
124 KiB for a (1k part) map (

)

What i wonder
What’d be the best way to save this?

If i uploaded 10 maps with the max part amount it’d take 1,2GB (30+% of MAX space) aka. only a FEW player could save their maps

would it be best to make a seperate mapdatastore for every SINGLE playeruserid?

Apprichiate any help!

  • MrKirdid

I’d do table datastore and save the parts information and their location under a datastore made specially for that map. Repeat for each of the ten maps.

That wouldn’t overload the datastore service?

The best way would be to combine all of your data into a singular string, which you can then decode:

"Part+22356+10416-11541+0+0+0400100200"

You’d have a few spaces to determine the Class/Asset name, a few more for the position and orientation, aswell as size. Remember to include characters to detect if the number is negative or not.

You got any aprox. on how much bitsize that’d use?

I am not 100% sure but you can try saving it as a JSONencoded table (which means it will be saved as a string) and then just decode it using HTTPService

Not more than 45 bytes per Part. Which is really low.

DataStoreService automatically encodes the data as a string and decodes it on retrieval. This wouldn’t change much, if anything at all

You’re not the first one saving a ton of data. Think about games like bloxburg and jailbreak. Jailbreak has like hundreds of cars and saves your customization for each one of them whether you own it or not. I’m sure it’ll be fine

The problem is that datastores will fill up no matter the bitsize, and 1 map is still under the 4gb maximum on each datastore

Really just unsure if making a seperate datastore for each map would be smart or not

Can’t you use an external datastore like Datastore2 pretty sure its better

45 max bytes per part + 1000 max parts would result 45000 maximum bytes, which is 45 KB. You really don’t believe this to be a low number? For comparison, the average floppy disk is 1.44 MB.

You could alternatively store one array with a sub table in it for each map and thus only have one datastore. It’s up to you

Making good points! Think i’ll resume to that, maybe also jsonencoding it?

Guessing that’d cost a service fee?

You have enough storage. I really don’t see why you’d encode it

1 Like

You want to JSONEncode the string? The function is only for tables, which you wouldn’t use here.

1 Like

no Datastore2 is free its better than datastoreservice pretty sure

1 Like

Ahh, confused it with something else, soz!

1 Like

Alright? I’ll look into that then!

1 Like