Yardım Hileyi bitirmek

  • Konuyu açan Konuyu açan martysama
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 11
  • Gösterim Gösterim 667
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

martysama

MT Üye
MT Üye
Mesaj
173
Beğeni
70
Puan
446
Ticaret Puanı
0
merhabalar,

Ben hileyi bitirmek istiyorum yani diyceksiniski her oyunda hile açılıyor.

zamanında cs 1.6 dada hep hile açılıyordu sonra birşey yaptılar artık açılmıyor kaç senedir cs 1.6 atıyorum 1 kere hileye denk gelmedim.

yani neden metin2de hile açılması engellenmesin.

Sizce nerden başlamalıyım.
 
Hileler engellenemez, her zaman açık bulunur bir şekilde yapılır ama şuan metin2'de destek veren hile yazılımcısı kalmadı neredeyse. Özellikle bilindik botlar elini ayağını piyasadan çekti, güncelleme almıyorlar yani senin şuan yapman gereken arkada kalan kırıntıları fixlemek.
 
Hileler engellenemez, her zaman açık bulunur bir şekilde yapılır ama şuan metin2'de destek veren hile yazılımcısı kalmadı neredeyse. Özellikle bilindik botlar elini ayağını piyasadan çekti, güncelleme almıyorlar yani senin şuan yapman gereken arkada kalan kırıntıları fixlemek.
Bence her zaman açık bulunmaz.
Açık bulunsaydı srcler herkezin elinde.
level hileleri çıkardı.
yüksek damage hileleri çıkardı.
birşey var ki level hilesi yapılamadı.
bence bunun server taraflı anlık güncellemesiyle alakalı olabileceğini düşünüyorum.belkide harekat hızların kaydını mysql tabloalrına alınmalı.
 
Bu konuya çok uzun bir zaman önce değinmiştim fakat gereken ilgiyi göremediğinden işte şu an sizin gibi bunu merak edenler hiç bir sonuç bulamıyor. Third party'i engellemek kalıcı olarak mümkün değil fakat bir yolu var. Bu konuya dair açıklamamı farklı bir forumda bir süre önce yapmıştım. Bir çok oyunculu oyunda hileyi engellemek client-side tarafında mümkün değildir. Çünkü client-side pointer ve CB yöntemiyle sürekli aşılabilir. Bunun tek yolu Server authoritative'den geçer. Peki bu nedir ? Kaleme aldığım yazıyı olduğu gibi paylaşıyorum.

Aşağıda ki konunun tamamına ulaşmak istiyorsanız, googling yaparak şunu arayın;

MMO türü oyunlarda (SAM) yerleşik tam yetkili sunucu hareketi

Başlamadan önce ne olduğunu anlayın ve bilin; Eğer googling'de SAM'i sorgularsanız

What does server authoritative movement mean?
An Authoritative server is a setup where the client sends instructions/information to the server. Server verifies validates this, and updates the proxies and/or the client accordingly. For instance, a client tries to move 1000 m/s; however, the server knows the maximum velocity for the client is only 10 m/s.
Yanıtını size verir. Aslında cevabını aradığınız konunun kapsamlı cevabını size aşağıda veriyorum. Fakat bu durumun komplikasyonları beraberinde getirdiğini ve uzun uzadıya masaya yatırmanız gereken bir içerik olduğunu bununla sınırlı olmamakla birlikte çok ileri düzey bir aşama olduğunu asla unutmamalısınız.

Server Authoritative Movement (SAM)

INF: Bu başlık altında yer alan bilgiler, bir oyun geliştirme sunumu değildir!
Burada yer alan projeyi kullanabilmek, ve aynı zaman da ortamınıza göre geliştirmek için MMO Client/Server İlişkisini, TCP Soket Programlamayı, Asio kütüphane kullanımını, Ağ Topolojisini, ve (Network & Character Movement Replication & Çok parçacıklı nesne ve ağ) çoğaltma işlemlerini, Server & Client RPCs ve yanı sıra framework çerçeveleri hakkın da gelişmiş ve çok ileri düzey bir bilgiye ihtiyacınız olduğunu lütfen unutmayın!


INF: Bu bilgiyi kullanmak için, network sistemini, çok parçacıklı işlemleri ve replication mantığını baştan aşağı değiştirmeniz gerekecektir. Ancak bu işlevi sabırla ve azimle kullanmanız durumunda sahip olacağınız şey tam olarak;
• Yetkili sunucu sistemine, tam ölçeklenebilirliğe, esnek bir yapıya, tam tcp ve udp desteğine ve son derece düşük yük'e sahip bir ağ mimarisi inşa edeceğinizi bilmeniz gerekir.


