its entirely up to you whether or not you write a seperate server, or have it built in.
All the server has to do it keep track of all the players positions, health and ammo etc.
The client checks for input from the local player (the one who's hands are on screen), sends the info to the server, which updates everyones positions, determines if anyones been shot etc. then sends the data back to the clients for them to be drawn on screen.
I'm sorry if this isn't detailed enough for you, but i'm rushing around trying to get the kids ready for school.
Without Music or Love the world would be a very empty place... Thank god I still have music.. --'-<@