hunelDev

Yeni üye
1 Şub 2025
3
2
3
Herkese merhaba oncellikle ben unity gelisitiricisiyim ve bir mmorpg oyunu gelistirmekteyim.Haliyle server to client sistemi ile calisan daha da acmam gerekirse bir rpc prosedurleriyle calisan bir sistemim var.Haliyle bir anti cheat sistemine ihtiyac duyuyorum. Unity altinda gelistirilen anti cheat sistemlerinin cok yeterli oldugunu dusunmuyorum. Bu yuzden eos c# sdk kullanmaya karar verdim.Bunun icin sdk talimatlarini izledim.Ancak soyle sorunum var ben acikcasi mongo/redis database altinda calisan bir sisteme sahibim dahasi unity ngo packetini kullanarak bir udp portu ile communication u sagliyorum.Sonuc olarak easy anti cheati client altinda sorunsuz sekilde calistiriyorum. Hatta mutex ile clientin anti cheati acip acmadiginida kontrol ettiriyorum daha sonra GetAntiCheatClientInterface methodu ile de anti cheati kontrol ettiriyorum. Uzun aciklamadan sonra sorum su;

Ben bu sistemi kullanirken clientin cheat girisiminde bulundugunu direk olarak serverdan anlayabilme sansim var mi yoksa client servere cagrimi gonderecek ve bunun icin OnClientIntegrityViolated callback methodunu mu kullanmak zorundayim.
Cunku benim dusunceme gore cheater bu methodun cagirlmasinida engelliyeblir ve streamingi engelleyeblir yani sunucu ve client arasindaki.Sizce bunu nasil sagliyeblirim.Nasil bir yol izleyeblirim ?

Diger sorum ben server side anti cheat sistemini butunuyle main server dosyalarindan ayirmak istiyorum. Bunun icin nasil bir izlemeyeliyim ? Client gibi main server a anti cheat serveri baglayip ona yetki vererek kullanmak sizce mantikli mi ?

En son sorumda su file controlu,memory access harinicnde online servisi kullanmadan bunlar harinicinde bana birsey sunuyor mu eac ?
 
Son düzenleme:
Herkese merhaba oncellikle ben unity gelisitiricisiyim ve bir mmorpg oyunu gelistirmekteyim.Haliyle server to client sistemi ile calisan daha da acmam gerekirse bir rpc prosedurleriyle calisan bir sistemim var.Haliyle bir anti cheat sistemine ihtiyac duyuyorum. Unity altinda gelistirilen anti cheat sistemlerinin cok yeterli oldugunu dusunmuyorum. Bu yuzden eos c# sdk kullanmaya karar verdim.Bunun icin sdk talimatlarini izledim.Ancak soyle sorunum var ben acikcasi mongo/redis database altinda calisan bir sisteme sahibim dahasi unity ngo packetini kullanarak bir udp portu ile communication u sagliyorum.Sonuc olarak easy anti cheati client altinda sorunsuz sekilde calistiriyorum. Hatta mutex ile clientin anti cheati acip acmadiginida kontrol ettiriyorum daha sonra GetAntiCheatClientInterface methodu ile de anti cheati kontrol ettiriyorum. Uzun aciklamadan sonra sorum su;

Ben bu sistemi kullanirken clientin cheat girisiminde bulundugunu direk olarak serverdan anlayabilme sansim var mi yoksa client servere cagrimi gonderecek ve bunun icin OnClientIntegrityViolated callback methodunu mu kullanmak zorundayim.
Cunku benim dusunceme gore cheater bu methodun cagirlmasinida engelliyeblir ve streamingi engelleyeblir yani sunucu ve client arasindaki.Sizce bunu nasil sagliyeblirim.Nasil bir yol izleyeblirim ?

Diger sorum ben server side anti cheat sistemini butunuyle main server dosyalarindan ayirmak istiyorum. Bunun icin nasil bir izlemeyeliyim ? Client gibi main server a anti cheat serveri baglayip ona yetki vererek kullanmak sizce mantikli mi ?

