Problem z atakami botów na mój serwer

Zombie
Lempik
Lempik

Właśnie trwa atak botów na mój serwer. Czy jest jakaś możliwość, żeby na kilka minut zakazać logowanie nowych graczy? Żeby gracze zalogowani mogli grać, ale nikt inny nie mógł sie zalogować?

Timo
Timo Moderator forum.lvlup.pro

Nie masz antybota? Trzeba się zatroszczyć wcześniej 😛 Z jakich krajów idą IP od botów? Jak masz tylko polskich graczy a IP botów są z np. francji to możesz odciąć.

Lempik
Lempik

Mam antybota, ale w tym przypadku jakoś mniej zadziałał. Może dlatego, że te boty logowały się wolniej niż zazwyczaj.

Timo
Timo Moderator forum.lvlup.pro

W większości antybotów jest opcja, że można włączyć tryb ataku i wtedy nie przyjmuje nowych graczy - tylko nicki, które były już na serwerze. Jakiego masz antybota?

Lempik
Lempik

W sumie nie wiem, bo jak antybot działał, to nie zgłębiałem. Chyba to ten, który jest wbudowany w Authme. Myślałem, że coś jest też w Grief Prevention, ale tam jest tylko anty spam.

Lempik
Lempik

Tu chyba mógłbym coś zrobić: enableAntiBot: true # The interval in seconds antiBotInterval: 5 # Max number of players allowed to login in the interval # before the AntiBot system is enabled automatically antiBotSensibility: 10 # Duration in minutes of the antibot automatic system antiBotDuration: 10 # Delay in seconds before the antibot activation antiBotDelay: 60

Timo
Timo Moderator forum.lvlup.pro

Na przykład tutaj.

Lempik
Lempik

Coś tam zmieniłem, zobaczymy, czy zadziała następnym razem. Dziękuję za odpowiedzi.

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Lempik:

Żeby gracze zalogowani mogli grać, ale nikt inny nie mógł sie zalogować?

/whitelist on

:thinking:

Lempik
Lempik

Hm, przez chwilę na to patrzyłem, ale potem zrozumiałem... Świetny pomysł!

luxDev
luxDev Pionier

whitelist on

to tylko pomoże na chwile, co gdy administracji nie będzie? kto włączy?

Polecam w AuthMe lub przez iptables wyciąć jakieś kraje i zostawić PL, DE większość botów mają proxy z jakiś innych krajów, więc 90% powinno zostać zablokowanych.

Lempik
Lempik

Logują się gracze (nie boty, ale gracze) z .pl, .uk, .cz, .be, .se, .de, więc nie chciałbym ograniczać.

SystemZ
SystemZ Admin lvlup.pro

Ilu masz graczy z Chin, Vietnamu czy z Seszeli ? 😃

Sądzę że @luxDev miał na myśli wycięcie krajów które są dobrze znane jeśli chodzi o pochodzenie ataków gdyż nie kładzie się tam dużego nacisku na bezpieczeństwo (najwidoczniej). Prawdopodobieństwo że masz tam graczy jest niskie, zaś to że ataki są z tych krajów już znacznie wyższe i dlatego możesz łatwo wykorzystać ten fakt bez szkody dla swoich graczy. Chyba że faktycznie dosłownie ludzie z całego świata u Ciebie są i gościsz nigeryjskie książęta i inne osoby dobrze znane ze spamu.

Jeśli masz KVM możesz użyć tego poradnika: https://lvlup.rok.ovh/t/poradnik-jak-zablokowac-inne-kraje-na-vps/290

Lempik
Lempik

Mam hosting MC. W konfiguracji authme jest takie coś.

Protection:
    # Enable some servers protection (country based login, antibot)
    enableProtection: false
    # Apply the protection also to registered usernames
    enableProtectionRegistered: true
    # Countries allowed to join the server and register. For country codes, see
    # https://dev.bukkit.org/projects/authme-reloaded/pages/countries-codes
    # PLEASE USE QUOTES!
    countries: 
    - 'US'
    - 'GB'
    # Countries not allowed to join the server and register
    # PLEASE USE QUOTES!
    countriesBlacklist: 
    - 'A1'

Na razie nie uczyniłem tam żadnych zmian. Nie jestem pewien, jak to ma działać. Mam tam enableProtection=false, ale mimo to mi się antibot włącza.

Jeżeli dam enableProtection na true, to potem jeżeli jakiegoś państwa nie będzie ani na liście krajów dozwolonych ani na liście krajów niedozwolonych, to co będzie? A jeżeli ktoś będzie łączył się z adresu IP, który nie ma żadnego adresu DNS, to co się stanie? Czy może to działa inaczej, a nie na podstawie domeny najwyższego poziomu?

Edit: jak działa formatowanie kodu? Dałem na początek co najmniej cztery spacje, a mimo to kod nie jest sofrmatowany. Edit2 by @Systemz, należy użyć bloku z trzema znakami `