As I was optimizing the efficiency of my remotes in a project of mine, I found out that there was a bunch of outgoing data from the client, which just did not seem right, since I don’t really have any script in my experience which could do that. But still, I tried disabling all client-side scripts and deleting some debugging modules, no luck.
Then, I tried replicating this in a new game to see if it was my problem or if it is the engine’s fault, and, sure enough, the client sends back about half of what it receives when the server modifies the position of an anchored part. I tested this with the following script in SSS:
local xoff, yoff = -50, -120
task.wait(2)
local folder = Instance.new("Folder", workspace)
for i=1, 50 do
for j=1, 50 do
local a = Instance.new("Part")
a.Position = Vector3.new(xoff + i * 2, 8, yoff + j * 2)
a.Size = Vector3.new(1, 1, 1)
a.Anchored = true
a.Parent = folder
end
end
task.wait(1)
while task.wait(0.1) do
for i, v in folder:GetChildren() do
v.Position += Vector3.new(math.random() * 0.1 - 0.05, math.random() * 0.1 - 0.05, math.random() * 0.1 - 0.05)
end
end
Here is a place download:
Place3.rbxl (55.1 KB)
And here is the output from the networking debug tab thingy (ctrl+shift+f3):
Expected behavior
I would have expected the outgoing traffic to be close to 0kbps, (in the example, at least), but it is about half of the incoming traffic.