top of page

Görünmez bekçi ve nihayet kendini açıklayan yasaklar 👁️

Yazarın fotoğrafı: Marcel Dütscher
Marcel Dütscher
26 Tem
4 dakikada okunur

Bir süre önce burada tasarımı gereği çocuk dostu olmak üzerine yazmıştık: bildirme, geri bildirim ve tetikte bir göz. Açıkçası, tetikte göz bu işin en zayıf parçasıydı: raporları alabiliyorduk, ama bir dünyada gerçekte ne olup bittiğine neredeyse hiç bakamıyorduk. Üzerinde çalıştığımız şey tam da bu; iki yapı taşıyla: gözetim için bir gözlemci modu ve etkilenen oyunculara nihayet neler olduğunu söyleyen, baştan elden geçirilmiş bir yasaklama sistemi.


Gözlemci modu. Bir rapor geldiğinde (“biri saçma şeyler inşa ediyor”, “biri kötü şeyler yazıyor”) artık o dünyaya onu rahatsız etmeden girebiliyoruz. Üstelik gerçekten görünmez; değiştirilmiş bir oyunun basitçe yok sayabileceği “lütfen beni çizme” türünden değil. Sunucu gözlemciyi tamamen kendine saklıyor: avatar yok, park edilmiş gemi yok, sahiplenilmiş iniş pedi yok, iniş animasyonu yok, evcil hayvan yok, hız aracı yok, dolu oyuncu yuvası yok ve oyuncu sayısında değişiklik yok. O dünyadaki herkes için kelimenin tam anlamıyla orada kimse yok. Uçuş duvarlardan geçiyor (yoksa kapatılmış bir üsse asla giremezsiniz), yaratıklar gözlemciyi yok sayıyor ve ateş etmek zaten mümkün değil.


İzlemek, izlemek demek. Gözlemci dünyada hiçbir şeye dokunamaz; tam olarak tek bir istisnayla: blok kazabilir. Bu, rahatsız edici bir yapıyı bir dünyadan gerçekten kaldıran tek kaldıraç ve her bir kaldırma kaydediliyor. Sohbette gözlemcinin sesi kapalı; kendini bilerek göstermek ayrı bir komut gerektiriyor. Ve kalıcı bir SPECTATOR rozeti tüm süre boyunca ekranda duruyor; yanlışlıkla normal oynadığınızı sanmamalısınız.


Neden bu kadar katı yapıldı. Dışarıdan görünmeyen ama bizim için önemli olan iki karar. Birincisi: gözlemci rolü kayıt dosyasında saklanmıyor, her katılımda sunucu yapılandırmasından yeniden hesaplanıyor. Kayıtlar indirilip başka yerlere yeniden yüklenebiliyor; saklanan bir denetçi rolü onlarla birlikte bizim olmayan makinelere giderdi. İkincisi: bu bir dünya seçeneği değil. Bir dünyanın sahibi, o dünyanın gözetimini kapatabilmemeli. Bu da dünyaların zaten varsayılan olarak kapalı tuttuğu “yönetici hileleri” ayarına bağlı olmamasının nedeni.


Önce bir şeyin nerede yaşandığını bulmak. Bunun için yeni komutlar var: /players kimin çevrimiçi olduğunu ve bu dünyada şimdiye kadar oynamış herkesi gösteriyor; /builds birinin nerede inşa ettiğini gösteriyor; /where sizi bir oyuncuya götürüyor; /goto gezegenler arasında da atlıyor (eski ışınlanma sadece koordinatları ayarlıyor ve sizi yanlış gezegene bırakıyordu 🙈). Üstüne, yönetici panelimizdeki bir genel bakış sayfası doğrudan dünya kaydından okuyor: oyuncular, yapılar ve “inşa noktaları”; birinin üs çekirdeği olmadan ıssız bir yere kondurduğu bir evi de böyle buluyorsunuz. Ve değişen her hücre artık ona en son kimin ve ne zaman dokunduğunu hatırlıyor. Bunu eklemeden önce depolamaya neye mal olduğunu ölçtük: veritabanında tek bir ekstra satır bile yok, çünkü depolama zaten hücre başına.


