I had been developing an FPS Module for the past few weeks and looks like I had stumbled upon my first issue when designing the Client and Server. In involve design path of having a fat server or client. Both having a merit both it seem I wanted to ask about the application perspective. To tell the truth this is my first experience of designing a multiplayer game and I just learned using network programming using GDnet and tried to applied it into the project. The programming doesn't concern me right now but rather the design I should choose.<br /><br />I'm asking if I should have the client calculate every game logic before it was send to the server or just send the server the input from the client and have the server handle the logic calculation. Stuff like hitbox and damage calculation.<br /><br />I know that by having a fat client, the ease to hack the game is easier but this is an open-source project so that point would be rendered invalid.<br /><br />It might be okay to point me to a source reference so I can read about it tho. I'm okay with that.<br /><br />I hope you all understood what I meant. I still don't know most correct terminology and term to describe  most stuff in game programming.

The only real upsides of client-side authority I can see are having a lightweight server part (using less CPU on the server) and ease of implementation (you only need to implement physics on clients).If you're a beginner in developing networked games, I'd suggest starting with a client-side authoritative design.

Thank you CalinouHopefully this cleared up my mind. I mean it is easier that way.

6 years later