1. Dağıtık Veritabanı ve dbRouter Katmanı
Hükümdar, tek bir monolitik veritabanı yerine her oyun dünyasının (Sunucu 1: Ötüken, Sunucu 2: İsfahan vb.) bağımsız PostgreSQL instance'larında çalıştığı bir Multi-DB Router katmanı kullanır. Global kullanıcı kimlikleri ana DB'de doğrulanırken, harita koordinatları ve askeri hesaplamalar ilgili dünya DB'sinde tamamen izole biçimde işlenir.
2. Skia Canvas & 60 FPS Harita Çizimi
Hem iOS hem de Web tarayıcısında donanım hızlandırmalı grafik motoru olarak Shopify / React Native Skia kullanılmaktadır. Bu sayede 100x100 boyutundaki devasa haritalar DOM tıkanması yaşamadan saniyede 60 kare hızla akıcı biçimde kaydırılabilir ve yakınlaştırılabilir.
3. Mimari Oyuncuya Nasıl Yansır?
Çoklu sunucu tasarımının amacı yalnız daha fazla bağlantı kabul etmek değildir. Kimlik doğrulama katmanı oyuncunun hesabını ve erişebildiği dünyaları belirler; seçilen oyun sunucusu ise şehir, ordu, ittifak, pazar ve dünya haritası durumunu kendi veri sınırında işler. Böylece bir dünyadaki ekonomik hareketin başka bir dünyaya yanlışlıkla taşınmaması ve yoğun bir harita döngüsünün bütün oyuncuları aynı anda etkilememesi hedeflenir.
Web ve mobil istemciler aynı oyun sözleşmesini tüketir. `/play/` yeni bir oyun kopyası değil, mobil istemcinin web üretimidir; oyuncu aynı menüleri, şehir seçimini ve canlı dünya verisini görür. Landing sayfaları ise bu oturumlu uygulamadan ayrıdır ve yalnız kamuya açık rehber/kurumsal içerik sunar. Bu ayrım, AdSense'in editoryal sayfalarda kalmasını ve oyun içi mobil ödüllerin AdMob akışında yönetilmesini sağlar.
Operasyonel kabul sırasında servis sağlığı, yönlendirme, canonical adres, güvenlik başlıkları ve canlı oyun ekranı birlikte kontrol edilir. Sunucu sayısı tek başına kalite ölçütü değildir; asıl ölçüt, oyuncunun hangi istemciyi kullandığından bağımsız olarak aynı hesap ve oyun kurallarını tutarlı biçimde görmesidir.
Bir dünya geçici olarak yoğunlaştığında hata sınırının yalnız o dünyada kalması da bu ayrımın pratik değeridir. İzleme kayıtları bağlantı, sorgu ve oyun olayı katmanlarında ayrı tutulur; böylece gecikmenin istemciden mi, ağdan mı yoksa veri işleminden mi kaynaklandığı ölçülebilir.