INF: Bu bölümden sonra yer alan paylaşılmış bilgiler, çok ileri düzey bir sunucu kurulumu/programlaması temelinde gerçekleşmektedir. Aşağıda roadmap içerisindeki örnekte yerleşik sunucu yetkilendirmesi bulunmaktadır, Bu nedenle incelemeniz gerekmektedir. İncelemeniz doğrultusunda sonuç alamazsanız, paylaştığımız bu RM'yi kullanarak kendi yerleşik sunucu hareketinizi kısmen yapabilirsiniz.


Yerleşik Sunucu Yetkilendirmesi (Server Auhoritative Movement) nedir ?

Yetkili bir sunucu, istemcinin sunucuya sunucunun belirlediği koşulda talimat/bilgi RPCs gönderdiği bir tür kurulumdur.
Sunucu bu istekleri kendi koşullarına uygunsa doğrular ve proxy'leri ve/veya istemciyi buna göre günceller.
Örneğin, bir istemci (oyuncu) 10000 m/s hareket etmeye çalışır; (Metin2 ,Knight Hız Hilesi) gibi düşünülebilir ancak sunucu, istemci için maksimum hızın yalnızca 10 m/s olduğunu bilir. (Oyunlarda hile ve third party korsanlığının nedeni, ilgili oyunun sunucusunun çoğunlukla yetkili bir sunucu olmamasından kaynaklıdır)
İstemci bu durumda korsan bir yazılım kullanıyorsa, hareket hızını 10000 m/s yükseltip bir an için çok uzağa hareket ediyor gibi görünse de, ya da makul amacını karşılayacak herhangi bir özelliği sunucu yetkisi dışında değiştirmek isterse sunucu tarafından (planlanan gecikme telafisi sonunda, eğer ince düşünülmüşse) doğru konuma geri getirilecektir.

SAM (Server Authoritative Movement) = Oyun istemcileri üzerinde tam hakimiyet; Bir oyuncu, sunucunun onları doğru konuma geri taşımasına izin vermemek için korsanlığa uğramış bir istemci kullansa bile(Crack, sürümü eski, desteklenmeyen etc..), sunucunun mevcut durumu & konumu bunu istemciye yansıtmaz ve korsanlığa uğramış istemci RPC's talimatlarıyla sunucuyla senkronize olamayacak ve bu şekilde kullanmak için etkisiz olacaktır. Sunucunuzun ne kadar yetkili olduğu, mimariyi nasıl kurduğunuza, ağ hareketlerini nasıl çoğalttığınız ile doğrudan bağlantılıdır. Siz böyle yapmadığınız sürece doğal olarak bir koruma da oluşmaz, herhangi bir doğa üstü mucize olmadığı sürece..


Yerleşik Sunucu Yetkilendirmesi, oynatıcının diğer oynatıcılara karşı oynadığı (Player vs Player 'PVP') rekabetçi oyunlar için çok uygundur, ve hatta bir gereksinimdir..

Pozitif Yönleri;

  1. İstemci tarafınca korsanlık (Hile/Third Party) çok daha zordur (çoğu senaryoda neredeyse imkansızdır)
  2. Yetkinin kimde olduğu ve tüm oyun istemcileri kendi içinde haberleştirmek için kullanılan dünyanın tek bir 'hükümdarı' olduğu açık ve nettir.
  3. Anti-Cheat yazılımları istemci tarafında koruma sağlarken, yerleşik sunucu hareketi sunucu tarafında dolaylı yoldan bir anticheat görevi görür (daha fazlası hatta) İstemci tarafında anticheat yazılımlarına müdahale edilip, bypass edilebilirken sunucu yetkilisi erişilemez bir konumda olacağından erişim/değişim neredeyse imkansızdır.
  4. Yetkili bir sunucu kendisine gelen isteğin gerçek istemciden olup olmadığını sorgular, çünkü zaten bildiğiniz gibi oyunda yapılan tüm işlemler (giriş, karakter seçme, silme, hareket vb) bir paket isteğidir, ve sunucu bu paketleri kabul ederse işler, eğer etmezse zaten belirlenen koşulu yerine getirir. İşte böyle bir durumda, yetkili bir sunucu kendisine gelen istemci dışındaki paketleri otomatik bir şekilde, istenen veri sağlanmazsa reddedecektir. Örnek vermek gerekirse, bir DDoS atağı ardı sıra yüzlerce paketin sunucuya iletilmesi ile gerçekleşir, sunucu bu durumda ise paket isteklerini bir süre sonra cevap döndüremediğinden kanal düşmesi ile sonuçlanır. Fakat yetkili bir sunucu gelen isteği ne kadar olursa olsun işler ve geriye cevap döndürür. Bu da teorik olarak bir DDoS atağını engellemenin pozitif yönlerinden biridir.

