En ince ayrıntısına kadar yazarak anlatmak malesef mümkün değil çünkü çok dağınık yazmışsınız ve sorular tam belli bile değil. Anladığım kadarıyla anlatayım araştırmanız gerekenleri.
Dağıtık yapıda çalışacak bir oyun istiyorsunuz ve C# ile yazmışsınız buraya kadar güzel ancak eğer siz oyunu o dağıtık yapıda çalışacak şekilde yazmadıysanız binlerce sunucu da olsa tek sunucu da olsa bir şey fark etmeyecek. Öncelikle araştırmanız gereken konu "parallel programming for cluster systems". Oyundaki session nasıl sunucular arasında dağıtılır, veritabanını ve datayı nasıl tekilleştirebilirim gibi konular da ikinci aşama.
Bir diğer yol ise hiç bir şeyi tekilleştirmeden ayrı ayrı sunucularda yolunuza devam etmek. 10 tane sunucunuz olur oyunu oynamak isteyen her kişi o an müsait olan sunucuya yönlendirilir. Counter-strike oynarken sunucu seçebilmeniz gibi bir mantık yani. Bunun için yapılması gereken de bu online yönlendirmeyi yapacak ayrı bir yazılım yapmanız. Ancak dediğim gibi farklı sunucular olur ve session sadece o sunucudaki oyuncular arasında paylaşılır.
Yani kısaca tekrar toplamak gerekirse o yazdığınız oyun ben bunları sunucuya atayım da 20 30 sunucu birbiri ile çalışsın gibi bir mantık yok bu dağıtımı sizin yazılımınız yapmak zorunda. Altyapı araştırmasından önce bunu çözmeniz gerekir.