En son sorumda su file controlu,memory access harinicnde online servisi kullanmadan bunlar harinicinde bana birsey sunuyor mu eac ?
Anti Cheat diye bir şey yok. Olsa GTA da olurdu. İsteyen istediği hileyi açıp kullanabilir. EasyAntiCheat te bir işe yaramıyor. ARK Survivala gir hile dolu. Zortnite hile dolu. CS2 hile dolu. Valorant hile dolu.
Yapacak bir şey yok. En iyisi hiç bulaşmamak. Büyük bir şirket değilsen yeterli bilgi sahibi değilsen bu işe girişme. Eğlence olarak oynanacak ve para kazanabileceğin bir oyun tasarla yeterince büyüdükten sonra bunu düşünürsün. Burada bence hiç kimse EAC hakkında bilgi sahibi değildir. Ya da sınırlı bir bilgi birikimi vardır. Bir yerini yapsan diğerinden patlarsın gibime geliyor. Bir şekilde yapsan bile öyle kusursuz olacağını sanmıyorum. Kafayı takan birisi güzel bir script yazacaktır senin oyun için.
 
Acikcasi cheating yapilamacayak bir oyunun olmadigina ben de katiliyorum.Sonucta ai ile artik insanlar hile geristirebilir duruma geldi.Mesela client uzerinde hile kullanilmasi degil acikcasi.Cunku zaten oyun icinde butun actionlar direct server auth gerektiriyor.Yani her client ve haliyle playerin datasi direct server memorysindeki queue uzerinde tutuyorum.Client auth eylem sayisi cok az.Ama mesela oyundaki normalde collider ile sinirlari belli olan bir objenin yada cikmayacagi egim olan bir yere client uzerinde dosyalari degisitirp kullanmasini engellemek bir ornektir.Yoksa ne trade sisteminde ne de pk sisteminde istede bir client in hile yapma ihtimali yok.Cunku digelim karakter 100 hasar veriyorken hile ile 1 mlyon hasar verebilmesi mumkun degil.Nedeni client sadece ben atack yapiyorum diyeblir sunucuya :D nedemek istedigimi anlatabilmisimdir.
Size bir gercek daha soyliyim yaklasik 13 senedir unity gelisitiricisiyim bir sekilde kullaniyorum.Unreal Engine 3 versionunu kullanmaya calisan biri olarak yani ozamanlardan beri.Bir konuda eminim unreal kucuk studio ya da india game developerlarinin kullanabilecegi bir engine degildir. Birsey daha eklemek isterim blueprint sistemi inanin unreal engine nin problemi oldugunu dusunuyorum.Sonucta shader yazar gibi bir grafik editorunde :D 10000 method cagrisini baglama ihtiyaci duyablidigimiz bir sistemde neden buna ihtiyac duyalim ?

Farkettim ki soyledin oyunlarin hepsi nerdeyse fps turunde oyunlar.Aim cheating e karsi yapabilecegi birsey yok sonucta yani.Sonuc olarak ben oyunun dosyalarini korumak zorundayim unity ILCPP ile backside derlemesi yapiyor c++ a.ve IL2CPP dnspy kullarak oyun dosyalarina mudehale etmelerini istemiyorum acikcasi
 
Son düzenleme:
  • Beğen
Tepkiler: leonscottkfm
Acikcasi cheating yapilamacayak bir oyunun olmadigina ben de katiliyorum.Sonucta ai ile artik insanlar hile geristirebilir duruma geldi.Mesela client uzerinde hile kullanilmasi degil acikcasi.Cunku zaten oyun icinde butun actionlar direct server auth gerektiriyor.Yani her client ve haliyle playerin datasi direct server memorysindeki queue uzerinde tutuyorum.Client auth eylem sayisi cok az.Ama mesela oyundaki normalde collider ile sinirlari belli olan bir objenin yada cikmayacagi egim olan bir yere client uzerinde dosyalari degisitirp kullanmasini engellemek bir ornektir.Yoksa ne trade sisteminde ne de pk sisteminde istede bir client in hile yapma ihtimali yok.Cunku digelim karakter 100 hasar veriyorken hile ile 1 mlyon hasar verebilmesi mumkun degil.Nedeni client sadece ben atack yapiyorum diyeblir sunucuya :D nedemek istedigimi anlatabilmisimdir.
Size bir gercek daha soyliyim yaklasik 13 senedir unity gelisitiricisiyim bir sekilde kullaniyorum.Unreal Engine 3 versionunu kullanmaya calisan biri olarak yani ozamanlardan beri.Bir konuda eminim unreal kucuk studio ya da india game developerlarinin kullanabilecegi bir engine degildir. Birsey daha eklemek isterim blueprint sistemi inanin unreal engine nin problemi oldugunu dusunuyorum.Sonucta shader yazar gibi bir grafik editorunde :D 10000 method cagrisini baglama ihtiyaci duyablidigimiz bir sistemde neden buna ihtiyac duyalim ?

