Keşfedin, Öğrenin ve Paylaşın
Evrim Ağacı'nda Aradığın Her Şeye Ulaşabilirsin!
Yeni Soru Sor
Paylaşım Yap
Sorulara Dön
Atlas Demir
Üye 1 hafta önce 1 Cevap
0

Hile test eden (Ocean) nasıl kodlanır?

Minecraft serverinde AAC olmak istiyorum, Oceanı nasıl kodlayacam?
141 görüntülenme
  • Şikayet Et
  • Mantık Hatası
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
Tüm Reklamları Kapat
1 Cevap
Sena Küçükkıvanç
Bilgisayar Mühendisi 3 gün önce

Ocean'ı kodlamak öyle "hadi oturup yazalım" diyeceğin bir şey değil, o resmen yaşayan, nefes alan bir canavar. İşin temeli, sunucuyla oyuncu arasındaki iletişimi, yani paketleri (packets) dinlemekte yatıyor. Her hareketin, her vuruşun, her zıplayışın bir pakettir. Senin görevin, ProtocolLib gibi bir kütüphane kullanarak bu paket trafiğinin arasına dalmak ve dedektiflik yapmak. Mesela oyuncu yürüyor değil mi? Sana sürekli onun pozisyonunu bildiren PacketPlayInFlying paketleri yolluyor. Sen de bu paketleri kapıp, "bir saniye bakalım," diyorsun. Oyuncunun son bilinen konumuyla bu yeni gelen konumu arasındaki mesafeyi, geçen zamanı (server tick'lerini) hesaba katarak ölçüyorsun. Eğer bu mesafe, oyuncunun o anki durumuna (koşuyor mu, iksir etkisi var mı, zıplıyor mu) göre fiziksel olarak imkansızsa, işte o an "Hah! Seni gidi seni!" diyorsun sonra o arkadaşı haritadan siliyorsun. Bu yaptığın en temel movement check olayıdır ve işin sadece %1'i falandır.

Asıl mevzu bu işin bitmeyen bir kedi-fare oyunu olması. Sen Speed hilesi için bir kontrol yazarsın, hileciler onu atlatmak için paketi öyle bir manipüle eder ki, sanki lag varmış gibi görünür. O zaman sen de sadece hıza değil, ivmelenmeye (acceleration), sürtünmeye (friction) ve oyuncunun havadaki ve yerdeki tick sayılarına bakmaya başlarsın. Sadece hareket de değil, Killaura için oyuncunun kafa çevirme hızını (rotation packets), saniyedeki vuruş sayısını ve vuruşlarının zamanlamasındaki tutarlılığı analiz edersin. İnsan gibi olmayan, robotik bir mükemmellikteki her vuruş şüphelidir. Bu yüzden tek bir hatada oyuncuyu banlamazsın, ona bir violation level (VL), yani ihlal puanı verirsin. Ufak tefek anormallikler lag olabilir ama VL puanı biriktikçe, oyuncunun hileci olduğuna dair kanıtların artar. Ocean gibi bir sistemi kodlamak, kod yazmaktan çok, Minecraft'ın fizik motorunu ondan daha iyi bilen bir oyun fizikçisi ve her an yalan söyleyen paketlerin ardındaki gerçeği arayan bir adli araştırmacı olmaktır yani özetle... O da zor iş.

Tüm Reklamları Kapat

7
  • Şikayet Et
  • Mantık Hatası
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
Daha Fazla Cevap Göster
Cevap Ver
Evrim Ağacı Soru & Cevap Platformu, Türkiye'deki bilimseverler tarafından kolektif ve öz denetime dayalı bir şekilde sürdürülen, özgür bir ortamdır. Evrim Ağacı tarafından yayınlanan makalelerin aksine, bu platforma girilen soru ve cevapların içeriği veya gerçek/doğru olup olmadıkları Evrim Ağacı yönetimi tarafından denetlenmemektedir. Evrim Ağacı, bu platformda yayınlanan cevapları herhangi bir şekilde desteklememekte veya doğruluğunu garanti etmemektedir. Doğru olmadığını düşündüğünüz cevapları, size sunulan denetim araçlarıyla işaretleyebilir, daha doğru olan cevapları kaynaklarıyla girebilir ve oylama araçlarıyla platformun daha güvenilir bir ortama evrimleşmesine katkı sağlayabilirsiniz.
Popüler Yazılar
30 gün
90 gün
1 yıl
Evrim Ağacı'na Destek Ol

Evrim Ağacı'nın %100 okur destekli bir bilim platformu olduğunu biliyor muydunuz? Evrim Ağacı'nın maddi destekçileri arasına katılarak Türkiye'de bilimin yayılmasına güç katın.

Evrim Ağacı'nı Takip Et!
Aklımdan Geçen
Komünite Seç
Aklımdan Geçen
Fark Ettim ki...
Bugün Öğrendim ki...
İşe Yarar İpucu
Bilim Haberleri
Hikaye Fikri
Video Konu Önerisi
Başlık
Bugün bilimseverlerle ne paylaşmak istersin?
Gündem
Bağlantı
Ekle
Soru Sor
Stiller
Kurallar
Komünite Kuralları
Bu komünite, aklınızdan geçen düşünceleri Evrim Ağacı ailesiyle paylaşabilmeniz içindir. Yapacağınız paylaşımlar Evrim Ağacı'nın kurallarına tabidir. Ayrıca bu komünitenin ek kurallarına da uymanız gerekmektedir.
1
Bilim kimliğinizi önceleyin.
Evrim Ağacı bir bilim platformudur. Dolayısıyla aklınızdan geçen her şeyden ziyade, bilim veya yaşamla ilgili olabilecek düşüncelerinizle ilgileniyoruz.
2
Propaganda ve baskı amaçlı kullanmayın.
Herkesin aklından her şey geçebilir; fakat bu platformun amacı, insanların belli ideolojiler için propaganda yapmaları veya başkaları üzerinde baskı kurma amacıyla geliştirilmemiştir. Paylaştığınız fikirlerin değer kattığından emin olun.
3
Gerilim yaratmayın.
Gerilim, tersleme, tahrik, taciz, alay, dedikodu, trollük, vurdumduymazlık, duyarsızlık, ırkçılık, bağnazlık, nefret söylemi, azınlıklara saldırı, fanatizm, holiganlık, sloganlar yasaktır.
4
Değer katın; hassas konulardan ve öznel yoruma açık alanlardan uzak durun.
Bu komünitenin amacı okurlara hayatla ilgili keyifli farkındalıklar yaşatabilmektir. Din, politika, spor, aktüel konular gibi anlık tepkilere neden olabilecek konulardaki tespitlerden kaçının. Ayrıca aklınızdan geçenlerin Türkiye’deki bilim komünitesine değer katması beklenmektedir.
5
Cevap hakkı doğurmayın.
Aklınızdan geçenlerin bu platformda bulunmuyor olabilecek kişilere cevap hakkı doğurmadığından emin olun.
Keşfet
Ara
Yakında
Sohbet
Agora

Bize Ulaşın

ve seni takip ediyor

Göster

Şifremi unuttum Üyelik Aktivasyonu

Göster

Şifrenizi mi unuttunuz? Lütfen e-posta adresinizi giriniz. E-posta adresinize şifrenizi sıfırlamak için bir bağlantı gönderilecektir.

Geri dön

Eğer aktivasyon kodunu almadıysanız lütfen e-posta adresinizi giriniz. Üyeliğinizi aktive etmek için e-posta adresinize bir bağlantı gönderilecektir.

Geri dön

Close