Bu bölüm, zaten girişleri ve bağlamı doğruladığınızı varsayar (önceki bölümlere bakın). Bu makale, bir isteğin teknik olarak geçerli olduğu ancak davranışın kötüye kullanım gibi göründüğü durumlarda ne yapılacağını ve meşru oyunculara zarar vermeden nasıl yanıt verileceğini kapsar.
Felsefe
- Sunucu karar verir. Tespit ve sonuçlandırma sunucuda gerçekleşir. İstemci tarafı tespitlerine dayanarak asla yasaklama yapmamaya çalışın, çünkü kötüye kullananlar bunları kolayca atlatabilir.
- Önce zararı önleyin. Bir istismarın etkisini sessizce nötralize edin. Örneğin, bir oyuncu hız hilesi yapıyorsa, hemen atmak yerine onları son geçerli konumlarına geri döndürün. Sadece oyunu veya diğer oyuncuları korumak için gerekli olduğunda 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 eylemleri tercih edin.
- Tasarım > tespit. Birincil güvenliğiniz, sağlam doğrulama ve oran sınırlamasından gelir (bununla ilgili İstemci-sunucu sınırını güvence altına alma ve diğer bölümlere bakın). Aşağıdaki tespit yöntemleri, bu savunmaları tamamlamak için tasarlanmıştır, yerini almak için değil.
Heuristikler
Heuristikler, teknik olarak mümkün ancak meşru bir oyuncu için son derece olası olmayan eylemleri işaretleyen davranış kontrolleridir. Temel doğrulamayı geçebilen şüpheli etkinlikleri yakalamak için "kural-of-thumb" olarak kullanılırlar. Etkili bir heurisik, bir oyuncunun eylemini teorik bir maksimum veya makul bir temel ile karşılaştırır.
Örneğin, bir oyuncu simülatör oyununda aniden 1 milyar jeton kazandığını iddia ederse, uzaktan doğrulamanız isteğin doğru yapılandırıldığını onaylayabilir. Ancak sunucudaki bir heurisik kontrol, bu kadar kazanmanın haftalar alması gerektiğini, saniyeler değil ve işlemi şüpheli olarak işaretler.
İşte sunucu tarafı heurisiklerinin üç klasik örneği. Her biri, oyuncu davranışını oyunun kuralları ve fiziksel sınırlamaları ile doğrular, yaygın istismarlara karşı güçlü bir savunma oluşturur.
| Sunucu tarafı heurisik | Açıklama | Örnek |
|---|---|---|
| En Hızlı Tamamlanma Süresi | Bir görevi, örneğin bir engel parkurunu tamamlama için teorik olarak en hızlı mümkün süreyi hesaplayın. Bu, en iyi yolu bulmayı ve maksimum oyuncu hızını varsaymayı içerir. | Bir obby'de, dünya rekoru 30 saniye ise, 5 saniyelik bir tamamlama süresi, teleportasyon veya hız istismarının güçlü bir işareti olarak kabul edilir. |
| Kazanç Oranı | Bir oyuncunun bir kaynağı (para, deneyim, eşyalar) kazanabileceği maksimum meşru oranı takip edin. | Bir oyuncu meşru olarak dakikada 100 jeton kazanabiliyorsa, bir saniyede aniden 10,000 jeton kazanması işaretlenmelidir. |
| Eylem Aralığı | Sunucu, bir oyuncunun tekrar eden eylemleri arasındaki zaman aralıklarını analiz eder. İnsan girişleri, zamanlamada doğal, hafif varyasyonlara sahiptir, oysa basit otomasyon betikleri (örneğin otomatik tıklayıcılar) genellikle eylemleri robotik bir tutarlılıkla gerçekleştirir. | Bir balık tutma mini oyununda, bir oyuncu oltasını atmak için tıklar. Sunucu, her atışın zaman damgasını kaydeder. Eğer oyuncu, her eylem arasında tam olarak aynı aralıkla (örneğin, tam olarak 2.500 saniye) 100 kez oltasını atarsa, bu bir makro veya botun güçlü bir göstergesidir. Bir insanın zamanlaması doğal olarak dalgalanır. |
Bu örneklerden herhangi biri tek başına bir hileciyi mahkum etmek için yeterli olmayabilir. Her biri bir sinyal olarak değerlendirilmelidir, kesin kanıt olarak değil. İyi bir uygulama, bir şüphe puanı uygulamaktır. Bir oyuncu bir heurisik kontrolünü geçemezse, puanını artırırsınız. Atma veya yasaklama gibi ciddi eylemler, yalnızca bir oyuncunun puanı yüksek bir eşiği geçtiğinde birden fazla, çeşitli tespitler yapıldığında gerçekleşmelidir.
Örneğin, yetenekli bir oyuncu obby'nizi rekor kıran bir süreyle bitirirse, "En Hızlı Tamamlanma Süresi" heurisikini tetikler. Yasaklanmalı mı? İstismar ediyor olabilirler, ancak meşru ama istenmeyen bir kısayol keşfetmiş de olabilirler. Bu tek sinyale dayanarak yasaklamak riskli olur ve en sadık oyuncularınızdan birine zarar verebilir.
Ancak, aynı oyuncunun koşusu "Eylem Aralığı" heurisikini insan dışı tutarlı girişler için işaretlerse ve bir saat sonra "Kazanç Oranı" heurisikini tetiklerse, durum çok daha güçlü hale gelir. Bu farklı sinyallerin kombinasyonu, hile yapma konusunda çok daha güvenilir bir resim çizer. Bu sistemin gücü, harekete geçmeden önce güvenilir bir dava oluşturmak için birden fazla veri noktasını ilişkilendirmekte yatar.
Tuzaklar
Hilecilerin oyununuzun RemoteEvents'lerini denemeye çalıştıklarını tespit etmenin bir yolu, bir tuzak olan bir honeypot kullanmaktır. Bir honeypot, bir kötüye kullanıcının meşru görünecek şekilde gördüğü ancak meşru istemci betikleriniz tarafından asla kullanılmayan bir RemoteEvent veya RemoteFunction'dır. Normal bir oyuncunun bu uzaktan iletişimi ateşleyememesi gerektiğinden, aldığı her trafik bir kötüye kullanıcının kaynağı olmalıdır. Sunucu bu uzaktan iletişimin ateşlendiğini tespit ettiğinde, istemcinin müdahale ettiğine dair çok yüksek bir güven sinyali vardır. En iyi hemen yapılacak eylem, olayı kaydetmek ve oyuncuyu oturumdan atmaktır.
Bir başka varyasyon, RemoteEvents'leri belirli yönlü amaçlarla tasarlamaktır - bazıları yalnızca istemci → sunucu iletişimi için ve diğerleri yalnızca sunucu → istemci iletişimi için. Olay adları niyet edilen yönü açığa çıkarmasa da, sunucu her uzaktan iletişimin hangi yönde kullanılacağını takip eder. Eğer bir kötüye kullanıcı, istemciden sunucu → istemci uzaktan iletişimi ateşlemeye çalışırsa, bu güvenilir bir tespit yöntemi olarak hizmet eder çünkü meşru oyun, yanlış yönde iletişimi asla tetiklemez.
Sonuçları Uygulama
Tespit sistemleri şüpheli davranışları işaretlediğinde, yanıt stratejinizi dikkatlice düşünün. Farklı oyunlar, topluluklarına, rekabetçi risklerine ve kesintiye toleranslarına bağlı olarak farklı yaklaşımlar gerektirir.
Sonuç merdiveni - Çoğu oyun, kalıcı yasaklara doğrudan atlamak yerine yanıtları artırmaktan fayda sağlar:
- Sessiz kayıt - Oyuncu etkisi olmadan kanıt toplayın
- Sessiz hafifletme - İstismarın etkisini engelleyin (istekleri düşürün, değerleri sınırlayın, doğru durumu senkronize edin)
- Geçici kısıtlamalar - Belirli yetenekleri sınırlayın (ticaret, liderlik tabloları, 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 kötüye kullanıcılara tespiti tetikleyen şeyin ne olduğunu öğretmeyin
- Cevabı ciddiyetle eşleştirin - küçük ekonomik istismarlar, oyun kırıcı fizik hilelerinden farklı muamele gerektirebilir
- Topluluğunuzu düşünün - rekabetçi oyunlar, rahat oyunlardan daha sıkı uygulama gerektirebilir
- Hatalar için plan yapın - tespit güveni daha düşük olduğunda geri alınabilir eylemleri tercih edin
Sürekli suç işleyenler için, yalnızca atmalara güvenmek yerine Ban API kullanmayı düşünün. Ban API, yasaklanan oyuncuların yeniden katılmasını engeller ve evreninizde daha iyi izleme sağlar. Tespit kurallarınızı sürümleyin ve sonuç oranlarını takip edin, böylece sorunlu sistemleri tanımlayabilirsiniz. Oyuncu geri bildirimlerini izleyerek uygulamanızın topluluğa adil görünüp görünmediğini değerlendirin. Doğru denge, tamamen oyununuzun ihtiyaçlarına ve oyuncularınızın beklentilerine bağlıdır.