I'm constantly getting Error 500?

Is there something going on at ROBLOX atm? This is extremely infuriating, it’s causing a ton of features to break in my game…

I’ve heard some people talk about roblox having issues, But make sure you are using the correct group ID.

Checking roblox status.
Restart your game or if this keeps occuring, Contact Roblox Support.

1 Like

I’ve had this issue when I’ve worked for groups when I use player:IsInGroup or player:GetRankInGroup() too much.

Check your network tab and make sure GroupService isn’t a really high number.

Try to make your requests more efficient, and only get the rank, calculating if they’re in a group if rank >= 1. (If applicable)

1 Like

yeah im in the process of making a ticket, however ROBLOX support is usually less than helpful. but the group ID is fine, because it works sometimes. But othertimes I just get this stupid Error 500 Internal Server Error

How high is too high? Right now:


GroupService:GetGroupsAsync() failed because number of API request/minute exceeded limit for HTTP API throttle. Please don't issue more than 400 API request/minute with server scripts and no more than 300 API request/minute with local scripts.

Group limits? ^ Unsure.

Okay, it says the request count is 31 right now. So that means I’m good right?

You should be? What are you doing in your script, can we get some lines of code of that script? (The ones that are erroring ofc)

(Are you checking Client & Server)

Looking at Error 500,
It’s just a Internal Server Error, which is just a Server Error (Usually sending too many Requests (Ex: DataStore), or a General Error with Studio (Ex: Attempting to Publish a game, or an Internal Script failed))
Depends on the Condition, or Circumstance

Yeah for sure, the Cardinal Script is mainly just a framework script. So it takes on the main load of setting up player keybinds, animations and value assignment. It does use :IsInGroup a few times here and there, but doesn’t utilize any datastore entries (since its a localscript)

uis.InputBegan:Connect(function(input, gameprocess, player)

if not gameprocess then
		if input.KeyCode == Enum.KeyCode.C and iscrouched == false and lplayer.Character.CanCrouch.Value == true and lplayer.Character.Downed.Value ~= true then
			for _, track in ipairs(lplayer.Character.Humanoid.Animator:GetPlayingAnimationTracks()) do
			game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
			iscrouched = true
			lplayer.Character.Humanoid.WalkSpeed = 8
			lplayer.Character.Sprint.Enabled = false
		elseif input.KeyCode == Enum.KeyCode.C and iscrouched == true and lplayer.Character.CanCrouch.Value == true and lplayer.Character.Downed.Value ~= true then
			game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, true)
			iscrouched = false

			lplayer.Character.Humanoid.WalkSpeed = 16
			lplayer.Character.Sprint.Enabled = true


This for example is setting up crouching

Which is fair, but the error that’s occurring is happening predominantly on the client.

Also to add onto this, the main cardinal script is only 336 lines long. Hardly the largest script in the game, yet says its timing out the most due to error 500?

Error 500 means Internal Server Error

It isnt the Client, But the Server

Then why is the error specifically erroring the client script? Because that’s where the error is originating.

Looking at your Video, its saying
Player GetRankInGroup failed because HTTP 500 (Internal Server Error)

Which is happening from the client script inside of player gui


HTTP 500 means that the following:
Client sent something to server through HTTP.

Server tries to process the request, and determines that the clients input is correct and everything is good.

When they start processing through whatever means (getting from database, reading files, etc.), an error happens.

Then, the error is caught and sent back to the client as HTTP 500, or Internal Server Error.

Roblox is most likely experiencing issues, regardless if it’s a server script or local script, an HTTP request is being made.

The solution (which is also best practice) would be to wrap your GetRankInGroup in a pcall, and handle the error. Just like the server that’s returning HTTP 500 is doing :slight_smile:

Read more here: 500 Internal Server Error - HTTP | MDN


Thanks a ton, this is extremely helpful!

Can you show us the lines where it errors? We can’t help much without knowing what’s actually going on.

This was solved a few hours ago, it was an outage from Roblox.