Your client would contain the level data and anything specific to your player (equipped weapons, ammo, etc). You then send your position information (location, heading, height, positions such as crouching), and the locations of any bullets to the server. The server would keep track of all of these things for each player and send that information to all of the other clients so that the other people can interact with you.
That's one way to do it. Remember to keep network traffic to a minimum. By having the whole level on the server, you need to pass all of the information about the level over the network which could be potentially huge.
Sometimes games like Diablo III elect to do most of the stuff on the server side to avoid anyone "hacking" the client. The blizzard servers generate the levels, keep track of item drops, and keep track of the monster generation and health. This means more network traffic and I think is more difficult to implement and MUCH more difficult on your server.