Insanely high sent requests, happening ONLY in Live Game

so before i start, i wanna say that i havent updated my game for a few days, so i know for a fact it is not me, moreover, it is ONLY happening in live game, not in studio, nor anything else, only in a live game

everything is handled on the client, i didnt change anything else, no remote spam, no nothing, there isnt a thing handled in the server, so it shouldnt be my problem

To any of those who believe it is because im using BodyVelocity, it is not, my diving script is made with RootPart.Velocity, so its 100% not because of BodyVelocity, on top of that its only happening in live game, which doesnt make sense to me at all, unless there is something with physics that is only applied in live games and im not updated?

Do note i did not touch anything in this World Map, or changed anything in my glider script for that matter, if i did that it would happen in studio aswell, please update me!

Expected behavior

What i expect to happen is the Sent and Recv retaining their original values as they always have, i dont know what kind of update roblox pushed but it most definetely had to do with physics

If there are any methods you want me to try please tell me i will try and update!

Wifi:
image

PC Specs:
32 GB Ram
3060 ti
ryzen 5 5600x

Video

@ltsRealJr Thanks for reporting the issue. To help us investigate and resolve it more efficiently, please provide the following details. You’re welcome to share them in a private thread if preferred:

  1. The place or experience where you encountered the issue.
  2. A repro place file that demonstrates the problem—this is especially helpful for identifying the root cause quickly.
  3. When the issue first started occurring.

Hello, im editing the thread rn, i just posted a video of it, the issue started occuring like right now when i tested, i instantly made a thread about it as this is pretty weird to happen out of nowhere, sending you my entire game file will probably do no good as you dont really know the code behind everything and will take u alot of time to examine my entire game, but if you really need it i can send. let me know!

Thanks for the update. If you do not have any repro file, it might still be helpful to share your place file with us for further investigation. Please use private thread to share the place and provide details on the steps you would take to reproduce the issue.

I can’t really find how to re-edit the thread to add private information, can i create a new thread with the place file instead with the same info here?

Feel free to use a different thread to share the place file if needed. In the meanwhile, if this is a published experience, please share the place id of the experience.

here is the game link: Glider World Simulator - Roblox

The experience seems to be private which limits us to investigate it.

i think i found out the issue, it was my StreamingEnabled, and my renderdistance system that occludes objects if they are far, when i turned StreamingEnabled off, everything fixed, was there any updates with StreamingEnabled? i believe its a memory leak or something because i did not touch my render for weeks and when i turned StreamingEnabled off, it stopped happening

here is the render script:

-- Services
local RunService = game:GetService'RunService'
local Players = game:GetService'Players'
local CollectionService = game:GetService'CollectionService';

-- Variables
local LocalPlayer = Players.LocalPlayer
local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local RootPart = Character:WaitForChild'HumanoidRootPart'
local Data = LocalPlayer:WaitForChild'Data';
local Settings = Data:WaitForChild'Settings';

-- Constants
local RENDER_DISTANCE = 600 -- Adjust this value as needed (in studs)
local MIN_ROTATION_DISTANCE = 350;
local MIN_FLOATING_DISTANCE = 350;
local UPDATE_INTERVAL = 0.15 -- How often to check distances (in seconds)

local StoredCoins = Instance.new'Folder'
StoredCoins.Name = 'StoredCoins'

local function IsValidChar(char)
	return char and char.Parent and char:FindFirstChild'HumanoidRootPart'
end

local function ProcessCoins(Coins, PlayerPos)
	local CoinsToStore = {}
	local CoinsToRender = {}

	for _, Coin in ipairs(Coins) do
		if Coin and Coin:IsA'BasePart' then
			local Dis = (PlayerPos - Coin.Position).Magnitude
			local IsTaken = Coin:GetAttribute'FullyTaken'

			if Coin.Parent == workspace.Coins then
				-- Store Coins that are either too far away OR have the IsTaken attribute
				if Dis > RENDER_DISTANCE or IsTaken then
					table.insert(CoinsToStore, Coin)
				end
			elseif Coin.Parent == StoredCoins then
				-- Only render Coins that are within range AND don't have IsTaken attribute
				if Dis <= RENDER_DISTANCE and not IsTaken then
					table.insert(CoinsToRender, Coin)
				end
			end
		end
	end

	return CoinsToStore, CoinsToRender
end

