Global Datastore Service! (Closed)

Global Datastore Service

Hello Devforum! As an addon to my previous tutorial, about hosting your own datastore with node JS, I have decided to set up and host my own public one!

Some info about the site:

  • The website will be on 24/7, if the site goes down for updates the API will still be usable.
  • All data is secure, data backups are preformed every week, in the event of an error on the server I can roll back your data.

You can sign up here (Website no longer exists) . I have made it as simple as I can make it, for the non tech-savy users.

If you are concerned about security, all passwords are stored using SHA256, SQL Injections are impossible, any possible entry point is sanitized before being entered into the SQL command.

Once you sign up you will need to activate your account and check the email. ( It will probably end up in junk mail)
When you login it generates you a token, you need to keep this token a secret or people can store data as you.


( This key is not real, do not try and post to it. You’ll just error )

Once you have gotten the key you can get the Roblox module here.

To use it copy the template below, to get started.

local GSCK = require(script.Parent.GSCKStore)
local key = "PUT YOUR SECRET KEY HERE";

GSCK:Set("Test Key","Test Value",key)

print( GSCK:Get("Key",key) )

That will store Test Value in Test Key
e.g.

Key Value
Test Key Test Value

And there you go! You now have a global database that will work on any place that has HTTP Service enabled!

You can get the source here https://github.com/pushgsck/GSCKStore

If you have found any bugs send me them here or on discord gsck#0874

29 Likes

I’m going to give your site a lot of love. Can’t even picture how far I can reach with this…amazingness. Awesome work man :+1:

2 Likes

No problem! Can’t wait to see what you do with it.

Considering you are posting this publicly, you might want to include a disclaimer not to use it for high-traffic projects just in case. I don’t suppose you have more than one node running this stuff and the memory that can be used is probably very limited.

1 Like

The server has unlimited traffic and 20GB of RAM. If there is any ridiculous amount of requests from a user I will lock them out and send them an email. This isn’t running of a webhost, it is running of my own VPS

1 Like

Could you tell us the exact limits per user? E.g. how many requests per player per minute are allowed before you lock the developer out?

Asking mainly because if this site is permanent and stable I might actually use it for my main project (with potential for high volume traffic)

1 Like

Any more QoS info would be greatly appreciated :slight_smile:

Anyone considering using this should be wary. It’s a nice thought, but it’s just not a safe bet for any developer considering relying on something like this for something so integral to a game (user data).

  • It’s free, with no contract. The author has no obligation to keep your data around or continue the service. Even if the author promises to do so, that’s a promise he cannot truly make. For example, if the author were to become unable to maintain the project or unable to pay for hosting for any number of reasons (work, health, financial situation, death) you would be left with no recourse.
  • There is no SLA on uptime or data integrity. Maintainers of free projects have no incentive to guarantee up-time or ensure that your data doesn’t become corrupted. You are trusting the author and his skills completely (and likely blindly).
  • You are adding more potential points of failure to your critical infrastructure. Right now, all Roblox games are reliant on Roblox for keeping their servers working. Roblox is a huge corporation with massive incentive to have as much up-time as possible. A project like this is far more likely to fail, crippling your game until it’s restored (if ever).
  • It’s a black box. A “black box” in terms of a software project is a component in which you input data and receive output, but you do not know what that component does or can do with the data in the mean time. While it may be a relatively simple component (key/value stores), this still applies as changes can be applied to the service at any time without notice.

The author isn’t a bad person for making this, it’s actually a genuinely nice gesture to the community. But experienced developers will already know everything I outlined above, so this really only serves as a trap for naive developers who don’t know any better. Roblox’s built-in DataStore service is more than enough for most games, and if you are serious about a custom data storage solution then you should be looking at the big players with proper contracts and SLAs (Google Firebase Realtime Database is probably your best bet).

16 Likes

I don’t mind lots of requests, if you are purposely trying to break it, or it looks as if you are, I will lock the user.
Same for creating thousands of new entries of useless info. If you make a game thats popular with this and are saving user’s data, such as points or structures, I am okay with it but if you are spamming it with blank data you shall be locked.

Found a bug with the mail server. Sorry about that, if you signed up I have verified you.

I think anyone wanting to use this should consider these points. I do plan on releasing all of the code tonight, so if you are interested seeing how it works you can see.

This was never intended for serious developers, if you are looking for something better than Roblox’s datastores but still want to host it yourself my previous forum post NodeJS Datastore with that you host it yourself and you know what happens with your data and how it gets from point A to point B.

2 Likes

As of now there is no QoS, I do plan on adding a priority system to users.

Neat! This makes my homebrew solution look terrible.

This is really just a fancy skin and a rewrite in PHP from my previous post. It’s nothing special.

Didn’t catch your other post. What would this be used for? Why use it over DataStores?

1 Like

Mine is literally just using php get to urls with no validation and it’s vunerable to sql injection, I am planning on fixing it eventually but I’m the only one who will ever have access to the urls so I don’t mind to much.

I honestly cant say I feel safe using a project when someone says a exploit is impossible. Granted I know its easy to stop most SQL Injections but from my experience in penetrating testing, you should never be gullible and assume you are completely safe.

I run a clan database service and I completely understand why some will not want to use my free service because their group will rely on me running it for the next 3 to 5 years and afford it. Granted I have premium so I’m able to keep it running. I’m still afraid on attacks, I learn everyday how to prevent it as much as possible.

I would not put the data for my game on a service I dont run personally anyways because if it goes down then I am screwed and my entire player base will quit.

If anyone uses this… Backup the data with DataStores on roblox. I plan to use my own service for a game soon for cross game data but even I want to keep redundancy and fail safes because everything including uptime is guaranteed.

That’s really a given to back up data that is used on and online, non Roblox datarores, they won’t be on forever and you aren’t garunteed uptime. This service does run 24/7 and doesn’t shut down. I test all updates on my local machine to avoid any errors and bugs when I go live with the update.

Cross place databases. Since Roblox datastores data is only accessable on the place it is stored, if you want to be use that data on another place it’s impossible without something like this, granted if you were going to use something like this for a serious projec,t you would host it yourself as uptime and stability aren’t required, since I am not bound by any legal contract.

1 Like

You may want to consider checking your https support. Not only do the links you provide are in http and don’t force redirect to https, https fails to connect due to configuration issues. Until you fix, you put account/user data information at risk of being hijacked across transmission. This happens on both desktop and mobile, just happen to be on mobile at time of picture.

EDIT:
Image of error

1 Like