Bu bölüm, girdi ve bağlamları zaten doğruladığınız varsayımıyla yazılmıştır (önceki bölümlere bakınız). Bu makale, isteğin teknik olarak geçerli olduğu ancak davranışın kötüye kullanıyormuş gibi göründüğü durumlarda ne yapacağınızı ve meşru oyuncuları zarar vermeden nasıl yanıt vereceğinizi kapsar.
Felsefe
- Sunucu karar verir. Tespit ve sonuçlandırma sunucuda gerçekleşir. İstemci tarafı tespitlerine dayalı olarak asla yasaklama yapmamaya çalışın, çünkü kötüye kullananlar bunları kolayca atlatabilirler.
- Önce zararı önleyin. Bir istismarın etkisini sessizce etkisiz hale getirin. Örneğin, bir oyuncu hız hilesi yapıyorsa, hemen atmak yerine onları son geçerli pozisyona geri almak için lastik bant kullanın. Deneyimi veya diğer oyuncuları korumak için yalnızca gerektiğinde ceza verin.
- Orantılı ve geri alınabilir olun. Yanlış pozitiflerin olabileceğini varsayın. Kalıcı yasaklar yerine geçici askıya alma veya kaynak kaldırma gibi geri alınabilir işlemleri tercih edin.
- Tasarım > tespit. Temel güvenliğiniz, sağlam doğrulama ve hız sınırlamadan gelmektedir (bkz. İstemci-sunucu sınırını güvence altına alma ve diğer bölümler). Aşağıdaki tespit yöntemleri o savunmaları tamamlamak için tasarlanmıştır, onların yerine geçmez.
Heuristikler
Heuristikler, teknik olarak mümkün ancak meşru bir oyuncu için son derece olası olmayan eylemleri etiketleyen davranış kontrolleridir. Temel doğrulamadan kaçan şüpheli etkinlikleri yakalamak için "el yordamı" olarak düşünülebilir. Etkili bir heuristik, bir oyuncunun eylemini teorik bir maksimum veya makul bir temel ile karşılaştırır.
Örneğin, bir oyuncu simülatör oyununuzda aniden 1 milyar madeni para kazandığını iddia ederse, uzaktan doğrulamanız isteğin yapısının doğru olduğunu onaylayabilir. Ancak, sunucudaki bir heuristik kontrol, bu kadar çok miktarın kazanılmasının haftalar alması gerektiğini ve bunu saniyeler içinde yapmanın şüpheli olacağını bilir.
İşte sunucu tarafında üç klasik heuristik örneği. Her biri, oyuncu davranışını deneyimin kuralları ve fiziksel kısıtlamalarıyla doğrulatarak yaygın istismarlara karşı güçlü bir savunma oluşturur.
| Sunucu tarafı heuristiği | Açıklama | Örnek |
|---|---|---|
| En Hızlı Tamamlanma Süresi | Bir görevi tamamlama için teorik olarak mümkün olan en hızlı süreyi hesaplayın, örneğin bir engel parkuru. Bu, en iyi yolu bulmayı ve maksimum oyuncu hızını varsayıyor. | Bir obide, dünya rekoru 30 saniye ise, 5 saniye tamamlanma süresi teleportasyon veya hız istismarı için güçlü bir sinyaldir. |
| Kazanç Hızı | Bir oyuncunun bir kaynağı (para, deneyim, eşyalar) kazanabileceği maksimum meşru hızı izleyin. | Bir oyuncu meşru olarak dakikada 100 madeni para kazanabiliyorsa, bir saniyede 10,000 madeni paranın ani kazanımı etiketlenmelidir. |
| Eylem Aralığı | Sunucu, bir oyuncunun tekrar eden eylemleri arasındaki zaman aralıklarını analiz eder. İnsan girdileri zamanlamada doğal, hafif değişiklikler gösterirken, basit otomasyon betikleri (örneğin otomatik tıklayıcılar) genellikle eylemleri robotik bir tutarlılık içinde gerçekleştirir. | Bir balık tutma mini oyununda, bir oyuncu ipini atmak için tıklar. Sunucu, her atışın zaman damgasını kaydeder. Eğer oyuncu tam olarak aynı aralık (örneğin, tam 2.500 saniye) arasında 100 kez ipini atarsa, bu bir makro veya bot kullanımının güçlü bir göstergesidir. Bir insanın zamanlaması doğal olarak dalgalanır. |
Bu örneklerden herhangi biri tek başına bir hilekarı mahkum etmek için yeterli olmayabilir. Her biri, kesin bir kanıt olarak değil, bir sinyal olarak ele alınmalıdır. İyi bir uygulama, bir şüphe skoru uygulamaktır. Bir oyuncu heuristik bir kontrolü geçemezse, puanını artırırsınız. Tekrar etme veya yasaklama gibi ciddi eylemler, yalnızca çok sayıda, çeşitli tespitlerin bir oyuncunun puanını yüksek bir eşik değerinin üstüne ittiğinde gerçekleşmelidir.
Örneğin, yetenekli bir oyuncunun rekor kırdığı bir zamanda obinizi bitirdiğini ve "En Hızlı Tamamlanma Süresi" heuristiğini tetiklediğini varsayalım. Yasaklanmalı mı? Hile yapıyor olmaları muhtemeldir, ancak meşru ancak istenmeyen bir kestirme bulmuş da olabilirler. Bu tek sinyale dayanarak yasaklamak riskli olabilir ve en sadık oyuncularınızdan birine ceza verebilir.
Ancak, aynı oyuncunun koşusu "Eylem Aralığı" heuristiğini insana ait olmayan tutarlı girdiler için işaretliyse ve bir saat sonra "Kazanç Hızı" heuristiğini tetikliyorsa, durum çok daha sağlam hale gelir. Bu farklı sinyallerin bir araya gelmesi, hile yapma konusunda çok daha güvenilir bir tablo çizer. Bu sistemin gücü, eyleme geçmeden önce kendinden emin bir dava oluşturmak için birden fazla veri noktasını ilişkilendirmede yatar.
Tuzaklar
Hileleri belirleme yöntemlerinden biri, deneyiminizin RemoteEvents'lerini sorgulayan hilekarları tespit etmektir ve bunun için bir tuzak kullanmaktır. Tuzak, bir kötüye kullanan için geçerli görünen ancak meşru istemci betiklerinizden hiçbiri tarafından kullanılmayan bir RemoteEvent veya RemoteFunction'dır. Normal bir oyuncunun bu uzaktan tetikleyiciyi ateşleyememesi gerektiğinden, aldığı her türlü trafik bir kötüye kullanandan gelmelidir. Sunucu bu uzantının tetiklendiğini tespit ettiğinde, istemcinin müdahalede bulunduğuna dair çok yüksek bir güven sinyali alır. En iyi acil eylem, olayı kaydetmek ve oyuncuyu oturumdan atmaktır.
Bir başka değişiklik, RemoteEvents'leri belirli yönlü amaçlarla tasarlamaktır - bazıları yalnızca istemciden sunucuya iletişim için ve diğerleri yalnızca sunucudan istemciye iletişim içindir. Olay isimleri niyet edilen yönü açığa çıkarmasa da, sunucu her uzantının hangi yönün kullanılacağını izler. Eğer bir kötü kullanıcı istemciden bir sunucu → istemci uzantısını ateşlemeye çalışırsa, bu güvenilir bir tespit yöntemi olarak hizmet eder, çünkü meşru oyun deneyimi yanlış yönde iletişimi tetiklemeyecek şekilde tasarlanmıştır.
Sonuçları Uygulama
Tespit sistemleri şüpheli davranışları işaret ettiğinde, yanıt stratejinizi dikkatlice düşünün. Farklı deneyimler, toplulukları, rekabetçi çıkarları ve kesintiye toleranslarına dayalı olarak farklı yaklaşımlar gerektirir.
Sonuç merdiveni - Çoğu deneyim, kalıcı yasaklara hemen atlamaktan ziyade arttırılan tepkelerden fayda sağlar:
- Sessiz kayıt - Oyuncu etkisi olmadan kanıt toplayın
- Sessiz hafifletme - İstismarın etkisini engelleyin (istekleri bırakın, değerleri kısıtlayın, doğru durumu senkronize edin)
- Geçici kısıtlamalar - Belirli yetenekleri sınırlayın (ticaret, lider tahtaları, eşleştirme)
- Görünür uygulama - Atmalar, geçici askıya alma veya kalıcı yasaklar
Stratejiniz için dikkate almanız gerekenler
- Görünür sonuçları geciktirin ki bu, kötüye kullanıcılara tam olarak neyin tespiti tetiklediğini öğretmesin
- Ciddiyeti yanıtla eşleştir - küçük ekonomik istismarlar, oyun bozucu fizik hilelerinden farklı bir tedavi gerektirebilir
- Topluluğunuzu düşünün - rekabetçi deneyimler, rahat deneyimlerden daha katı uygulamalar gerektirebilir
- Hatalar için plan yapın - Tespit güveni düşük olduğunda geri alınabilir işlemleri tercih edin
Sürekli suçlular için, yalnızca atmalara güvenmek yerine Ban API kullanmayı düşünün. Yasak API, yasaklanan oyuncuların yeniden katılmasını önler ve evreniniz çapında daha iyi izleme sağlar. Tespit kurallarınızı versiyonlayın ve sonuç oranlarını izleyin, böylece sorunlu sistemleri tanımlayabilirsiniz. Uygulamanızın topluluk için adil hissettirip hissettirmediğini değerlendirmek için oyuncu geri bildirimlerini izleyin. Doğru denge, tamamen deneyiminizin ihtiyaçlarına ve oyuncularınızın beklentilerine bağlıdır.