local function InitRenderSystem()
	local CoinsFolder = workspace:WaitForChild'Coins'
	local LastUpdate = 0

	LocalPlayer.CharacterAdded:Connect(function(newCharacter)
		Character = newCharacter
		RootPart = Character:WaitForChild'HumanoidRootPart'
	end)

	RunService.Heartbeat:Connect(function(DT)
		LastUpdate = LastUpdate + DT
		
		local Settings = _G.Decode(LocalPlayer.Data.Settings.Value);

		local CoinsChildren = CoinsFolder:GetChildren()

		local FloatingObjects = CollectionService:GetTagged'FloatingObject';
		local StoredFloatingObjects = CollectionService:GetTagged'StoredFloatingObjects';
		local RotatingObjects = CollectionService:GetTagged'RotatingObject';

		local AllObjects = {}
		if Settings.PerformanceMode == false then for _, Obj in CoinsChildren do table.insert(AllObjects, Obj) end end
		for _, Obj in RotatingObjects do table.insert(AllObjects, Obj) end

		for _, Coin in AllObjects do
			if not Coin:IsA'BasePart' then continue end
			if Coin:GetAttribute'FullyTaken' then continue end
			if not Coin:HasTag'Hatchet' and Settings.PerformanceMode == true then continue end

			local Dis = Coin:HasTag'Hatchet' and MIN_ROTATION_DISTANCE*30 or Coin:HasTag'RotatingObject' and MIN_ROTATION_DISTANCE * 10 or MIN_ROTATION_DISTANCE
			if (Coin.Position - workspace.CurrentCamera.CFrame.Position).Magnitude > Dis then continue end

			if Coin:HasTag'RotatingObject' then
				local Speed = Coin:GetAttribute'Speed' or 30
				local Axis = Coin:GetAttribute'Axis' or 'Y'
				local NegDirection = Coin:GetAttribute'NegDirection' or ''

				local XRotation = string.find(Axis, 'X') and math.rad(Speed * DT) or 0
				local YRotation = string.find(Axis, 'Y') and math.rad(Speed * DT) or 0
				local ZRotation = string.find(Axis, 'Z') and math.rad(Speed * DT) or 0

				if string.find(NegDirection, 'X') then XRotation = -XRotation end
				if string.find(NegDirection, 'Y') then YRotation = -YRotation end
				if string.find(NegDirection, 'Z') then ZRotation = -ZRotation end

				Coin.CFrame = Coin.CFrame * CFrame.Angles(XRotation, YRotation, ZRotation)
			else
				Coin.Orientation += Vector3.new(0, 170 * DT, 0)
				if Coin:FindFirstChild'Ring' then
					Coin.Ring.Orientation += Vector3.new(0, 170 * DT, 0)
				end
			end
		end

		for _, Object in FloatingObjects do
			if (Object:GetPivot().Position - workspace.CurrentCamera.CFrame.Position).Magnitude > MIN_FLOATING_DISTANCE then
				-- If the object is too far, move it to StoredFloatingObjects
				if Object:HasTag'FloatingObject' then
					Object:RemoveTag'FloatingObject'
					Object:AddTag'StoredFloatingObjects'
				end
			else
				-- If the object is renderable, ensure it has the FloatingObject tag
				if not Object:HasTag'FloatingObject' then
					Object:AddTag'FloatingObject'
				end
			end
		end

		for _, Object in StoredFloatingObjects do
			if (Object:GetPivot().Position - workspace.CurrentCamera.CFrame.Position).Magnitude <= MIN_FLOATING_DISTANCE then
				-- If the object is renderable, move it to FloatingObjects
				if Object:HasTag'StoredFloatingObjects' then
					Object:RemoveTag'StoredFloatingObjects'
					Object:AddTag'FloatingObject'
				end
			end
		end

		if LastUpdate < UPDATE_INTERVAL then
			return
		end
		LastUpdate = 0

		if not IsValidChar(Character) then
			return
		end

		local PlayerPos = RootPart.Position

		local AllCoins = {}
		for _, Coin in CoinsChildren do
			table.insert(AllCoins, Coin)
		end
		for _, Coin in StoredCoins:GetChildren() do
			table.insert(AllCoins, Coin)
		end

		-- Process all Coins at once
		local CoinsToStore, CoinsToRender = ProcessCoins(AllCoins, PlayerPos)

		-- Update Coin parents
		for _, Coin in CoinsToStore do
			if Coin and Coin.Parent == CoinsFolder then
				Coin.Parent = StoredCoins
			end
		end

		for _, Coin in CoinsToRender do
			if Coin and Coin.Parent == StoredCoins then
				Coin.Parent = CoinsFolder
			end
		end
	end)
end

-- Start the system
InitRenderSystem()

If you want my honest opinion, i believe its due to StreamingEnabled memory leak or something, since this script is on the client, there is no reason it should act like this…

We’ve reverted a change in the last hour. Can you re-enable streaming and see if it’s still occurring?

Gonna restart studio and try rn, thanks for fast response appreciate it!

image
image

Still happening

i made it public now, try now to join

The change might still be impacting Studio, please consider testing this out in RobloxPlayer.

ya i did test it in RobloxPlayer, the game is open you can join and test

Could you confirm if you still see the issue in RobloxPlayer or not. I joined and did not see any issues in particular with networking overhead.

ya i was in the same server as you, coins only render when u glide mostly cuz of the occlusion and distance from the lobby, so u must glide for it to happen, i was texting in chat did u not read?

and it spikes in the Outer Space world, and the Sandy Shores World, probably due to the amount of coins being parented to workspace, because there are more coins in those worlds

it doesnt spike in the normal world from what i tested

Thanks for the update. So, it seems that you still see the issue when testing RobloxPlayer. Please let us know what device you use for playing (such as Windows desktop, tablet, etc.) and when was the last time that you remember the game did not have this issue.

using a pc, windows 11, i dont believe it happend yesterday as i wouldve noticed, but 100% not 2 days ago