Negatif Yönleri

  1. Giriş gecikmesini önlemek için istemci tarafı tahminine ihtiyacınız olacaktır. Bunu bazı senaryolarda ve belirli oyun mekaniklerinde uygulamak gerçekten bir hayli zor olabilir.
  2. Sunucunun daha fazla hesaplama/analiz yapması gerekecek (RPCs almak ve istemciye onaylamak için tüm verileri işlemesi gerekecek); bu, durumda sunucu donanımını daha masraflı hale getirebilir. Böyle bir durumda ise sunucu tüm otoriteyi sağlayacağından, donanımsal bir eksik bulunmamalıdır.
Yetkili Yerleşik Sunucu kullanarak, herkes için oyun deneyimini mahveden wallhack, speedhack, flyhack, noclip, güvenlik açığı vb. gibi en korkunç saldırıları ve yazılımları önleyebilirsiniz. SAM'e ek olarak etkili ve sezgisel analize sahip bir istemci taraflı bir anticheat ile, imkansız hale de getirebilirsiniz.
❌ Her zaman olduğu gibi, hile yapmayı zorlaştırmak için sunucu yetkilisi dışında elbette istemci taraflı Anti-Cheat yazılımlarını kullanabilirsiniz, ancak ne olursa olsun istemci tarafında bulunan bir Anti-Cheat ile hile yapmak her zaman mümkün olacaktır. Şifreleme ve algoritma oldukça güvenilir olsa da. Yapabileceğiniz tek şey, ne tür hilelerin mümkün olduğunu sezgilemek, analiz etmektir ve bu durum çoğunlukla, oyunun sunucu tarafı ile ilgili her şeyi (test, analiz tonla iş ve araştırma/deney) yaparak tespit edilir, ki bu gerçekten çok yorucu bir süreçtir. Bu forum 2010 yılından bu yana bunun derdiyle zaten uzun süre yandı..

Yetkili bir oyun oluşturmak basit değildir, bu nedenle, bir mimariyi oluştururken akılda tutulması gereken bazı notlar paylaşmak istedim:

  • Tam yetkili bir oyun örneğinde istemci tarafı tahmini ve gecikme telafisi en küçük ayrıntısına kadar hesaplanmalıdır;
  • İstemcilerin dahili ya da dahili olmayan alternatiflerini/ayarlarını kullanarak oyundaki varlıkları somutlaştıramadığından emin olun;
  • Envanter, Hasar, NPC'ler, dünyadaki oyuncular tarafından oluşturulan (eşyalar) gibi oyuncuların yanı sıra oyunla ilgili her şey sunucu tarafında olmalıdır.
  • (Sunucunun yapması gereken) hiçbir şey istemciye ait olmamalı, komutlar girdi dışında hiçbir şeyi dikte (write/yazma) edememeli, oyunu etkileyen RPCs istemciden kesinlikle asla gönderilemez/gönderilmemeli.

Fully Authoritative (Tamamen Yetkili) bir sunucu hareketi kullanan oyunlara göz atalım isterseniz biraz;
  • Counter Strike (Pek şaşırttı sizi sanırım değil mi? Ancak üzücü ve doğru)
  • Overwatch
  • World of Tanks
  • League of Legends
  • Dota 2
  • Lost ARK
Mostly Non-Authoritative (Çoğunlukla Yetkili Olmayan) sunucu kullanan oyunlara göz atalım isterseniz biraz;
  • Rust
  • The Division
  • The Forest
  • Metin2
Linkleri görebilmek için giriş yap veya kayıt ol.
kullanan oyunlara da (alanımız olmamasına rağmen) göz atalım birde isterseniz;
  • Starcraft 2
  • Heroes of the Storm
  • Halo Reach

MMO Client / Server Network Beh. Lifecycle (Laniatus Game Examples)

1666865184504.png


MMO Server / Client RPC Request Resp. Workflow; (Laniatus Game Examples)


wNhx3gk18H2LwAAAABJRU5ErkJggg.png




NOT: Yukarıda paylaşılan ağ topolojisi ve roadmap,
Linkleri görebilmek için giriş yap veya kayıt ol.
geliştirmiş olduğu ağ kütüphanesine (NetworkLibrary) özel tasarlanmıştır, referans olması maksadıyla paylaşıyorum. Bu RM'de yerleşik sunucu yetkilendirme örneği bulunmaktadır, incelemeniz gerekmektedir. Eğer uygulayacağınız oyunda SAM yoksa bu paylaştığımız RM'ye göre kendi (SAM) Server Authoritative Movement sisteminizi kısmen temel olarak yazabilirsiniz.


