Is a version of this that supports Datastore v2 being coded?
Update v3.2.0
As part of the new DataStore V2 upgrades, I have been working on some new changes. Today I have pushed a few new ones, with more to come:
- Adds ability to list/filter DataStores
- Adds ability to list/filter keys (if DataStore V2 is checked)
- Adds label to show data size of a key at the bottom
- Fixes ScrollFrame width resizing
- Fixes a few other small bugs
Coming in the future:
- Ability to view/edit metadata
- Ability to view previous key versions & swap to those versions as the current version
Along with these changes, I will also be incrementally stepping up the price of the plugin. As of writing, I have bumped it to 200 R$ (from 150 R$).
I have a small bug report, when I want to delete value e.g. “SomethingReallyNice” → 0 it does not allow me to save changes (workaround for now is to insert something and then delete it right away and the save changes button becomes available).
Anyways is there a way to donate you, I can’t imagine working without this amazing plugin and I want to give you something in return for it.
Hi, can you give me some more info on this?
Are you deleting a whole key with the Delete button in the top-right, or just deleting a key out of a table?
Hey, sorry that I haven’t been able to form my reply better.
Here’s video of the behaviour:
https://gyazo.com/c0e06a8750867ed7bee3cbbaab48fefb
With the new update, I noticed that there’s a character count, etc like you said,
but it says 4,000,000 characters, and not the more specific actual limit which is 4,194,301.
I wonder if this is something you decided on, or just didn’t know, or maybe you thought it was better to show that instead so that people don’t rely on the more specific limit? I don’t know.
Just wondering if that was intentional or not, and if not if you plan to fix it.
Hey,
It seems like I can’t access GlobalDataStore with the Plugin…
Any idea how to access it?
Thanks, Nehoray
I got the number directly from the DataStore documentation page.
Use the name “global”
If this is the case, then it’s possible an engineer miscommunicated with a wiki writer, causing them to write 4 Mb instead of 4 Mib. Might be worth a report on the typos thread.
Does this work for ProfileService?
That’s fine, that number is meant to be what people should use as a reference point as to how much data they can save. However, like I said if you don’t want confusion with people around being confused as to why they’re able to save more than 4 million characters, then I suggest changing it to the more specific limit.
You could also only show the more specific limit once the data saved is >= 4,000,000.
It doesn’t really matter, but anyhow, it’s basically a 192KB difference, which is a lot.
Therefore I believe you should use the more accurate higher actual limit.
Yeah if that’s the actual limit, I’ll change it. Has anyone tried to fill a key to that limit to verify?
I can’t at this moment, but this should work.
Note: Like the person who shared this info said, his test only worked after he removed ~3 characters from the string, so ¯\_(ツ)_/¯
local CharacterCount = 4000000 --// edit this with the more specific limit
local Str = {}
for _ = 1, CharacterCount do
table.insert(Str, "a")
end
DataStore:SetAsync("key", table.concat(Str))
The limit is 4*1024*1024-1
(4,194,303) bytes of JSON data. For a string containing non-escaped characters, the maxmimum length would be 2 less to account for the double-quotes of the JSON string.
local limit = 4*1024*1024-1
local ds = game:GetService("DataStoreService"):GetDataStore("test")
print(pcall(function() ds:SetAsync("test", string.rep("A", limit-2)) end))
--> true
print(pcall(function() ds:SetAsync("test", string.rep("A", limit-1)) end))
--> false 105: Serialized value exceeds 4MB limit.
ds:RemoveAsync("test")
print("DONE")
it might be paid yes, but seeing how it works it’s 100% worth it due to the time and effort sleit put in it. great job!
Thank you! I’ll update the plugin accordingly.
Version 3.2.5 has been released. Small update:
- Data usage display will show human-readable label, e.g.
Data Usage: 10 MiB (25%)
- When hovered over, a tooltip will pop up to show the precise bytes used
- Utilize UICorner for the UI instead of ImageLabels
- Small UI adjustments/improvements
That’s showing limit-2
, rather than just limit
. The length of the final encoded data has a limit of 4,194,303 bytes.
Lua value --> (JSON encode) --> JSON data --> DataStore
^
|
Limit enforced
4,194,301, on the other hand, is the effective limit of a simple Lua string before it is encoded. The difference is caused by the overhead produced by the JSON encoding. Other Lua values will produce different amounts of overhead, but the final result of the encoding will always have a limit of 4,194,303 bytes. Sorry that I wasn’t clear on this.
Can I get a student discount?
Upgrades people, upgrades. (Also, why is it so expensive? 200 is pretty steep.)