[Skript Tanıtımı] Gelişmiş bot koruması

PratikZeka

Ahanda Peynir
En iyi cevaplar
0
Tarafımca yazılmış olan bu bot koruması skript, gelişmiş olup botu engellemekte usta.

Çalışma mantığı:
Oyuncu sunucuya ilk defa girdiği zamandan çok ama çok kısa bir zaman sonra (0.00002 tick) sunucuyu whiteliste alır.
Oyuncuya lütfen register olduktan sonra 20 saniye içinde /id komutunu yazın der.
Eğer oyuncu register olduktan sonra bu komutu yazmazsa 20 saniye sonra oyuncu atılır ve whitelist kapanır.
Eğer oyuncu register olduktan sonra /id komutunu yazarsa whitelist kapanır.
Oyuncu /id yazdıktan sonra tekrar /id yazarsa bu bir işe yaramaz ve oyuncuya sen zaten bot olmadığını kanıtlamışsın denir.

Link (Hastebin) :
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.


Eğer hastebin sunucularından silinirse yedek olarak:
Kod:
options:
    tag: &6[&bAntiBotSkript&6] &7: &a
on first join:
    set {antibotmode} to true
    if {antibotmode} is true:
        wait 0.00002 ticks
        execute console command "whitelist on"
        send "{@tag}&b&lLutfen kayit olduktan sonra 20 saniye icinde /id komutunu yazin. Aksi taktirde kicklenirsiniz !"
        if {kickmode} is true:
            wait 20 seconds
            kick player due to "&6Cok yavassin ! Biraz hizli olmaya calis."
            execute console command "whitelist off"
command /id:
    trigger:
        if {dogrulandi} is true:
            send "{@tag}Sen zaten bot olmadigini kanitlamissin !"
        else:
            send "{@tag}Bot olmadigin anlasildi !"
            set {antibotmode} to false
            set {kickmode} to false
            set {dogrulandi} to true
            execute console command "whitelist off"
on command "/register":
    if {antibotmode} is true:
        set {kickmode} to true
on command "/login":
    if {antibotmode} is true:
        set {kickmode} to true
 

LifeMCServer

Nether Yerlisi
En iyi cevaplar
98
Bot girdikten sonra kicklemenin bir anlamı yokken bir de 0.00002 tick bekletmek? On connect eventini kullanmalısın.
 

LifeMCServer

Nether Yerlisi
En iyi cevaplar
98
0.00002 ticki insanın zaten ruhu duymaz. Oyuncu ilk defa girdiğinde 0.00002 tick bekletilmezse whitelistten dolayı giremiyor.

Demek istediğim bot sunucuya girdikten sonra kicklemenin bi amacı kalmıyor direk girişini engellemen lazım, olay burda 0.00002 tick değil yani. Java öğrenip PlayerLoginEvent'e lowest priority'li bir listener oluşturup orda IP'sini adını vs. kontrol edip kicklemek en mantıklısıdır.
 

PratikZeka

Ahanda Peynir
En iyi cevaplar
0
Demek istediğim bot sunucuya girdikten sonra kicklemenin bi amacı kalmıyor direk girişini engellemen lazım, olay burda 0.00002 tick değil yani. Java öğrenip PlayerLoginEvent'e lowest priority'li bir listener oluşturup orda IP'sini adını vs. kontrol edip kicklemek en mantıklısıdır.
Ama en azından botların hızlı hızlı girip çıkmasıyla sunucunun yavaşlamasını engelliyor. Tıpkı reCAPTCHA gibi.
 

LifeMCServer

Nether Yerlisi
En iyi cevaplar
98
Ama en azından botların hızlı hızlı girip çıkmasıyla sunucunun yavaşlamasını engelliyor. Tıpkı reCAPTCHA gibi.

Recaptcha örneğin kayıt olma formunda kullanıyor isen bot'un kayıt olup veritabanında yer kaplamasını ve çok fazla kayıt sorgusu olmasını engelliyor. Fakat senin yaptığın botları kickleyip ekstra variable vs. kaydediyor daha da yoruyor sunucuyu, bot girdikten sonra zaten çıkıyor normalde en fazla 3sn falan kalabiliyor, yani senin atmanın bir yararı yok sadece sunucudaki bot sayısını düşürür hafifletir falan belki. Son olarak daha iyi korumalar var iken veyahut yapılabilecek iken "en azından" diyip en azı kullanmak saçmalıktır..
 

MCTDark

Marangoz
En iyi cevaplar
0
0.00002 tick diye bir şey yok çıkar onu aklından

Demek istediğim bot sunucuya girdikten sonra kicklemenin bi amacı kalmıyor direk girişini engellemen lazım, olay burda 0.00002 tick değil yani. Java öğrenip PlayerLoginEvent'e lowest priority'li bir listener oluşturup orda IP'sini adını vs. kontrol edip kicklemek en mantıklısıdır.
Kod:
on "org.bukkit.event.player.PlayerLoginEvent" with priority lowest:
oldu mu
 

DonsuzT

Kızıltaş Madencisi
En iyi cevaplar
0
Hiçbir şekilde faydası olucağını düşünmüyorum, deathbotu engellersin ama gerisi zor.
 

PratikZeka

Ahanda Peynir
En iyi cevaplar
0
Deathbot'u engelleyeceği zaten kesin. Ama botların sunucuyu yavaşlatmasını engeller.
 

janjel

Zombi Katili
En iyi cevaplar
0
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.

Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.

Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.


bot koruması dediğiniz olay bundan ibaret. mcspam şeysini engelleyebiliyor. mysql ve bungeecord un aynı makinede barınması yeterli.

söylemeyi unutmuşum, attığım kodlar bungeecord veya türevi sistemleri içindir.
 

Ekli dosyalar

  • upload_2018-3-1_23-43-14.png
    upload_2018-3-1_23-43-14.png
    11.8 KB · Görüntüleme: 469

LifeMCServer

Nether Yerlisi
En iyi cevaplar
98
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.

Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.

Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.


bot koruması dediğiniz olay bundan ibaret. mcspam şeysini engelleyebiliyor. mysql ve bungeecord un aynı makinede barınması yeterli.

söylemeyi unutmuşum, attığım kodlar bungeecord veya türevi sistemleri içindir.

Mcspam'ı artık zaten spigot'da bulabileceğin önüne gelen her türlü premium eklenti sponsorluk ile engelleyebiliyor. Daha başka ve etkili bir sürü program mevcut.
 
Üst