Gerçek zamanlı çevrimiçi atıcı potansiyel botlardan nasıl korunursunuz


14

Çok oyunculu bir yukarıdan aşağıya atıcı yaratmak istiyorum. Farklı konular hakkında okurken, önlerinde bazı gerçek zorluklarım olduğunu görebiliyorum, ama her şey yolunda.

Anlayamadığım bir şey, oyunu bot oluşturmaya çalışan insanlardan nasıl koruyacağım?

Demek istediğim, anladığım kadarıyla, ağ trafiğini, oyuncuların olup biteni dinleyen ve anlayan programlar oluşturamayacak şekilde korumak imkansız.

Beni endişelendiren şey, insanların rakip oyuncuların mevcut konumunu dinleyen botlar oluşturabilmeleri ve oyuncu bu maçı kazanmak için tam olarak "mükemmel" yerde çekim yapıyormuş gibi taklit eden iletişim gönderebilmeleridir.

Peki gerçek zamanlı oyunları bu botlardan korumak için ne tür teknikler kullanılıyor?

Ayrıca (birçok insanın mücadele ettiği bir şey gibi göründüğü gibi) tartışma aramaya çalıştığımı belirtmek isterim, ancak bu konuda özel bir şey bulamadık, sadece gerçek zamanlı oyunlarda ağ oluşturma hakkında daha geniş soruların bir parçası olarak . Eğer daha sert görünseydim beni yerime koymaktan çekinmeyin :)


Punkbuster, hehe .. Üçüncü taraf uygulamalarını ve değişikliklerini algılayan bir üçüncü taraf uygulaması olması için bir neden var :)
James

İnsanlar bot oluşturuyorsa neden endişeleniyorsunuz? Belki onun etrafında çalışabilirsiniz, bu sadece bir sorun değil.
Beska

@James Punkbuster korkunç. Ben başkaları çıktıklarında yeni oyunlar oynamaya çalışırken kötü deneyimler yaşadım. Sürekli bir punkbuster hatası için tekme, eğlenceli değil.
AttackingHobo

@Beska: Sesler kadar havalı, botların bot olmayan oyuncular için oyunu yok etmeyeceğine dair ciddi iknalara ihtiyacım var. Botların deneyimi mahvetmeyeceği bir oyun tasarlanabileceğinden eminim. Çoğu çevrimiçi çok oyunculu oyun için, oyun mekaniğini bot kanıtı yapmak önemsiz değil.
usta_code 18:11

@AttackingHobo Belirtmek istediğim tek şey, bu soruna bir çözüm bulmaya çalışmaktan başka hiçbir şey yapmayan tüm şirketler var. PunkBuster, bunu yapmaya çalışan daha iyi bilinen parçalardan sadece biri, iyi ya da kötü :)
James

Yanıtlar:


8

Botlarla mücadele için iki yaklaşım vardır. Bunlar istemci tarafı koruma ve sunucu tarafı analizidir.

İstemci tarafı koruması en açık yaklaşımdır - bir anlamda kaba kuvvet. Oyun istemcisinin tamamen meşru olduğundan, kurcalanmadığından ve başka hiçbir programın bunu etkilemediğinden emin olmak için tüm çabayı gösteriyorsunuz. Şimdi bu zor bir problem ve tam olarak çözülmesi imkansız. Ancak birçok oyun bu yöntemle dener ve bazı başarılar elde eder. İstemci koruması için bazı hazır çözümler olduğunu biliyorum ve bunları aramanızı öneririm. Birini kendiniz uygulamak göz korkutucu bir görevdir.

% 100'den daha az etkili olmasının yanı sıra, istemci tarafı koruma, oyuncularınız için son derece can sıkıcı olmanın dezavantajına sahiptir. Genellikle alt sekme görev geçişini devre dışı bırakma, virüsten koruma programları vb.

Sunucu tarafı analizi daha az müdahaleci. Bu yaklaşımda, oyuncuların davranışındaki kalıpları analiz eden bazı sunucu kodlarınız vardır. Çoğu zaman, botlar belirgin şekilde farklı oynarlar. Örneğin, insan oyuncuların eylemler (çekim gibi) arasında değişen süreleri vardır ve bu sefer bir çan eğrisi dağılımına uyarlar. İlkel botlar sabit zamana sahip olacak veya belirli bir aralıkta eşit olarak dağıtılacaktır. Eğlenceli gerçek: bu yöntemi kullanarak, bir zamanlar mekanik bir botu olan bir oyuncuyu yakaladık - fiziksel klavyesindeki düğmelere basan akıllı bir cihaz. Söylemeye gerek yok, istemci korumasının değil miktarı yakalayabilirsiniz o . Yine de, bu analiz mükemmel değil. Daha gelişmiş botlar sistemlerinizi kandırır ve ne kadar çok kontrol uygularsanız, o kadar gelişmiş botlar olur.

En iyi koruma için bu iki yöntemi de birleştirebilirsiniz. İstemci koruması, bot geliştirmeyi zorlaştıracak ve sunucu analizi hızlı bir şekilde geliştirilen basit botları durduracaktır. Ama ne yaparsan yap, botları asla tamamen durduramazsın. Temsilcilerinizi oyuncuların evlerine göndermezseniz, oyunlarını denetlemek ve ihlalleri bildirmek için. (Bu arada duyulmamış bir şey. Meşru oynadığını doğrulamak için kesinlikle çok başarılı bir oyuncunun evine insanları gönderen çevrimiçi poker şirketi hakkında bir hikaye okudum. Ama şimdi bulamıyorum.)

