So I am making a First Person Shooter and I’ve ran into this huge problem that effects the most important aspect of the game Shooting . My TracerSystem as I like to call it is implemented in this manner .
(Client) Creates CFrame(s) with spread
(Client) Simulates Physics
(Client) Fires to the server with the CFrame(s) in a table
(Server) Does sanity checks
(Server) Fires the table to other client(s)
(Other Client(s)) Simulates Physics
There is no issue on the client who creates it because they simulate their tracer physics as soon as its created on their end but there is a noticeable high latency for other players as it takes more than 2 seconds for others to see a single tracer or sometimes not even see it with an average ping of 300ms.
I am trying to achieve a 32 player game and each player could be firing the event every 0.25 seconds (minimum cool down) with a maximum of 5 CFrames in the table but due to this problem I cant even achieve a 5 player game.
I thought this was an issue on my implementation but I tested in Studio and did not face the problem.
So I’ve come to the assumption that maybe the table containing the CFrame(s) is reaching the bandwidth limit or maybe even exceeding it
PS: There are other events but they fire small data and aren’t fired that often.