Right now I have 1 local script 1 server scripts 1 remote event
the local script checks if a player clicks e, and if so the remote event will fireServer and the server script will catch the onServerEvent and preform some action
my question is will this cause some sort of bottle necking or lag? Because lets say all players hit e, will there be a queue of request to the Server script and it will be first come first server. meaning that nothing will happen till the previous player finishes the action.
Or will the script preform the action for each player simultaneously?

2 comments
I went ahead and changed my structure to each model having a server script and a remote event. And that server script will do validating, and my previous local script will only try to filter out false request stopping the remote event from being called often. I did this restructure because previously I passed the model through the remote event, now only the player is being since model is known
Alright if that's what makes the most sense to you, then it works. Just try not to overcomplicate things though