There are quite a few ways to build client-server solutions. For instance, with Unity 3D you can build both client and server. Luckily we have a bunch of technologies that give us opportunity to make this task easier.
Especially a realtime game like first-person shooter or even MMO.
Building a multiplayer game may be a challenging task.