HTTP 429 Chat Corescript Spam

Recently my game has been getting huge spikes of this.

image

My game has 100 player servers and uses many web calls through MessagingService, DataStoreService (using Datastore2), and HttpService for webhook reports.

I also use my own custom chat system that doesn’t use web calls so I am not sure why the default Roblox chat is still operating. Especially on the server.

It clogs up my dev console and I assume there is genuinely something wrong going on. As far as I am aware Err429 usually means that there’s too many requests. But why is this annoying chat script spamming me?


It is still happening at the time of posting, I can’t practically create a repro because the game is pretty massive and I’m sure there’s plenty of reasons that lead up to this. But the issue remains and it is getting worse.

All I can really do is provide context;

My game uses a custom chat I made myself. Most or all core gui is disabled ASAP via this function when a player loads in.

Local script in PlayerGui

repeat wait() until pcall(function()
game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.All,false)
end)

Everything gets disabled on the client when it can. But the real issue seems to be on the server.
Every time a player joins after about 25-50 players are present in the 100 player server a huge wall of this pops up

I’m not even sure how this could be. In an effort to stop this I tried to delete all scripts I thought might be the culprit(s). The server runs this at the beginning of runtime.

Server script in ServerScriptService

for _,p in pairs(game:GetDescendants()) do -- I don't know where the core scripts are so I to search the whole datamodel
	pcall(function() -- Wrapped in pcall because some descendants are top level services
		if p.Parent.Name == "Chat" and p.Parent ~= _G.REPS.DataRetrieve.Chat then
           -- p.Parent ~= _G.REPS.DataRetrieve.Chat is to prevent it from destroying my own custom chat directory
           p:Destroy() end
	end)
end

But to no avail, something triggers an event to fire a bajillion webcalls every player join event. I assume they are to check if a player is friends with someone? Not sure. The problem is that the server is calling this, and despite my effort to nullify it all.

This is definitely not my custom chat because although I do check to see if someone is friends with someone when they join. I don’t access any Chat.ChatModule or anything of the sort. And all the calls I make are on the client, not the server.

Sorry I can’t provide a repro, I’m not sure how I would practically go about that.

3 Likes

Duplicate post that you made.

Simple solution since you’re saying that you have a customized chat system is to remove FriendJoinNotifier from game.Chat and also set InsertDefaultModules Bool Value to false to not have roblox load in default chat modules.

Otherwise, this is just a Roblox issue with handling high player count and having to check against a lot of players to see if they’re friends or not. Big games technically don’t need this FriendJoinNotifier.

image

edit:

Oh my bad, you’re saying that you’re using SetCoreGuiEnabled and your own entire chat, have you also disabled it here?
Since you’re disabling it for all the clients, why not also just not have the server side load.

image

You can know what Roblox loads by default by pressing ‘PlaySolo’ and looking under game.Chat to see what Roblox added. This is usually how people copy the existing default scripts, stop play solo and paste back into game.Chat to modify the Roblox chat modules to their liking, bubble chat etc.

1 Like