Most Optimal way to pass data between Client -> Server -> Different Client?

Currently making a game where lots of remotes will be fired in a second, each containing a lot of data in the parameters. Data includes things like: Tables(Configs), CFrames, Booleans, Vector3s, Objects, etc.

This Data is passed from one client to the server, then the server passes it to different clients except for the one which originally sent the data. It is crucial for gameplay for each client to receive that data.

I have noticed replication lag, or in other words server or network lag in heavy usage situations, such as lots of players firing the remotes at once, constantly. I aim for a 40-50 player count for each server, and this replication lag kicked in at around 10-15 players.
I have a few ideas on how to reduce this lag, such as compressing the data the client sends, or encoding and then decoding. Now I’ve got no clue if that would actually really help, since I’m not too well-versed on the topic of packets and sent data and all that, but I feel like that would also require heavy editing of scripts to include support for the decoding and unpacking of the data, which would also cost me extra code and generally make it look more unreadable and complex than it already is.

Any tips from people who have experience with this? What would be the most optimal way to pass this data and reduce this lag.?

What data is it and why are you sending so much? Methods to reduce network traffic are dependent on the data being sent and why. Some reduction techniques are going to be things like not sending the data (if you don’t really need it or can get it another way), sending the data once then update it if you can rely on the data being cached, or your compression solution.

But again, this stuff relies on what and why.

I have recalled the data in the thread, it consists mostly of CFrames, Tables (ModuleScripts, Configurations), Objects, Booleans, Vector3s and strings. Now there is no way to cut down on that data to send less, its crucial for gameplay, security and client2client replication and sync. Data caching would not work in my case as these parameters change and are arbitrary and are only used for a small timeframe.