Farkettim ki soyledin oyunlarin hepsi nerdeyse fps turunde oyunlar.Aim cheating e karsi yapabilecegi birsey yok sonucta yani.Sonuc olarak ben oyunun dosyalarini korumak zorundayim unity ILCPP ile backside derlemesi yapiyor c++ a.ve IL2CPP dnspy kullarak oyun dosyalarina mudehale etmelerini istemiyorum acikcasi
Ben 9 yıldır Unreal Engine kullanmaktayım. 2019-2022 yıllarına kadar mobil alanında tercih edilmiyordu. Zaten optimizasyon problemleri yaşıyordum. Fakat o zamanlar ilk projemdi belki de sorun bendeydi. Mesela Post Process Exposure kullanmak yerine 20 adet Light ekliyordum s.lak gibi. Bunlar da mobil de kasıyordu. Bu motor profesyonel bir motor. Unity ise sanki birkaç gencin bir araya gelerek geliştirdiği küçük bir şirket projesi gibi duruyor gözümde. Hani böyle potansiyeli kısıtlı gibi. Ne bileyim. Unity sanki Huaweinin yeni işletim sistemi gibiyken, Unreal ise IOS gibi.
Asla Unity motoruna yanaşmam yani öyle söyleyeyim. Bolt vardı onda da sanırım sonradan geldi.
Ben hala Blueprint kullanmaktayım. Çünkü kod yazmak işleri daha da karmaşıklaştırıyor bana göre. Bir şeyleri yazılarla belirlemek sürekli alt tab ile geçiş yapmak. Özellikle bir hatayı çözmek için 30 deneme yaparken sürekli bunlarla uğraşmak yorucu. Animasyonlar için mesela böyle antin kuntin şeylerde kod yazmak yorar. Blueprinti düzgün kullanırsan harika sonuçlar yaratabiliyor.
Ben de yaklaşık 2 senedir bir multiplayer oyun geliştirmekteyim. Steam'de sayfam duruyor. Tamamen Blueprint ile yapıldı. Tek başıma geliştiriyorum bitişe yaklaştım.
C++ bilgim hiç yok desem yalan olmaz. C# bilgim var biraz onun dışında yok :)

Özellikle Client tarafından gönderilen işlemlerde hile üretmek çok basit. Aimbot yapmak mesela, ya da Wall hack gibi şeyler.
 
  • Beğen
Tepkiler: hunelDev
Bence ihtiyac duymama nedeni c++ a hyper casual oyun gelisitrmekle alakali oldugunu dusunuyorum acikcasi.Midcore ve ya hardcore bir projede yer alip ozellikle tabi animator,model artist vs. degilsen mecbur kalirsin diye dusunuyorum. Soyle bir ornek vereyim; mesela Oyun motorunun ilk render islemini yapmadan hatta graphic kutuphanelerini dispatch etmeden bir dll yuklemen ve icindeki external methodu calistirman gerekiyor ne yaparsin ?.
Bunu unity de yapabilmek icin c++ bilgisine ihtiyac duduyorum sahsen ben :D . Herhangi bir sekilde oyunun temel loopunun disinda bir cagi yapmak istediginde sen de engine farketmeksizin c++ a ihiyac duyacaksin hatta muhtemelen low level windows api lere bile ihitiyac duyacaksin tabi windows standalone projesi gelistiriyorsan.

Anti cheat systeminde boyle bir cagriya ihtiyac duydum acikasi ben.Cunku oyun acilip loading islemi bitip ilk render dan sonra anti-cheat sisteminin baslatilmasi benim gozumde anti cheat sisteminin olmamasiyla es deger.
Sonuc olarak unity de ilcpp derleyicisini kullaniyor ve :D her turlu c++ altinda gelistirme yapiyoruz c++ cok degerli oldugunu dusuyorum sahsen :) kaldi ki yuksek seviyeli dillerin hepsi zaten bir visual machine ihtiyac duyar ve bu dillerin environment hepsi zaten c/c++ altinda gelistirilmistir java/c#/python/php.. hepsi bunlarin hatta isletim sistemleri unix linux android :D

