Post has moved, check it out below:
Old post:
Thanks to @cxmeels for the great logo!
These days, it’s common to see issues with the Roblox site, whether it be the avatar editor or the developer hub, it’s often hard to know if your to only one with this issue, and with Roblox’s own status site being manual/semi-manual, it’s not easy to know if an issue actually exists until it’s too late. Until now!
Status+ is an automated alternative to Roblox’s own status site with many perks. We are powered by upptime, which is a great system! This site automatically checks all endpoints for uptime and for their response time every ~5 minutes, and logs them onto the site. If an endpoint has a response time great that 1000ms, a GitHub issue is automatically created, and the site tells you that there is degraded performance. If an endpoint returns an error message, such as 500, 503, 404, etc., then the endpoint is marked as down and a new issue is opened. You can also see the history under the GitHub repository.
There’s more to Status+ than just the site. We also have a discord server, which has no chatting in it, just notifications from the bot whenever there is an issue. (We do this so we do not have to moderate, and also so users can set server notifications to all messages, as only the bot will be able to send messages.) On top of all of this, we have an in-game API that is currently being worked on, called DowntimeService. Stay tuned for the release!
You can find our website below:
I am constantly looking for more endpoints to track! If you have any ideas of useful endpoints, put them below or make a new issue on our GitHub. If there are any issues with the site that’s also the place to go. Below is our GitHub repository, if you want notifications about new issues, set it to watching and choose to get notifications over issues, especially if you prefer not to join our discord server:
https://github.com/Status-Plus/StatusPlus
There are no ads on this site, therefore I currently am not willing to invest in a domain, however this may change as time goes on.
As stated previously, Status+ has a discord server, which you can view here:
There is no chatting features in this server, this is on purpose. I do not have the time to deal with any moderation nor do I see a point in doing so. Also, the point of the server is for the bot to send messages when there are issues, so this is safe to set to all notifications as the only messages will be from the bot or from me if there are any issues with the site.
What about making a discord bot?
I’ve thought of doing this, it’s not the top of my priorities right now as I’d rather work on DowntimeService, but I might end up making this so you can put it in your own server.
This is probably the coolest part of Status+, but also the hardest to explain, so bear with me!
upptime is working on adding an API for getting the current status of a site. When this comes out, so will DowntimeService! If not, I may end up having to make a YAML to Lua parser. Added!
So what will this actually do?
A lot! Utilizing HttpService, I can send GET requests to this API endpoint, therefore being able to tell if an endpoint is down. What can that do? Well, let’s go back to the Datastore incident. During this, many games had to shut down while the issue was being worked on. However, not all developers were awake at this time due to time-change. Players of those games potentially lost data. Nobody likes this! With DowntimeService, the game can check if datastores are down. If they are down, then it can kick the players, instead of having to shut the game down. This is just the start of the use cases. If datastores start to hit the degraded mark, you can then use SaveAsync
(or any other method) then to make sure data is saved in case the endpoint later goes down. Most of the time endpoints go slow before they actually go down.
DowntimeService works with all the endpoints tracked, so you can check if avatar API is down before trying to get a users current avatar. You can check if the badges endpoint is down before trying to award a badge. You can disable the chat temporarily if the chat filter is currently slow.
tl;dr: it’s an in-game API for the status site.
The project can be watched here:
https://github.com/Status-Plus/DowntimeService
I’m using Rojo for this project, as I really don’t know if I’d get any good work done if I couldn’t use Git!
How do I use it?
See documentation.
Q: How do I know this works?
A: While it’s not possible to detect every single outage, it’s actually detected some outages way before Roblox or anybody could make a report!
Proof
Here’s one example:
When avatars started loading very slow, Status+ detected the outage at 11:02 EST:
A user made a topic about it at 11:26 EST:
Q: Can it detect every outage?
A: No. It’s not 100% accurate AFAIK. It may detect an outage when there isn’t, or vice versa. Never solely rely on Status+. It’s meant to be a tool to assist, but I cannot promise it will always work. Use common sense.
Roblox Group
We actually have a Roblox Group, feel free to join it to support me, I currently have no games in it, but soon there will be one as an example of what DowntimeService can do:
Usage in #platform-feedback
Feel free to use my site as a reference if you notice an issue with any service, but please do not spam it! If it’s really obvious there is an issue, or a lot of people are reporting the same thing, there is no need to use it as a reference. However, if it seems that not everyone is having an issue, go ahead and check Status+! The servers are using GitHub Cl, which are based in San Francisco. (AFIAK).
Thank you, and if you have any questions do not hesitate to let me know! Feedback is always appreciated!