Yerleşik Sunucu Yetkilendirmesi (Server Auhoritative M.) hakkında temel kaynaklar

C'de TCP İstemci Sunucu uygulama örneği;


Yetkili Sunucu Hareketi ile ilgili bir örnek;
(Bu örnek içerisinde bir istemcinin harici olarak nasıl yetkilendirilmeye çalıştığını ve hareket hızını yükseltip, sunucu tarafından tekrar nasıl normale çevrildiğini hem sahne, hem de oyun ekranı üzerinde görebilmeniz mümkündür)



Bir başka yetkili sunucu hareketine sahip ağ mimarisi olan Mirror ile örnekler;


 
alıntıda yapmıycam çok yer kaplıycak.
cs 1.6 da böyle bi sistem var mı ?
Mesajımı tamamen okumadığınızı düşünüyorum kaldı ki bunu zaten orada vurgulamıştım. Zaten konuyu açarken ifade ettiğiniz (cs 1.6 tamamen engelledi) diye değindiğiniz nokta zaten benim anlattığım konudur. Detaylı şekilde tekrar okumanızı öneririm. Keyifli forumlar.
1683214924379.png
 
Hileler engellenemez, her zaman açık bulunur bir şekilde yapılır ama şuan metin2'de destek veren hile yazılımcısı kalmadı neredeyse. Özellikle bilindik botlar elini ayağını piyasadan çekti, güncelleme almıyorlar yani senin şuan yapman gereken arkada kalan kırıntıları fixlemek.
Hocam bilindiklerden daha büyüğü piyasaya girdi şuan belli ki haberiniz yok. Şuan tüm hile piyasası tek el neredeyse. Ve engellenemiyor.
 
Kilit hileler hariç bot gibi hileler engellenemez. Server taraflı hareket + saldırı hızı, teleport ve 7x gibi hileleri tamamen engellemek mümkün ama bot dediğimiz hile oyuncuyu taklit ediyor. Koordinat verilerini alsan bile nerden bileceksin ki adamın bot veya gerçek olduğunu?

Client taraflı hile engellemek için bellek + pack yani dosya koruması gerekir ama ne kadar koruyabilirsin ki. Hile yapan taraf her zaman 1-0 önde.
 
Kilit hileler hariç bot gibi hileler engellenemez. Server taraflı hareket + saldırı hızı, teleport ve 7x gibi hileleri tamamen engellemek mümkün ama bot dediğimiz hile oyuncuyu taklit ediyor. Koordinat verilerini alsan bile nerden bileceksin ki adamın bot veya gerçek olduğunu?

Client taraflı hile engellemek için bellek + pack yani dosya koruması gerekir ama ne kadar koruyabilirsin ki. Hile yapan taraf her zaman 1-0 önde.
aslında akıllı olan vs metin2 sourcesini anlayan biri botuda halledebilir sadece yaratıcı oalrka düşünmesi gerekir.

örneğin fake pc sistemi yaparsın hileler fake pcye işler ana pc işlemez.
başka bi örnekde sahte metin taşı bottaki adam sahte metintaşına saldırır bot olduğu burdan anlaşılır.

ama dediğin gibi basit hileler engellenebiliyor.
ama src ile yapamassın diye birşey yok.

ben çocukluğumda cs 1.6 oynardım.
onda svside gibi sxe anti cheat vardı
sonra ne yaptılar bilmiyorum sxe kalkmış ve 1 2 senedir zombi escape oynuyorum hileye denk gelmedim.
 
aslında akıllı olan vs metin2 sourcesini anlayan biri botuda halledebilir sadece yaratıcı oalrka düşünmesi gerekir.

örneğin fake pc sistemi yaparsın hileler fake pcye işler ana pc işlemez.
başka bi örnekde sahte metin taşı bottaki adam sahte metintaşına saldırır bot olduğu burdan anlaşılır.

ama dediğin gibi basit hileler engellenebiliyor.
ama src ile yapamassın diye birşey yok.

ben çocukluğumda cs 1.6 oynardım.
onda svside gibi sxe anti cheat vardı
sonra ne yaptılar bilmiyorum sxe kalkmış ve 1 2 senedir zombi escape oynuyorum hileye denk gelmedim.
Bunlar engellendi yalnız botlar tarafından
 
anti cheate yönelik başka bi örnek bulsam ekliycemde bulamıoyrum :D
bu alanla ilgili çok paylaşım yok.
Evet botu engellemek zor çünkü oyunun kurallarına göre hile çalışıyor.
anlık olarak süresi belli olmayan bi anda ss alırsa ve otomatik olarak görünürde bir bot varsa algılayıp ban atabilir mi bir sistem merak ediyorum .
 
Üst