bu isi yapiyorsan deigim gibi tasarim animatorluk vs yi saymiyorum ama bunlar haricinde sarttir c++ . Ben yurtdisinda basvurularim oldu ve inan bana anadilin gibi ileri seviye ozelliikle opengl,vulkan kutuphanelerine hakim cok iyi seviyede c++ bilen design patternlerine hakim ve kiss/solid prensiblerine bagli yazilimci ariyorlar ve en onemlisi yuksek seviye matematik bilgisine sahip. Bizim ulkede bu isleri :D isletmeden mezun olan insanlar yapma calisitklari icin yazilmda matematikigin yeri olmadigini dusunurler tabi :D neyse.

Sonuc olarak ihitiyac meselesi turkiyede midcore ve hardcore sektoru yok denecek kadar az cunku sektor boyle buyuk projeler yaparabilecek firmalardan yoksun diger butun sektorlerde oldugu gibi.

Bu arada cevablarin icin tesekkurler.
 
Son düzenleme:
  • Beğen
Tepkiler: leonscottkfm
Bence ihtiyac duymama nedeni c++ a hyper casual oyun gelisitrmekle alakali oldugunu dusunuyorum acikcasi.Midcore ve ya hardcore bir projede yer alip ozellikle tabi animator,model artist vs. degilsen mecbur kalirsin diye dusunuyorum. Soyle bir ornek vereyim; mesela Oyun motorunun ilk render islemini yapmadan hatta graphic kutuphanelerini dispatch etmeden bir dll yuklemen ve icindeki external methodu calistirman gerekiyor ne yaparsin ?.
Bunu unity de yapabilmek icin c++ bilgisine ihtiyac duduyorum sahsen ben :D . Herhangi bir sekilde oyunun temel loopunun disinda bir cagi yapmak istediginde sen de engine farketmeksizin c++ a ihiyac duyacaksin hatta muhtemelen low level windows api lere bile ihitiyac duyacaksin tabi windows standalone projesi gelistiriyorsan.

Anti cheat systeminde boyle bir cagriya ihtiyac duydum acikasi ben.Cunku oyun acilip loading islemi bitip ilk render dan sonra anti-cheat sisteminin baslatilmasi benim gozumde anti cheat sisteminin olmamasiyla es deger.
Sonuc olarak unity de ilcpp derleyicisini kullaniyor ve :D her turlu c++ altinda gelistirme yapiyoruz c++ cok degerli oldugunu dusuyorum sahsen :) kaldi ki yuksek seviyeli dillerin hepsi zaten bir visual machine ihtiyac duyar ve bu dillerin environment hepsi zaten c/c++ altinda gelistirilmistir java/c#/python/php.. hepsi bunlarin hatta isletim sistemleri unix linux android :D

bu isi yapiyorsan deigim gibi tasarim animatorluk vs yi saymiyorum ama bunlar haricinde sarttir c++ . Ben yurtdisinda basvurularim oldu ve inan bana anadilin gibi ileri seviye ozelliikle opengl,vulkan kutuphanelerine hakim cok iyi seviyede c++ bilen design patternlerine hakim ve kiss/solid prensiblerine bagli yazilimci ariyorlar ve en onemlisi yuksek seviye matematik bilgisine sahip. Bizim ulkede bu isleri :D isletmeden mezun olan insanlar yapma calisitklari icin yazilmda matematikigin yeri olmadigini dusunurler tabi :D neyse.

Sonuc olarak ihitiyac meselesi turkiyede midcore ve hardcore sektoru yok denecek kadar az cunku sektor boyle buyuk projeler yaparabilecek firmalardan yoksun diger butun sektorlerde oldugu gibi.

Bu arada cevablarin icin tesekkurler.
Mesleki açıdan söylediklerin doğru. Fakat benim amacım Indie oyunlar geliştirip büyüyerek şirket kurmak o aşamadan sonra ise bu tip şeylerle ben ilgilenmek istemiyorum açıkcası. Bunları bilen birilerini yönetip projeye dahil etmek mantıklı gelirdi bana. Yani asıl amacım eğlenceli kaliteli bir oyun yaparak iyi miktarda paralar kazanmak.
Hileyi External yazmalıyız zaten. Valorantın hile koruma uygulaması gibi mesela.
"Vanguard" fakat bu bile yetersiz kalıyor gördüğün üzere. Bilgisayarın açılışından itibaren çalışan bu uygulama yine de yetersiz.