Ну, например, MMORPG Ryzom с открытым исходным кодом .Он состоит из нескольких сервисов (процессов) C ++, некоторые из которых могут работать в нескольких экземплярах для обеспечения масштабируемости.Внешние службы используют UDP для связи с клиентами, в то время как межпроцессное взаимодействие осуществляется с использованием TCP и / или разделяемой памяти.
Я никогда не использовал libevent, но концепция звучит хорошо.Возможно, вам не нужен один поток на соединение для «массовой» многопользовательской игры, потому что запускать сотни потоков не рекомендуется (обсуждается здесь ).