Botlarla savaşmak için iki şüpheli tavsiye daha var. Birincisi, ağ trafiğinizi şifreleyin. Bunun işe yarayacağını sanmıyorum. Müşteriniz bir düşmanın elindeyken, trafik şifresi çözülebilir ve şifresi çözülebilir ... veya siz kendi istemciniz şifreleme için kullanılacaktır. Öte yandan, şifreleme gecikme ekler ve bu bir "gerçek zamanlı atıcı" için gerçekten kötüdür. İkinci öneri "sadece oyununuzu bunun etrafında tasarlayın". Bu sağlam bir fikir gibi görünse de, bunu başaran tek bir oyun görmedim.


1
Mekanik botu olan bir adam bulduğunuzdan şüpheliyim. Girişler için bir donanım klavyesi taklit eden bir yazılım botuydu.
AttackingHobo

2
Hayır, gerçek mekanik bot. Yazar bize resimler gönderdi. Ne yazık ki, zaten sunucudan silindiler (2007'de geri döndü!), Bu yüzden sözümü almalısın.
Nevermind

cevap için teşekkürler. Şifrelemenin "çıtayı biraz" kaldırabileceğini ve bilgisayar korsanlarının çoğundan kalkan yapabileceğini düşünüyorum. Ancak gerçek bir iletişim şifrelemesi, atıcılar ve hatta MMO'lar gibi zaman açısından kritik olan oyunlarda pratik olur mu?
Zaky Alman

Üzerinde çalıştığım oyunların hiçbiri oturum açma sırası dışında herhangi bir yerde şifreleme kullanmadı, bu yüzden gecikmeyi ne kadar etkilediğini bilmiyorum. Şifreleme algoritmasına bağlı, sanırım.
Nevermind

2

Büyük oyuncuların oyunlarını korumak için yaptıklarını konuşmasını beklemem. İnsanlar ne yaptıkları hakkında ne kadar az bilgi sahibi olurlarsa, insanlar bunun etrafında çalışmak o kadar zor olur. Bence Steam'in yaptığı işin bir kısmı kara listede olan belirli uygulamaları aramak.

Kişisel olarak, iletişim makineleri arasında iletişimi mümkün olduğunca şifrelemek ve gizlemek isterim, bazı fikirler almak için https / ssl'nin çalışma şeklini okumaya değer olabilir. Ana bilgisayarlar rastgele bir genel / özel anahtar üretecek ve yalnızca ortak kısmı diğer istemcilere gönderecek olsaydı, istemciye erişiminiz olsa bile, bir şey gönderilen paketlerin içeriğini kolayca arayamaz ve değiştiremezdi. sonra hiçbir şey tamamen güvenli değildir.

Ayrıca, istemci exe'nin kurcalanmadığından emin olmanız gerekir.


1

Oyununuzu, ekip çalışması ve gerçek akıllı kararların mükemmel bir şekilde nişan almaktan daha önemli olacağı şekilde tasarlayın. İyi botlar yapmak katlanarak zorlaşıyor.


Takım çalışmasına ve hazırlığa bağlı oyunların ve saf seğirme becerilerine dayanan oyunların yerlerinin olduğunu düşünüyorum. Yine de kimsenin oyun tasarımı seçeneklerini teknik engellere uyarlaması gerektiğini düşünmüyorum
Zaky German

@Zaky: Bir keresinde, ani ölüm sırasında ekranın bir SPH sıvısıyla yavaşça dolduracağı solucan tarzı bir oyunu prototipledim. Oyun ölene kadar harika görünüyordu. Birçok oyun tasarımı kararının teknik engellerden etkilendiğini düşünüyorum.
deft_code 18:11

değil sanatsal veya grafik tasarım oyun mekaniği, olduğu gibi Ben geliyordu oyun tasarımını @deft_code
Zaky Almanca

SPH kullanmam solucanlardaki sulu ölüm kadar oyun tamircisi. Suyun oyunla etkileşme şeklini değiştiriyorum.
usta_code 18:11

0

Ve kendinize soruna değip değmeyeceğine dair tüm önemli soruyu sorun. Cheaters ve botters 2 şey yapabilirsiniz:

  1. oyunu kendileri için yok et. Bot olmadan oynayamazlar, hızlı bir şekilde ilgiyi kaybederler ve ayrılırlar çünkü eğlenceli değildir.
  2. diğerleri için oyunu yok. Botları sayesinde aşırı güçlü hale gelirler ve böylece müşterilere mal olurlar. Buna genellikle aynı fiziksel bilgisayardan birden fazla botu kontrol eden tek bir oyuncu eşlik eder (veya tek bir oynatıcının elle kontrol etmesi beklenenden çok daha fazla bilgisayar kullanır).

İkisi karşılıklı olarak elbette münhasır değildir.

Genellikle o zaman en büyük problem 3+'dur (bir insanın eğitim ile aynı anda 2 klavye veya diğer giriş cihazlarını kullanması, ancak sadece 2 eli olduğu için değil) aynı veya yakından ilişkili IP adreslerinden (veya MAC'den) adresler) birbirleriyle milisaniye içinde komutlar yürütmek. Aynı IP adresinden gelen 5 istemcinin tümünü anormal derecede yüksek oranda ve anormal derecede yakın koordinasyonda komutlar verdiğini tespit ederseniz, muhtemelen bottunuzu buldunuz. Genellikle bu bot ordusunun daha yüksek koordinasyonu ve hızı nedeniyle benzer sayıda insan kontrollü toonlara karşı bir etkileşime hükmedebileceği pvp senaryolarında en zarar verici olacaktır. Pve senaryolarında, genellikle oyunda sınırlı hasar vardır (bir kişinin birden fazla toonu daha yüksek seviyelere daha hızlı bir şekilde eğitmesine izin vermesi dışında,

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.