Ağ + Oyun Altyapısı
Unreal Engine'de, çok oyunculu oyunlarda sunucu-istemci (server-client) mimarisine dayalı bir oyun altyapısı kurmak için, oyuncu etkileşimlerini doğru şekilde yönetmek adına çeşitli sınıflar ve bileşenler kullanılır. Bu altyapı, genellikle Server Only, Server & Clients, Server & Owning Client, ve Owning Client Only olmak üzere dört ana kategoriye ayrılabilir.
1. Server Only (Sadece Sunucu)
Bu sınıflar yalnızca sunucuda bulunur ve istemcilerde herhangi bir karşılıkları yoktur. Bu sınıflar, oyun mantığının çalıştığı ve oyuncuların verilerinin işlendiği yerlerdir. Sunucu yalnızca kendi oturumunu kontrol eder ve oyuncularla bağlantıyı yönetir.
Örnek: AGameMode, AGameState
2. Server & Clients (Sunucu ve İstemciler)
Bu sınıflar hem sunucuda hem de istemcilerde bulunur. Bu sınıflar, her iki tarafın da bazı verileri paylaşmasını sağlar ve çoğu oyun mantığı burada işler. Bu sınıflar genellikle oyun durumu ve oyuncu verisi gibi kritik bilgileri tutar ve tüm istemcilerde aynı şekilde senkronize edilir.
Örnek: APlayerState, APawn, ACharacter
3. Server & Owning Client (Sunucu ve Sahip Olan İstemci)
Bu sınıflar yalnızca sunucuda ve sahip olduğu istemcide bulunur. Sahiplik, bir istemcinin belirli bir aktörü kontrol etmesini ifade eder. Bu durum, özellikle oyuncunun etkileşimde olduğu öğelerde ve RPC'ler (Remote Procedure Calls) ile ilgili önemli bir rol oynar. Bu tür nesneler, yalnızca bir istemci tarafından kontrol edilen, ancak sunucuda da varlıkları bulunan nesnelerdir.
Örnek: APlayerController, UUserWidget
4. Owning Client Only (Sadece Sahip Olan İstemci)
Bu sınıflar yalnızca sahip olan istemcide bulunur. Genellikle bu sınıflar, oyuncunun bireysel etkileşimlerini ve görsel öğelerini içerir. Bu sınıflar istemcinin kendisiyle ilişkilidir ve diğer istemcilerde veya sunucuda bulunmazlar.
Örnek: UUserWidget (Kullanıcı arayüzü öğeleri)

İki bağlı istemcisi olan bir dedicated sunucu örneği;

Last updated
