You are syncing wayyyyyyy to many objects ....
Just imagine that each of those objects their instances tries to update their info at least 10 times a second ..... (some up to 30)
The inputs should be reduced to 1, using the getbit/setbit methods. (you can set 8 1's or 0's in a single synced var, see it as 8 booleans)
The player objects should just 1 for its position and the rest of the items should be created based on who has connected.
All other info should be transmitted via messages. (1 time action instead of continuously updating)