DataStore2 vs ProfileService vs Suphi's DataStore Module

  Рет қаралды 13,997

Suphi Kaner

Suphi Kaner

Күн бұрын

Пікірлер: 72
@الواد-أبو-مناخير
@الواد-أبو-مناخير Жыл бұрын
Omg I didn't know about the Ctrl + F method. It saved my life. Thank you so much bro! You earned a subscriber:)
@abidbmtt
@abidbmtt Жыл бұрын
Wow this is great! Im really looking forward to using SDM in my future games, are you also planning on adding support for the new automated GDPR request handling? It would be really great if that is a feature too!
@5uphi
@5uphi Жыл бұрын
You can do dataStore.UserIds = {12345}
@umamidayo
@umamidayo Жыл бұрын
After analyzing ProfileService and DataStore2 modules, you pointed out some flaws that should've been considered by the developers: the race condition and the heartbeat connection, which are both wasted optimizations. Your solution to the current datastore issues in both of them is strong because it's maintaining synchronous datastore and not relying on potential failures. That all leads to Roblox being responsible for datastore failures, which means your methods are quite reliable. If possible, what would be some flaws that your datastore module has, compared to the latter? I could only point out that the unique id can also be generated via user and time stamp instead of a long alphanumeric string for optimal solutions, but maybe that's because you're ensuring a random id, no matter what. I couldn't think of anything else to compress and decompress, but I believe that the smaller the string, the less bytes are sent to the server; resulting in lower datastore usage. Either way, I think you've convinced me that it's time to upgrade from DataStore2 from your thorough explanation. Lastly, I want to strongly point out that your usage of constructors is really clean and easy to understand, compared to the other modules. It reminds me of Java's classes.
@5uphi
@5uphi Жыл бұрын
Because you don't have to use SDM for just player data, using user and time stamp would not be a robust solution Compress and decompress are disabled by default and I only recommend turning it on if 100% needed
@umamidayo
@umamidayo Жыл бұрын
@@5uphi I see, it seems like the SDM's unique id would then be use-case depending on your game. However, I am certain that most people will use it for player data, so tweaking the compression, encoding, and id methods would help reduce datastore usage. I've struggled to figure out a smart way to reduce player data for a large scale RPG game, and so has many others for DataStore. If you did implement an excellent compression service, it would be a very optimal solution for storing large amounts of information, such as an inventory or build saves. There's a lot of potential, essentially.
@5uphi
@5uphi Жыл бұрын
You can ignore the unique id it will just work and you don't even need to worry that its there its only there to store a temporary lock into the memorystore while the session is open it has no effect on your game This video will show you how to enable compression: kzbin.info/www/bejne/r5y6nHelq8SrY5o
@sunzalea3257
@sunzalea3257 3 ай бұрын
as someone who’s just now getting into data store this is confusing 😵‍💫😵‍💫😵‍💫😵‍💫
@Chiurlyy
@Chiurlyy Жыл бұрын
Seems like SDM is the best of all worlds! I will definitely give it a good shot for future projects. Thank you for making these videos too!
@gibbonbasher8171
@gibbonbasher8171 Ай бұрын
I love how intuitive your solutions are to certain problems. Underrated channel
@scriptedinterface5403
@scriptedinterface5403 Жыл бұрын
Hey! I really like your channel! Could you make a tutorial that covers how to make a state machine? I really need that and I'm sure it will be helpful for others too!
@5uphi
@5uphi Жыл бұрын
I find that when I make something that has states depending on what the thing is the code ends up vastly different to other things that have stats so I feel there is not a general rule that can be used for all state machines and each state machine needs to be designed separately depending on what it wants to do
@zabuxman4631
@zabuxman4631 Жыл бұрын
DS2 vs Ps vs SDM *A Knockout!* SDM has won.
@goreacraft
@goreacraft Жыл бұрын
Amazing, thank you. Although i do not need a datastore saving system, i still learned many new things from watching this video. I had no idea about "export type" and "table.freeze" for example
@t_bcYT
@t_bcYT 7 ай бұрын
whats good
@NegationPro
@NegationPro 2 ай бұрын
loved the example for session locking
@Boeufplume6771
@Boeufplume6771 Жыл бұрын
Hello Suphi Kaner👋I wanted to make a level editor but i don't know how i could do that. Can you make a video about how to make a level editor?
@PlotPot11
@PlotPot11 Жыл бұрын
I am going to convert from Profile Service, to Suphi's DataStore Module ,before I upload my game, But I have a small negligible note, Not to be rude or anything, Why not name it something cool, memorable and shorter, so people would easily remember it's name or pronounce it(Believe me most people can't pronounce my Username tho it's simple), And give it an Icon.
@5uphi
@5uphi Жыл бұрын
You can call it SDM for short
@mostlyrob3469
@mostlyrob3469 Ай бұрын
ive been told that memorystoreservice is not really that reliable and there are some peopl that complained about it while using your module in your devforum post, will you address that?
@5uphi
@5uphi Ай бұрын
SDM does not relay on the memorystore to save data only for session locking with the default settings the memorystore would need to fail 15 times in a row before the session will close but this will note cause any data loss if Roblox datastore servers are still up and working
@dankmemereal6684
@dankmemereal6684 3 ай бұрын
do you recommend using this datastore on large scale rpg games?
@5uphi
@5uphi 3 ай бұрын
I would say self made, SDM or profile service are all valid options for a large scale RPG game
@nikos4677
@nikos4677 Жыл бұрын
Well I am really confused about the session locking. Roblox doesnt allow players to have 2 sessions anyway why would we need session locking if roblox does this?
@5uphi
@5uphi Жыл бұрын
Datastore is not only used for player data but can be used for many things But one small edge case for players is let's say a player leaves one server and enters the second server in a very short time before the previous server managed to save the data if you don't have session locking the next server will load out of date data but if you have session locking the second server will have to wait until the first server saved and unlock the session
@ZigonIsGone
@ZigonIsGone 8 ай бұрын
profile service goated no comment
@5uphi
@5uphi 8 ай бұрын
Thanks for the comment
@protato4389
@protato4389 Жыл бұрын
I think you should make a FPV channel because I think a lot of your audience would be interested including me!
@5uphi
@5uphi Жыл бұрын
youtube.com/@SilentPOV
@lightzdev
@lightzdev Жыл бұрын
​@@5uphi Wow, I didn't know you lived in Turkiye!
@sadge6430
@sadge6430 7 ай бұрын
dsa
@sadge6430
@sadge6430 7 ай бұрын
oiu
@KennyKenny-p5c
@KennyKenny-p5c Жыл бұрын
Is there a dependency link for wally users?
@5uphi
@5uphi Жыл бұрын
No if you want to make one, feel free to
@dad8102
@dad8102 Жыл бұрын
Id like to ask a question can hackers see the server storage or serverscript using any tool or hack
@5uphi
@5uphi Жыл бұрын
As far as I know I do not believe they can it's also my belief that hackers can't see scripts even if they are not in serverstorage or serverscriptservice
@XaneMyers
@XaneMyers Жыл бұрын
​@@5uphiI can confirm that yeah, exploiters can't see anything that isn't replicated to clients. This includes those two containers, and also affects server scripts; Exploiters can decompile most scripts, but can't do this with server scripts, probably only because their contents aren't replicated.
@Cubo-Doodle
@Cubo-Doodle Жыл бұрын
Nice glasses you have on the thumbnail
@5uphi
@5uphi Жыл бұрын
Thank you
@swordlegend3256
@swordlegend3256 10 ай бұрын
Ur the Goat
@sadge6430
@sadge6430 7 ай бұрын
mnb
@Noon1263
@Noon1263 Жыл бұрын
how do you use your data store module?
@5uphi
@5uphi Жыл бұрын
kzbin.info/www/bejne/i3LHdmtjdsuog9E
@KonEckton
@KonEckton Жыл бұрын
Very interesting
@kazuya49
@kazuya49 Жыл бұрын
43:45 arrows are getting bigger and bigger :o
@5uphi
@5uphi Жыл бұрын
➡️➡️➡️➡️➡️
@DaYoDuDe
@DaYoDuDe Жыл бұрын
Where can I get SDM?
@5uphi
@5uphi Жыл бұрын
This video will show you how to setup SDM kzbin.info/www/bejne/i3LHdmtjdsuog9E
@Vortex-qb2se
@Vortex-qb2se Жыл бұрын
I don't know who to trust with datastore modules anymore, every creator of one of those finds flaws in the others 💀. Though, I'll give this a try, if it's easy enough to use I might replace profile service with it. Though, it sounds a little overwhelming.
@XaneMyers
@XaneMyers Жыл бұрын
Originally, I planned to use ProfileService as my DataStore module, but never actually set it up. When Suphi's DataStore Module was released, I started using it. From what I've tested, SDM is pretty reliable and useful; It seems to always save data when it's supposed to (including when the test server shuts down). I wouldn't be able to test out its "server locks" and other protections against duplication exploits, but I'm assuming that those probably work too. This is probably possible with any of the DataStore modules, but SDM's simple ".Value" variable was easy to integrate into another one of my scripts; I've made a "system" that automatically stores references to the player's character model, parts of that model, and their player instance, and now with SDM, I linked a variable in that structure directly *to* my DataStore's "value", and I can directly write to it to edit my save data from other server scripts. I don't think tht I knew for sure whether I could trust any of the DataStore modules either, but Suphi's was coincidentally a new release when I checked the community resources section of the DevForum, so I felt it was time to give one of them a chance; SDM is pretty good, at least for now.
@dr.poptart
@dr.poptart Жыл бұрын
What about making your own using HttpService?
@privatefield.
@privatefield. Жыл бұрын
impossible
@dr.poptart
@dr.poptart Жыл бұрын
@@privatefield. :(
@HashCollision
@HashCollision Жыл бұрын
Possible, but not realistic. Doing that ties your game to an external server that may or may not still operate in the future. Roblox datastore is here to stay.
@dr.poptart
@dr.poptart Жыл бұрын
@@HashCollision Using httpservice has way less limits on how many requests you make every minute and you could also set it up in a way where a single request would take care of multiple actions (get/set/update).
@HashCollision
@HashCollision Жыл бұрын
@dr.poptart5520 You shouldn't be making requests more frequently than every few minutes anyway. Caching is just a better approach. Also you can already do some basic requests merging with UpdateAsync. Don't see why you'd need more
@akzholtosamaeva117
@akzholtosamaeva117 Жыл бұрын
@trustbands
@trustbands Жыл бұрын
Bro this is so usefull when it comes to exploiters
@HashCollision
@HashCollision Жыл бұрын
Npc comment, this has nothing to do with exploiters.
@milktea.megumint
@milktea.megumint Жыл бұрын
How? Just datastore
@trustbands
@trustbands Жыл бұрын
​@@HashCollisionmaking datastores using profileservice can prevent plrs from duping cash n stuff
@sirmin9798
@sirmin9798 Жыл бұрын
​@@trustbandsто есть ты опровергаешь свои же слова , что этот datastore хорош для exploiters?
@zorgofunnyshorts
@zorgofunnyshorts Жыл бұрын
First and great video!
@Z3SC
@Z3SC Жыл бұрын
How can you say great video you haven't watched :troll:
@Kyles45678
@Kyles45678 Жыл бұрын
@@Z3SC TRUE
@XxBery_AllenxX
@XxBery_AllenxX Жыл бұрын
@@Z3SC Yeah.
@zorgofunnyshorts
@zorgofunnyshorts Жыл бұрын
@@Z3SC because I already know it bouta b crazy
@FriedKai
@FriedKai Жыл бұрын
Hi Suphi! Is it possible for you to make a video on creating a magic then putting it onto a tool then allowing it to be saved in the datastore?
@ArklightStudioROBLOX
@ArklightStudioROBLOX Жыл бұрын
I will be sure to put it into use! This is the best scripting channel for Roblox in MY opinion, I learned a lot from your videos. Thanks!
Linked List / Signals - Roblox Scripting Tutorial
1:52:56
Suphi Kaner
Рет қаралды 10 М.
100 Identical Twins Fight For $250,000
35:40
MrBeast
Рет қаралды 54 МЛН
Nastya and balloon challenge
00:23
Nastya
Рет қаралды 68 МЛН
Новый уровень твоей сосиски
00:33
Кушать Хочу
Рет қаралды 5 МЛН
Running With Bigger And Bigger Lunchlys
00:18
MrBeast
Рет қаралды 115 МЛН
Bye-bye Raycasting! There's a new kid on the block...
15:13
Crusherfire
Рет қаралды 55 М.
The Most ACCURATE Projectile in ROBLOX!!
25:37
fidgetspinner71
Рет қаралды 41 М.
Use Profile Service as Your Data Store! Roblox Development
28:13
Datastore: A Scripter's Worst Nightmare Explained
9:55
Ludius
Рет қаралды 18 М.
Suphi's DataStore Module Basics - Roblox Scripting Tutorial
1:18:59
Luau Type Checking - Roblox Scripting Tutorial
23:36
Suphi Kaner
Рет қаралды 16 М.
Color wheel tutorial!
16:38
Elijah3314
Рет қаралды 61
Save Player Data with Roblox Datastores
21:29
GnomeCode
Рет қаралды 107 М.
100 Identical Twins Fight For $250,000
35:40
MrBeast
Рет қаралды 54 МЛН