Compare commits

..
5 Commits
Author SHA1 Message Date
Jones b2dddfb0a4 Release 2.1.38 (#515) 2025-09-13 15:12:37 +00:00
Jones ce2fca72f0 Update Dutch translations 2025-09-13 17:05:39 +02:00
Greened 87da706508 Update ka.yml (#514)
* Update ka.yml

* Update ka.yml
2025-09-13 09:30:40 +00:00
Jones 3480bf9332 Make max packet count configurable 2025-09-12 16:59:46 +02:00
Jones 745d01b4d2 Disable expected position but got client tick end check 2025-09-12 16:23:11 +02:00
15 changed files with 50 additions and 28 deletions

No files matched your search

@@ -205,6 +205,7 @@ public final class SonarConfiguration {
verification.debugXYZPositions = generalConfig.getBoolean("verification.debug-xyz-positions");
verification.readTimeout = clamp(generalConfig.getInt("verification.read-timeout"), 1000, 30000);
verification.writeTimeout = clamp(generalConfig.getInt("verification.write-timeout"), 1000, 30000);
verification.maxPacketCount = clamp(generalConfig.getInt("verification.max-packets"), 200, 9999);
verification.reconnectDelay = clamp(generalConfig.getInt("verification.rejoin-delay"), 0, 100000);
verification.rememberTime = clamp(generalConfig.getInt("verification.remember-time"), 0, 86400000);
verification.blacklistTime = clamp(generalConfig.getInt("verification.blacklist-time"), 0, 86400000);
@@ -420,6 +421,7 @@ public final class SonarConfiguration {
private int readTimeout;
private int writeTimeout;
private int maxPacketCount;
private int reconnectDelay;
private int rememberTime;
private int blacklistTime;
@@ -285,7 +285,7 @@ public class FallbackPreparer {
+ (xpCountdown == null ? 0 : xpCountdown.length) * 20 + 5
+ Sonar.get0().getConfig().getVerification().getVehicle().getMinimumPackets() * 4
+ Sonar.get0().getConfig().getVerification().getMap().getMaxTries()
+ 150 /* some arbitrary leeway */;
+ Sonar.get0().getConfig().getVerification().getMaxPacketCount();
}
public static FallbackPacket[] getRegistryPackets(final @NotNull ProtocolVersion protocolVersion) {
@@ -161,7 +161,7 @@ public final class FallbackGravityHandler extends FallbackVerificationHandler {
if (!expectClientTick) {
// Is it impossible for the client to not move during the gravity check?
if (++tickWithoutMove >= 20) {
fail("expected position but got client tick end.");
//failOrShowCaptcha("expected position but got client tick end.");
}
} else {
tickWithoutMove = 0;
@@ -192,6 +192,8 @@ verification:
# Doba od okamžiku, kdy server přestal posílat pakety před odpojením hráče
# (Hodnota udávaná v milisekundách: 1 sekunda = 1000 milisekund)
write-timeout: 10000
# The maximum number of packets the client is allowed to send in total (during verification).
max-packets: 325
# Jak dlouho by měl hráč čekat, než se při ověřování znovu připojí
# (Hodnota udávaná v milisekundách: 1 sekunda = 1000 milisekund)
rejoin-delay: 5000
@@ -189,6 +189,8 @@ verification:
# Die Zeit, seit der der Server keine Pakete mehr sendet, bevor er die Verbindung zum Spieler trennt
# (Dieser Wert stellt die Zeit in Millisekunden dar: 1 Sekunde = 1000 Millisekunden)
write-timeout: 10000
# The maximum number of packets the client is allowed to send in total (during verification).
max-packets: 325
# Wie lange sollte ein Spieler warten, bevor er während der Überprüfung erneut verbinden kann
# (Dieser Wert stellt die Zeit in Millisekunden dar: 1 Sekunde = 1000 Millisekunden)
rejoin-delay: 5000
@@ -192,6 +192,8 @@ verification:
# The time since the server stopped sending packets before disconnecting the player
# (This value represents the time in milliseconds: 1 second = 1000 milliseconds)
write-timeout: 10000
# The maximum number of packets the client is allowed to send in total (during verification).
max-packets: 325
# How long should a player wait before reconnecting during verification
# (This value represents the time in milliseconds: 1 second = 1000 milliseconds)
rejoin-delay: 5000
@@ -191,6 +191,8 @@ verification:
# Temps écoulé depuis que le serveur a cessé d'envoyer des paquets avant de se déconnecter
# (Cette valeur représente le temps en millisecondes : 1 seconde = 1000 millisecondes)
write-timeout: 10000
# The maximum number of packets the client is allowed to send in total (during verification).
max-packets: 325
# Combien de temps un joueur doit-il attendre avant de se reconnecter pendant la vérification
# (Cette valeur représente le temps en millisecondes : 1 seconde = 1000 millisecondes)
rejoin-delay: 5000
@@ -190,6 +190,8 @@ verification:
# დრო როდიდანაც სერვერმა შეწყვიტა პაკეტების გაგზავნა სანამ გააგდებს მოთამაშეს.
# (ეს არის ნაჩვენები მილიწამებში: 1 წამი = 1000 მილიწამი)
write-timeout: 10000
# პაკეტების მაქსიმალური ოდენობა, რომელიც შეუძლია მოთამაშებ გაგზავნოს (შემოწმების დროს).
max-packets: 325
# რამდენ ხანს უნდა დაელოდოს მოთამაშე ვერიფიკაციის დროს ხელახლა დაკავშირებამდე?
# (ეს არის ნაჩვენები მილიწამებში: 1 წამი = 1000 მილიწამი)
rejoin-delay: 5000
@@ -188,12 +188,14 @@ verification:
# De hoeveelheid tijd die moet verstrijken voordat een speler een time-out krijgt
# (Deze waarde vertegenwoordigt de tijd in milliseconden: 1 seconde = 1000 milliseconden)
read-timeout: 8000
# De tijd sinds de speler stopte met het verzenden van pakketten voordat de verbinding werd verbroken
# (Deze waarde vertegenwoordigt de tijd in milliseconden: 1 seconde = 1000 milliseconden)
rejoin-delay: 5000
# De tijd sinds de server stopte met het versturen van pakketten voordat de verbinding met de speler werd verbroken
# (Deze waarde vertegenwoordigt de tijd in milliseconden: 1 seconde = 1000 milliseconden)
write-timeout: 10000
# Het maximale aantal pakketten dat de client in totaal mag verzenden (tijdens verificatie).
max-packets: 325
# De tijd sinds de speler stopte met het verzenden van pakketten voordat de verbinding werd verbroken
# (Deze waarde vertegenwoordigt de tijd in milliseconden: 1 seconde = 1000 milliseconden)
rejoin-delay: 5000
# Hoe lang moet Sonar het aantal mislukte verificaties voor een speler onthouden?
# (Deze waarde vertegenwoordigt de tijd in milliseconden: 1 seconde = 1000 milliseconden)
remember-time: 120000
@@ -191,6 +191,8 @@ verification:
# Czas, jaki ma upłynąć od zatrzymania wysyłania pakietów przez serwer do wyrzucenia.
# (Wartość ta reprezentuje czas w milisekundach: 1 sekunda = 1000 milisekund)
write-timeout: 10000
# The maximum number of packets the client is allowed to send in total (during verification).
max-packets: 325
# Jak długo niezweryfikowany gracz powinien czekać przed ponownym połączeniem do serwera?
# (Wartość ta reprezentuje czas w milisekundach: 1 sekunda = 1000 milisekund)
rejoin-delay: 5000
@@ -191,6 +191,8 @@ verification:
# O tempo desde que o servidor parou de enviar pacotes antes de desconectar o jogador
# (Este valor representa o tempo em milissegundos: 1 segundo = 1000 milissegundos)
write-timeout: 10000
# The maximum number of packets the client is allowed to send in total (during verification).
max-packets: 325
# Quanto tempo um jogador deve esperar antes de se reconectar durante a verificação
# (Este valor representa o tempo em milissegundos: 1 segundo = 1000 milissegundos)
rejoin-delay: 5000
@@ -190,6 +190,8 @@ verification:
# Время, прошедшее с момента прекращения отправки сервером пакетов до отключения игрока
# (Это значение представляет время в миллисекундах: 1 секунда = 1000 миллисекунд)
write-timeout: 10000
# The maximum number of packets the client is allowed to send in total (during verification).
max-packets: 325
# Сколько времени игрок должен ждать перед повторным подключением во время проверки
# (Это значение представляет время в миллисекундах: 1 секунда = 1000 миллисекунд)
rejoin-delay: 5000
@@ -187,6 +187,8 @@ verification:
# 服务器在断开玩家连接前停止发送数据包的时间
# (该值为毫秒. 1秒等于1000毫秒.)
write-timeout: 10000
# The maximum number of packets the client is allowed to send in total (during verification).
max-packets: 325
# 当玩家在还未通过检查的情况下断开连接后需要等待多少毫秒才可以重新连接?
# (该值为毫秒. 1秒等于1000毫秒.)
rejoin-delay: 5000
@@ -61,9 +61,9 @@ commands:
tick: '<green>✔</green>'
cross: '<red>✗</red>'
# Formatting for the version information
outdated-version: ' <red><click:open_url:''https://github.com/jonesdevelopment/sonar/releases/latest''><hover:show_text:''(Click to download the latest version of Sonar)''>(Outdated)</hover></click></red>'
unstable-version: ' <gold>(Unstable)</gold>'
api-error: ' <dark_red><hover:show_text:''Check the server logs for more information''>(API error)</hover></dark_red>'
outdated-version: ' <red><click:open_url:''https://github.com/jonesdevelopment/sonar/releases/latest''><hover:show_text:''(დააჭირე, რომ გადმოწერო Sonar_ის უახლესი ვერსია)''>(Outdated)</hover></click></red>'
unstable-version: ' <gold>(არასტაბილური)</gold>'
api-error: ' <dark_red><hover:show_text:''შეამოწმე სერვერის Log_ები მეტი ინფორმაციისთვის''>(API error)</hover></dark_red>'
# თარგმანი '/sonar reload' სთვის
reload:
@@ -97,7 +97,7 @@ commands:
# აღწერა ამ ქვე-ბრძანებისთვის
description: "შეცვალე აკრძალული (დაბლოკილი) IP მისამართები"
# მესიჯი, რომელიც იქნება ნაჩვენები, როცა ვინმე ცდის შავი ნუსხის გასუფთავებას თუმცა იგი ცარიელია.
empty: '<prefix>შავი ნუსხა ამჟამად ცარიელია. ასე რომ არცერთი IP მისამართი არ მოშორებულა.'
empty: '<prefix>შავი ნუსხა ამჟამად ცარიელია. ასე რომ, არცერთი IP მისამართი არ მოშორებულა.'
# მესიჯი, რომელიც იქნება ნაჩვენები, როცა ვინმე გაასუფთავებს შავ ნუსხას.
clear: '<prefix>თქვენ წარმატებით გაასუფთავეთ <amount> IP მისამართ(ებ)ი შავი ნუსხიდან.'
# მესიჯი, რომელიც იქნება ნაჩვენები, როცა ვინმე შეამოწმებს შავი ნუსხის ზომას.
@@ -114,9 +114,9 @@ commands:
# თარგმანი '/sonar verified' სთვის
verified:
# აღწერა ამ ქვე-ბრძანებისთვის
description: "Manage verified IP მისამართები"
description: "განაგე შემოწმებული IP მისამართები"
# მესიჯი, რომელიც იქნება ნაჩვენები, როცა ვინმე ცდის გაასუფთავოს ნუსხა შემოწმებული მოთამაშეებისა თუმცა იგი ისედაც ცარიელია.
empty: '<prefix>ნუსხა შემოწმებული მოთამაშეებისა ისედაც ცარიელია. ასე რომ არ მოშორებულა არცერთი IP მისამართი იქიდან.'
empty: '<prefix>ნუსხა შემოწმებული მოთამაშეებისა ისედაც ცარიელია. ასე რომ, არ მოშორებულა არცერთი IP მისამართი იქიდან.'
# მესიჯი, რომელიც იქნება ნაჩვენები, როცა ვინმე გაასუფთავებს ნუსხას შემოწმებული მოთამაშეებისა.
clear: '<prefix>თქვენ წარმატებით გაასუფთავეთ <amount> მოთამაშე შემოწმებულების ნუსხიდან.'
# მესიჯი, რომელიც იქნება ნაჩვენები, როცა ვინმე შეამოწმებს სიდიდეს შემოწმებული მოთამაშეების ნუსხისა.
@@ -124,7 +124,7 @@ commands:
# მესიჯი, რომელიც იქნება ნაჩვენები, როცა ვინმე მოშლის IP მისამართს შემოწმებულების სიიდან.
remove: '<prefix>წარმატებით მოშორდა <ip>.'
# მესიჯი, რომელიც იქნება ნაჩვენები, როცა ვინმე დაამატებს IP მისამართს შემოწმებულების ნუსხაში.
add: '<prefix>Successfully verified <ip>.'
add: '<prefix>წარმატებით შემოწმდა <ip>.'
# მესიჯი, რომელიც იქნება ნაჩვენები, როცა ვინმე ცდის რომ დაამატოს IP/UUID შემოწმებულების ნუსხაში რაც უკვე დამატებულია.
already: '<prefix>IP მისამართი/UUID რაც მოგვაწოდეთ ისედაც დამატებულია.'
# მესიჯი, რომელიც იქნება ნაჩვენები, როცა ვინმე მოშლის IP მისამართს შემოწმებულების ნუსხიდან მაგრამ ის იქ არ არის.
@@ -136,7 +136,7 @@ commands:
# თარგმანი '/sonar statistics' სთვის
statistics:
# აღწერა ამ ქვე-ბრძანებისთვის
description: "აჩვენე სერვერის ამჟამინდელი სტატისტიკები"
description: "აჩვენე სერვერის ამჟამინდელი სტატისტიკა"
# ინფორმაციული მესიჯი რაც არის ნაჩვენები ყველაფრის ზემოთ როცა ნახულობთ სტატისტიკებს.
header: '<prefix>ვაჩვენებთ <statistics-type> სტატისტიკას:'
# მესიჯი, რომელიც იქნება ნაჩვენები, როცა მოთამაშე ცდის იხილოს უცნობი სტატისტიკა.
@@ -174,7 +174,7 @@ commands:
# თარგმანი '/sonar dump' სთვის
dump:
# აღწერა ამ ქვე-ბრძანებისთვის
description: "Print developer information"
description: "აჩვენებს დეველოპერის ინფორმაციას"
# ფორმატი ინფორმაციისთვის რაც კონსოლს ეგზავნება
log: "გენერირდა: <dumped-json-data>"
@@ -194,48 +194,48 @@ verification:
# მესიჯი რომელიც გაეგზავნება მოთამაშეს როცა მათ უნდა დაწერონ CAPTCHA
captcha:
# მესიჯი რომელიც გაეგზავნება მოთამაშეს როცა მათ უნდა მიუთითონ CAPTCHA ს პასუხი
enter: '<prefix><green>გთხოვთ დაწეროთ ჩატში ის კოდი რომელიც არის ნაჩვენები რუკაზე.'
enter: '<prefix><green>გთხოვთ დაწეროთ ჩატში კოდი, რომელიც არის ნაჩვენები რუკაზე.'
# მესიჯი რომელიც გაეგზავნება მოთამაშეს როცა ისინი ჩაწერენ არასწორ პასუხს ჩატში
incorrect: '<prefix><red>თქვენ მიუთითეთ არასწორი კოდი. თქვენ დაგრჩათ <attempts-left> მცდელობა(ები).'
incorrect: '<prefix><red>კოდი არასწორია. დაგრჩათ <attempts-left> მცდელობა(ები).'
# Message shown to the player when they are being verified
# Set this to '' to disable the welcome message entirely
welcome: '<prefix><green>You are being verified. Please do not move; this is an automatic process.'
welcome: '<prefix><green>მოწმდებით. გთხოვთ არ გაინძრეთ; ეს ავტომატური პროცესია.'
# გავარდნის მესიჯი რომელიც არის ნაჩვენები როცა ვინმე შემოვა მაგრამ CAPTCHA არ არის მზად
currently-preparing:
- <header>
- <yellow>ანტიბოტი ჯერ არ მომზადებულა.
- <gray>გთხოვთ დაიცადოთ რამოდენიმე წამი სანამ ხელახლა შემოხვალთ.
- <gray>გთხოვთ დაიცადოთ რამდენიმე წამი სანამ ხელახლა შემოხვალთ.
- <footer>
# Disconnect message that is shown when someone joins with an unsupported Minecraft version
unsupported-version:
- <header>
- <red>This server does not support your version of Minecraft.
- <red>თქვენი Minecraft_ის ვერსია არ არის მხარდაჭერილი.
- <footer>
# გავარდნის მესიჯი რომელიც არის ნაჩვენები როცა ვინმე ხელახლა შემოდის ძალიან სწრაფად შემოწმების დროს.
too-fast-reconnect:
- <header>
- <gold>თქვენ კავშირდებით ხელახლა ძალიან სწრაფად.
- <gray>გთხოვთ დაიცადოთ რამოდენიმე წამი სანამ ხელახლა ცდით შემოსვლას.
- <gray>გთხოვთ დაიცადოთ რამდენიმე წამი სანამ ხელახლა ცდით შემოსვლას.
- <footer>
# გავარდნის მესიჯი რომელიც არის ნაჩვენები როცა ვინმე ცდის შემოსვლას თუმცა იგი უკვე მოწმდება
already-verifying:
- <header>
- <red>თქვენი IP მისამართი ამჟამად უკვე მოწმდება.
- <red>გთხოვთ დაიცადოთ რამოდენიმე წამი სანამ ხელახლა ცდით შემოსვლას.
- <red>გთხოვთ დაიცადოთ რამდენიმე წამი სანამ ხელახლა ცდით შემოსვლას.
- <footer>
# გავარდნის მესიჯი რომელიც არის ნაჩვენები როცა ვინმე შემოვა თუმცა იგი უკვე არის შემოწმების რიგში
already-queued:
- <header>
- <red>თქვენი IP მისამართი უკვე არის რიგში შემოწმებისთვის.
- <red>გთხოვთ დაიცადოთ რამოდენიმე წუთი სანამ ხელახლა ცდით შემოსვლას.
- <red>გთხოვთ დაიცადოთ რამდენიმე წუთი სანამ ხელახლა ცდით შემოსვლას.
- <footer>
# გავარდნის მესიჯი რომელიც არის ნაჩვენები როცა ვინმე შემოვა თუმცა დროებით დაბლოკილია
blacklisted:
- <header>
- <red>თქვენ ამჟამად დაბლოკილი ხართ სერვერიდან.
- <red>გთხოვთ დაიცადოთ რამოდენიმე წუთი რომ ისევ შეგეძლოტ სერვერზე შემოსვლა.
- <red>გთხოვთ დაიცადოთ რამდენიმე წუთი, რომ ისევ შეგეძლოთ სერვერზე შემოსვლა.
- <gold>შეცდომა? <gray><support-url>
- <footer>
# გავარდნის მესიჯი რომელიც არის ნაჩვენები როცა ვინმე შემოვა არასწორი სახელით
@@ -253,12 +253,12 @@ verification:
success:
- <header>
- <green>თქვენ წარმატებით გაიარეთ შემოწმება.
- <white>თქვენ უკვე შეგიძლიათ შეხვიდეთ სერვერზე.
- <white>უკვე შეგიძლიათ შეხვიდეთ სერვერზე.
# გავარდნის მესიჯი რომელიც არის ნაჩვენები როცა ვინმე წარუმატებლად გაივლის შემოწმებას
failed:
- <header>
- <red>თქვენ ვერ გაიარეთ შემოწმება.
- <gray>გთხოვთ დაიცადოთ რამოდენიმე წამი სანამ ხელახლა ცდით შემოსვლას.
- <gray>გთხოვთ დაიცადოთ რამდენიმე წამი სანამ ხელახლა ცდით შემოსვლას.
- <gold>გჭირდებათ დახმარება შესვლაში? <gray><support-url>
- <footer>
@@ -266,9 +266,9 @@ verification:
verbose:
layout:
# ჩვენება Sonar_ის actionbar დეტალური ინფორმაციისთვის
normal: '<prefix><gray>კთწ <white><connections-per-second> <dark_aqua>╺ <gray>შემოსვლა/წ <white><logins-per-second> <dark_aqua>╺ <gray>მოწმდება <white><verifying> <dark_aqua>| <green>⬆ <white><outgoing-traffic>/s <red>⬇ <white><incoming-traffic>/s <green><bold><animation>'
normal: '<prefix><gray>კ/წ <white><connections-per-second> <dark_aqua>╺ <gray>შემოსვლა/წ <white><logins-per-second> <dark_aqua>╺ <gray>მოწმდება <white><verifying> <dark_aqua>| <green>⬆ <white><outgoing-traffic>/s <red>⬇ <white><incoming-traffic>/s <green><bold><animation>'
# Layout for Sonar's actionbar verbose during an attack
attack: '<prefix><gray>კთწ <white><connections-per-second> <dark_aqua>╺ <gray>შემოსვლა/წ <white><logins-per-second> <dark_aqua>╺ <gray>რიგი <white><queued> <dark_aqua>╺ <gray>მოწმდება <white><verifying> <dark_aqua>╺ <gray>ხანგრძლივობა <white><attack-duration> <dark_aqua>| <green>⬆ <white><outgoing-traffic>/s <red>⬇ <white><incoming-traffic>/s <green><bold><animation>'
attack: '<prefix><gray>კ/წ <white><connections-per-second> <dark_aqua>╺ <gray>შემოსვლა/წ <white><logins-per-second> <dark_aqua>╺ <gray>რიგი <white><queued> <dark_aqua>╺ <gray>მოწმდება <white><verifying> <dark_aqua>╺ <gray>ხანგრძლივობა <white><attack-duration> <dark_aqua>| <green>⬆ <white><outgoing-traffic>/s <red>⬇ <white><incoming-traffic>/s <green><bold><animation>'
# Animation for the action bar
# Alternatives:
# - ▙, ▛, ▜, ▟
+1 -1
View File
@@ -1,3 +1,3 @@
group=xyz.jonesdev
version=2.1.37
version=2.1.38
description=A lightweight, effective, and easy-to-use anti-bot plugin for Velocity, BungeeCord, and Bukkit.