Puedes preguntar a los expertos, hay muchos proyectos de código abierto de diversos juegos online que tuvieron el mismo dilema (como hacer una comunicación entre cliente-servidor eficiente). Dos que más recuerdo ahora mismo son Mangos y TrinityCore (ambos emuladores de WoW).
Tienes documentación en sus respectivas páginas y foros e incluso acceso para ver el código (c y c++) en github y hacerte una idea de como implementarlo en tu aplicación.
Tambien tienen canal de irc, donde hablan sobre el desarrollo y tambien ayudan a quien pregunta algo relacionado con el funcionamiento del emulador (por lo menos lo he visto en el irc de TrinityCore, no sé como es el ambiente en Mangos). Eso si, hay que hablar ingles
(en el canal de habla hispana solo hay un moderador y creo que algun contribuidor (españoles y latinos).