04 · Geliştirme notu · FrostZero

Relay ile çevrim içi oyun nasıl çalışıyor?

Üçüncü taraf bir adresten kendi relay sunucumuza: FrostZero'da çevrim içi oturumların arka planı.

FrostZero'da çevrim içi oturumlar oyuncu host mimarisiyle çalışır: masayı bir oyuncu kurar, diğerleri katılır. Daha önce internet üzerinden bağlanmak için üçüncü taraf bir relay adresi (bore.pub) kullanıyorduk; artık Cardlab'in kendi relay sunucusu üzerinden geçiyoruz.

Relay bir Raspberry Pi üzerinde çalışıyor ve Tailscale Funnel arkasında TLS ile dışarı açılıyor. Oda kurduğunda karşındakilere FZ-RXXX-XXXX-XXXX biçiminde bir oda kodu veriyoruz; misafirin herhangi bir şey kurması ya da port açması gerekmiyor.

Bu yapıyı iki ayrı bilgisayar arasında, gerçek bir internet bağlantısı üzerinden test ettik: biri odayı kurdu, biri misafir olarak katıldı ve otomatik oynanan maç boyunca izlediğimiz 132 durumun tamamı host ile misafir arasında birebir eşleşti.

Aynı Wi-Fi ağındaysanız bile ekstra bir ayar yapmanıza gerek yok: bağlantı yine aynı relay üzerinden kurulur, oda kodunu normal şekilde paylaşman yeterli. İleride Steam'e geçtiğimizde bu relay'in yerini Steam'in kendi ağı alacak; oyunun kuralları bundan etkilenmeyecek.