Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am creating a MMO using XNA framework for the client and want to create the server using .Net sockets in C#. I am not a total rookie to network programming, but I am having trouble finding resources, and learning material on developing a game server or learning .Net Sockets. I scanned the MSDN library for quite a while but I feel a tutorial or a step by step book would not go amiss. I considered a WCF program for the server but I want a more educated persons opinion before traveling down that road.

What do you think? Is there a reference I overlooked? Would WCF be appropriate?

share|improve this question

closed as not constructive by Byte56, Joe Wreschnig, Noctrine Jul 30 '12 at 14:26

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

I would look on source of server emulator of game you already know and learn from that. Like for ultima online :) – Kikaimaru Jul 30 '12 at 10:15

This creators club thread suggests that WCF has some unnecessary overhead compared to just using the lower level socket API.

Have you looked at a third party library like Photon? They're built on top of Enet (C++) and allow you to add logic via .NET. They handle providing infrastructure like message channels, packaging multiple messages, and reliable UDP. There's also Lidgren.

Ryzom is a MMORPG that has open sourced their game.

And be sure to check's section on multiplayer programming.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.