Alternative way to make "clans" in a game without using Roblox's Datastoreservice

Recently I’ve attempted to make “clans” in a game using Roblox’s datastoreservice.

The purpose of the clans were like groups that people would come together with, but you would get additional in-game buffs with upgrades.

And it is safe to say it went horribly, horribly wrong.

First, it was very slow, and I mean slow. Every time you would make a clan, it would take around 3-5 seconds for the data to save.
Second, it was very hard to manipulate. I couldn’t list every clan made, and it was just a mess.

Is there any online service or just any module that is suitable for making this? Thanks!

1 Like

Unfortunately, you’ll have to use DataStoreService to save any data. If you really don’t want to, you could try taking a look at MemoryStoreService, but I don’t think it’s suitable here.
I would suggest using a custom module named ProfileService to help you with storing the data. However, I don’t have any experience with it. You should read into it though, it may prove useful in your situation.

1 Like

Thanks! I’ll see and try it. I’m sure I can use any external servers on the web, but I’ll try this first.

1 Like

Well the safest option would be datastoreservice

This is highly unlikely and would most probably be slower than datastores

The only use case I would use 3rd party datastores would be cross-experience data sharing or if you wanna share your data to 3rd party sites (discord, your own website etc)

Also ProfileService I’m pretty sure is just a wrapped datastore.

What I would suggest is save a table object that holds all the data for a clan inside of a table in your currently running game, then save to datastore. You should only use datastores when a player leaves/joins anyway.

2 Likes

The clans are supposed to work game-wise, so if the clan gets updated, it needs to apply to all servers since there might be people outside of the clan owner’s server. This is the main reason why I don’t use datastoreservice since its quite hard using it like this