Özel dünyalarda da, çifte kilidin ardında. İlk sürümlerde absürt bir açık vardı: görünmez gözlemci sadece herkese açık, şifresiz dünyalara ulaşabiliyordu; yani tam da en az şeyin olduğu yerlere. Çocuklar neredeyse her zaman şifresi bir arkadaş çevresinde dolaşan özel dünyalarda oynuyor. Bu yüzden gözetim artık oralara da ulaşıyor. Bunun bir arka kapıya dönüşmemesi için erişim çifte kilitli: sadece gizli bir kod gösterilerek oluşturulabilen bir operatör hesabı gerekiyor ve bunun için ayrılmış özel oyuncu adı gerekiyor; bu ad tüm sistemde ayrılmış durumda ve başka kimse onu kaydedemiyor ya da onunla oynayamıyor. İkisinden biri eksikse hiçbir şey olmaz.


Ve sonra yasaklar. Bu eskiden gerçekten kötü ele alınıyordu: yasaklı bir hesap gayet normal şekilde oturum açabiliyor, duvar sadece bir dünyaya katılırken beliriyordu; sebep yok, tarih yok, sormanın bir yolu yok. Oyuncu açısından oyun basitçe bozuktu. Artık durum bilgisi daha oturum açarken geliyor ve bir mesaj kutusu var: “dünyanız silindi (sebep)”, “yasağınız kaldırıldı”. Bu mesaj bir şey olduğu anda yazılıyor; sonrasında bu bilgi artık yok, çünkü silinmiş bir dünya, malum, gitmiş oluyor.


Sürgün yerine bir mola. Yasaklar artık öncelikle geçici: varsayılan olarak üç gün. Süresi dolmuş bir mola her kontrol noktasında “yasaklı değil” sayılıyor, böylece “üç gün ara” asla sessizce kalıcı bir dışlamaya dönüşemez. Kayıt yine de geçmiş için duruyor. Sebepler sabit kategoriler olarak geliyor (sohbet, griefing, hile, ad, diğer) ve Almanca ile İngilizce çevrilmiş şekilde gösteriliyor; bir insan bir şey eklerse, yazıldığı gibi aynen görünüyor. Tüm işin en önemli kısmı: mesaj, yeniden hoş karşılanacağınız günü söyleyebiliyor.


Dünya sahipleri artık kendi dünyalarında moderasyon yapabiliyor. Bir dünyanın sahibiyseniz, sizin dünyanız için aynı kaldıraca sahipsiniz: kendi yasak listeniz, bizimki kadar güvenilir şekilde uygulanıyor. Liste hesabı (yani ad değiştirmek işe yaramaz) ve oyun içi adı (arcade misafirlerinin hiç hesabı yok) hatırlıyor. Dünyayı gerçekten ziyaret etmiş kişilerin listesinden seçiyorsunuz; adları elle yazmak, yanlışlıkla başka bir çocuğu engellemenin ta kendisi. Ve yasak her zaman yalnızca bir sonraki katılımı belirlediği için atma da var: oyuncu anında menüye dönüyor; gerekçesiyle ve kendi dilinde. Mesaj bağlantı kapanmadan önce gönderiliyor; böylece değiştirilmiş bir oyun onu yok sayıp oynamaya devam edemiyor.


Bilerek yapmadıklarımız. Yasak atlatmaya karşı bariz hamle, cihaz tanıma olurdu (“yeni hesap, aynı bilgisayar”). Üç nedenle reddettik: tanımlayıcı bir USB bellek takılır takılmaz ya da Windows daha büyük bir güncelleme yapınca değişiyor; değiştirilmiş bir oyun bunu beş dakikada taklit edebilir; ve aynı imajla kurulmuş okul bilgisayarlarının hepsi aynı görünürdü. Bir de hukuki kısım var: bir cihaz tanımlayıcısını okumak Alman hukukuna göre onay gerektirir ve 16 yaşın altındaki çocuklar bu onayı geçerli biçimde veremez. Gözetim, gözetlemeye dönüşmemeli. Ve koda yazılmış bir kural daha: operatör hesabının kendisi ne yasaklanabilir ne de atılabilir; yoksa gözetim içeriden kapatılabilirdi.


Bunların hepsi şimdiden kodda ve bir sonraki sunucu güncellemesiyle yayına giriyor. Buna olabildiğince az ihtiyaç duymayı içtenlikle umuyoruz. 🌟

Son Yazılar

Hepsini Gör
Oyunumuz bir haftada on dört dili nasıl öğrendi 🌍

10 Ağustos 2026 Başladığımızda Blocks Beyond the Stars tam iki dil konuşuyordu: yaşadığımız yer olduğu için Almanca ve internet İngilizce konuştuğu için İngilizce. Bugün on dört dil konuşuyor. Bunun n

 
 

Yorumlar


Bu gönderiye yorum yapmak artık mümkün değil. Daha fazla bilgi için site sahibiyle iletişime geçin.
bottom of page