Compare commits

..
10 Commits
Author SHA1 Message Date
Jones 39902c2c9b Release 2.1.23 (#442) 2025-01-29 16:24:29 +01:00
Jones 3324ee6238 Link documentation in transfer mode section 2025-01-27 15:57:04 +01:00
dependabot[bot] 732a291417 Bump org.jetbrains:annotations from 26.0.1 to 26.0.2 (#441)
Bumps [org.jetbrains:annotations](https://github.com/JetBrains/java-annotations) from 26.0.1 to 26.0.2.
- [Release notes](https://github.com/JetBrains/java-annotations/releases)
- [Changelog](https://github.com/JetBrains/java-annotations/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JetBrains/java-annotations/compare/26.0.1...26.0.2)

---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-27 02:21:12 +01:00
Jones 778ac20e73 Link documentation in language.properties 2025-01-26 16:12:20 +01:00
Renan GabrielandJones 8cc49884ec Add Brazilian Portuguese (pt-BR) translations (#440)
* Add Brazilian Portuguese (pt-BR) translations

- Created translation files for Brazilian Portuguese:
  - `webhook/pt-BR.yml`
  - `messages/pt-BR.yml`
  - `config/pt-BR.yml`

This contribution adds support for Brazilian Portuguese, enhancing accessibility for Portuguese-speaking users.

* Add extended support for pt-br (ISO)

* Ignore casing in language codes

---------

Co-authored-by: Jones <admin@jonesdev.xyz>
2025-01-26 16:10:24 +01:00
Jones 798ba4bfd1 Fix race condition in VerifiedPlayerController 2025-01-25 17:52:23 +01:00
Jones 5139a63ff7 Bump caffeine from 3.1.8 to 3.2.0 2025-01-20 14:59:36 +01:00
dependabot[bot] 06d81f1ec0 Bump com.github.ben-manes.caffeine:caffeine from 3.1.8 to 3.2.0 (#436)
Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.1.8 to 3.2.0.
- [Release notes](https://github.com/ben-manes/caffeine/releases)
- [Commits](https://github.com/ben-manes/caffeine/compare/v3.1.8...v3.2.0)

---
updated-dependencies:
- dependency-name: com.github.ben-manes.caffeine:caffeine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-20 14:29:08 +01:00
dependabot[bot] d08de99e03 Bump com.diffplug.spotless from 7.0.1 to 7.0.2 (#435)
Bumps com.diffplug.spotless from 7.0.1 to 7.0.2.

---
updated-dependencies:
- dependency-name: com.diffplug.spotless
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-20 14:22:34 +01:00
dependabot[bot] 411cadb5c3 Bump io.netty:netty-all from 4.1.116.Final to 4.1.117.Final (#437)
Bumps [io.netty:netty-all](https://github.com/netty/netty) from 4.1.116.Final to 4.1.117.Final.
- [Commits](https://github.com/netty/netty/compare/netty-4.1.116.Final...netty-4.1.117.Final)

---
updated-dependencies:
- dependency-name: io.netty:netty-all
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-20 14:22:11 +01:00
18 changed files with 600 additions and 20 deletions

No files matched your search

@@ -140,6 +140,7 @@ public enum Language {
FA("Persian"),
PL("Polish"),
PT("Portuguese"),
PT_BR("Brazilian Portuguese", "pt-br"),
PS("Pushto"),
QU("Quechua"),
RM("Raeto-Romance"),
@@ -203,7 +204,18 @@ public enum Language {
this.code = name().toLowerCase();
}
Language(final String name, final String code) {
this.name = name;
this.code = code;
}
public static Language fromCode(final @NotNull String code) {
return Language.valueOf(code.toUpperCase());
for (final Language language : values()) {
if (language.code.equalsIgnoreCase(code)) {
return language;
}
}
// Fallback to English
return EN;
}
}
@@ -133,6 +133,8 @@ public final class VerifiedPlayerController {
public void close() {
// The connection source will always be null if the database type is NONE.
if (connectionSource != null) {
// Shut down the update service before letting it re-use the connection.
updateService.shutdown();
try {
connectionSource.close();
} catch (Exception exception) {
@@ -140,7 +142,6 @@ public final class VerifiedPlayerController {
}
// Make sure not to reuse a closed connection
connectionSource = null;
updateService.shutdown();
}
}
@@ -47,7 +47,7 @@ class LibraryLoader {
Library.builder()
.groupId("com{}github{}ben-manes{}caffeine")
.artifactId("caffeine")
.version("3.1.8")
.version("3.2.0")
.relocate("com{}github{}benmanes{}caffeine", "xyz{}jonesdev{}sonar{}libs{}caffeine")
.build(),
// ORMLite
@@ -139,7 +139,7 @@ verification:
# Je-li povoleno, hráč bude přenesen zpět na původní server
# po úspěšném absolvování ověření bota.
# Tuto funkci představil Mojang ve verzi Minecraft 1.20.5
# Tutoriál: https://youtu.be/aSWrzQVjGnc?t=71
# https://docs.jonesdev.xyz/administration/configuring-sonar/configuring-the-verification/using-1.20.5+-transfers
transfer:
# Měl by Sonar přenést hráče na původní server (místo toho, aby je vyhodil)?
# Aby to fungovalo, musíte tuto funkci povolit v konfiguraci vašeho serveru
@@ -136,7 +136,7 @@ verification:
# Wenn aktiviert, wird der Player zurück zum Ursprungsserver gesendet,
# falls dieser die der Bot-Verifizierung erfolgreich besteht.
# Diese Funktion wurde von Mojang in Minecraft Version 1.20.5 eingeführt
# Anleitung: https://youtu.be/aSWrzQVjGnc?t=71
# https://docs.jonesdev.xyz/administration/configuring-sonar/configuring-the-verification/using-1.20.5+-transfers
transfer:
# Sollte Sonar den Spieler auf den Ursprungsserver senden (anstatt ihn zu kicken)?
# Damit dies funktioniert, müssen Sie die Funktion in der Konfiguration Ihres Servers aktivieren.
@@ -139,7 +139,7 @@ verification:
# If enabled, the player will be transferred back to the origin server
# after successfully passing the bot verification.
# This feature was introduced by Mojang in Minecraft version 1.20.5
# Tutorial: https://youtu.be/aSWrzQVjGnc?t=71
# https://docs.jonesdev.xyz/administration/configuring-sonar/configuring-the-verification/using-1.20.5+-transfers
transfer:
# Should Sonar transfer the player to the origin server (instead of kicking them)?
# For this to work, you must enable the feature in your server's configuration.
@@ -138,7 +138,7 @@ verification:
# S'il est activé, le joueur sera renvoyé au serveur d'origine
# après avoir passé avec succès la vérification du bot.
# Cette fonctionnalité a été introduite par Mojang dans la version Minecraft 1.20.5
# Tutoriel: https://youtu.be/aSWrzQVjGnc?t=71
# https://docs.jonesdev.xyz/administration/configuring-sonar/configuring-the-verification/using-1.20.5+-transfers
transfer:
# Sonar devrait-il transférer le joueur au serveur d'origine (au lieu de l'expulser) ?
# Pour que cela fonctionne, vous devez activer la fonctionnalité dans la configuration de votre serveur
@@ -137,7 +137,7 @@ verification:
# თუ ჩართულია, მოთამაშე გადავა საწყის სერვერში ვერიფიკაციის წარმატებით გავლის შემდეგ
# ეს ფუნქცია დაემატა Mojang-ის მიერ Minecraft-ის 1.20.5 ვერსიაში
# Tutorial: https://youtu.be/aSWrzQVjGnc?t=71
# https://docs.jonesdev.xyz/administration/configuring-sonar/configuring-the-verification/using-1.20.5+-transfers
transfer:
# უნდა გადაიყვანოს თუ არა Sonar-მა მოთამაშე საწყის სერვერზე (მათი გაგდების ნაცვლად)?
# ამისთვის, თქვენ უნდა ჩართოთ ეს ფუნქცია თქვენი სერვერის კონფიგურაციაში
@@ -138,7 +138,7 @@ verification:
# Indien ingeschakeld, wordt de speler teruggestuurd naar de oorspronkelijke server
# nadat u de bot-verificatie met succes heeft doorstaan.
# Deze functie is geïntroduceerd door Mojang in Minecraft versie 1.20.5
# Handleiding: https://youtu.be/aSWrzQVjGnc?t=71
# https://docs.jonesdev.xyz/administration/configuring-sonar/configuring-the-verification/using-1.20.5+-transfers
transfer:
# Moet Sonar de speler overbrengen naar de oorspronkelijke server (in plaats van hem te schoppen)?
# Om dit te laten werken, moet u de functie inschakelen in de configuratie van uw server
@@ -138,7 +138,7 @@ verification:
# Jeśli opcja ta jest włączona, gracz zostanie przeniesiony z powrotem
# na serwer początkowy po pomyślnym przejściu weryfikacji antybotowej.
# Funkcja ta została wprowadzona przez Mojang w wersji 1.20.5
# Tutorial: https://youtu.be/aSWrzQVjGnc?t=71
# https://docs.jonesdev.xyz/administration/configuring-sonar/configuring-the-verification/using-1.20.5+-transfers
transfer:
# Czy Sonar powinien przenieść gracza na serwer początkowy (zamiast go wyrzucać)?
# Aby to zadziałało, musisz włączyć tę funkcję w konfiguracji serwera.
@@ -0,0 +1,209 @@
#
# /$$$$$$
# /$$__ $$
# | $$ \__/ /$$$$$$ /$$$$$$$ /$$$$$$ /$$$$$$
# | $$$$$$ /$$__ $$| $$__ $$ |____ $$ /$$__ $$
# \____ $$| $$ \ $$| $$ \ $$ /$$$$$$$| $$ \__/
# /$$ \ $$| $$ | $$| $$ | $$ /$$__ $$| $$
# | $$$$$$/| $$$$$$/| $$ | $$| $$$$$$$| $$
# \______/ \______/ |__/ |__/ \_______/|__/
#
# Precisa de ajuda ou tem dúvidas? https://jonesdev.xyz/discord
# Código-fonte: https://github.com/jonesdevelopment/sonar
# Copyright Jones Development e Sonar Contributors, licenciado sob GPL-3.0
#
# Configurações gerais para o Sonar
general:
# O Sonar deve verificar automaticamente se há novas atualizações?
# O Sonar usa a API do GitHub para verificar se a versão atual está desatualizada
check-for-updates: true
# O Sonar deve registrar os endereços IP dos jogadores no console?
log-player-addresses: true
# Número máximo de jogadores online com o mesmo endereço IP
max-online-per-ip: 3
# Configurações de sensibilidade para o rastreador de ataques
# Edite isso apenas se você souber o que está fazendo
attack-tracker:
# Número mínimo de novos jogadores para que um ataque seja detectado
min-players-for-attack: 8
# Tempo que deve passar para que um ataque seja considerado encerrado
# (Este valor representa o tempo em milissegundos: 1 segundo = 1000 milissegundos)
min-attack-duration: 30000
# Número de vezes que um incidente deve ser relatado para ser reconhecido como um ataque
# Este número atua como um buffer para filtrar notificações de ataque falsas
min-attack-threshold: 2
# Tempo que deve passar para que um novo ataque seja detectado
# (Este valor representa o tempo em milissegundos: 1 segundo = 1000 milissegundos)
attack-cooldown-delay: 3000
# Você pode conectar o Sonar a um banco de dados para manter jogadores verificados mesmo após reiniciar seu servidor
# Nota: Endereços IP são salvos em texto simples. Você é responsável por manter seu banco de dados seguro!
database:
# Tipo de banco de dados que o Sonar usa para armazenar jogadores verificados
# Tipos possíveis: NONE, MYSQL, MARIADB, H2
type: NONE
# Arquivo no diretório de plugins do Sonar usado para o banco de dados H2
filename: verified_players
# Endereço do host para autenticação com o banco de dados SQL
host: localhost
# Porta para autenticação com o banco de dados SQL
port: 3306
# Nome do banco de dados SQL
name: sonar
# Nome de usuário para autenticação com o banco de dados SQL
username: ''
# Senha para autenticação com o banco de dados SQL
password: ''
# Quantos dias o Sonar deve manter jogadores verificados no banco de dados?
maximum-age: 5
# Cada nova solicitação de login será enfileirada para evitar ataques de spam
# A fila é atualizada a cada 1 segundo (20 ticks)
queue:
# Número de polls de fila concorrentes por 1 segundo
max-polls: 30
# Cada novo jogador que se junta pela primeira vez será enviado para
# um servidor limbo leve onde verificações avançadas de bot são realizadas
verification:
# Quando o Sonar deve verificar novos jogadores?
# Tipos possíveis: ALWAYS, DURING_ATTACK
# - ALWAYS: Novos jogadores sempre serão verificados (Recomendado)
# - DURING_ATTACK: Novos jogadores serão verificados apenas durante um ataque
timing: ALWAYS
checks:
# Verifica se o movimento de queda dos jogadores segue a fórmula de gravidade do Minecraft
# Todos os movimentos previstos são pré-calculados para economizar desempenho
gravity:
# O Sonar deve verificar a gravidade do cliente? (Recomendado)
enabled: true
# O Sonar deve fazer o jogador resolver um CAPTCHA se falhar na verificação de gravidade?
captcha-on-fail: false
# O número de ticks que o jogador deve cair para ser permitido atingir a plataforma
max-movement-ticks: 8
# Verifica se o jogador está colidindo com blocos gerados abaixo dele
collision:
# O Sonar deve verificar se o jogador colide com blocos? (Recomendado)
enabled: true
# Verifica se o cliente envia pacotes adequados ao entrar em um barco
vehicle:
# O Sonar deve verificar se o jogador entra corretamente em um barco?
enabled: true
# Número mínimo de pacotes enviados pelo cliente
minimum-packets: 2
# Faz o jogador digitar um código de um mapa virtual no chat
map-captcha:
# Quando o Sonar deve fazer o jogador resolver um CAPTCHA?
# Tipos possíveis: ALWAYS, DURING_ATTACK, NEVER
# - ALWAYS: Novos jogadores sempre receberão um CAPTCHA
# - DURING_ATTACK: Novos jogadores receberão um CAPTCHA apenas durante um ataque
# - NEVER: Novos jogadores nunca receberão um CAPTCHA (Recomendado)
timing: NEVER
# Caminho para a imagem de fundo que o Sonar usa para o CAPTCHA
# Se a imagem não for encontrada, um ruído será usado como fundo padrão.
# Você pode colocar o nome do arquivo aqui se o arquivo estiver no diretório de plugins do Sonar
background: ''
# Quantas respostas de CAPTCHA o Sonar deve preparar?
# Esta tarefa acontece de forma assíncrona em segundo plano
precompute: 500
# Quanto tempo o Sonar deve esperar até que o jogador falhe no CAPTCHA?
# (Este valor representa o tempo em milissegundos: 1 segundo = 1000 milissegundos)
max-duration: 30000
# Quantas vezes um jogador deve falhar no CAPTCHA antes de falhar na verificação?
max-tries: 3
# Caracteres (letras/números) que são permitidos na resposta ao CAPTCHA
# Não é recomendável adicionar números ou letras que possam parecer semelhantes.
# Você deve editar isso apenas se souber o que está fazendo
alphabet: 'abcdefhjkmnoprstuxyz'
# Verifica se os jogadores estão enviando uma marca de cliente válida para o servidor
client-brand:
# O Sonar deve verificar marcas de cliente válidas? (Recomendado)
enabled: true
# Regex para validar marcas de cliente durante a verificação
valid-regex: ^[!-~ ]+$
# Comprimento máximo da marca de cliente durante a verificação
max-length: 64
# Regex para validar nomes de usuário durante a verificação
valid-name-regex: ^[a-zA-Z0-9_]+$
# Regex para validar o local do cliente durante a verificação
valid-locale-regex: ^[a-zA-Z_]+$
# Se habilitado, o jogador será transferido de volta para o servidor de origem
# após passar com sucesso pela verificação do bot.
# Este recurso foi introduzido pela Mojang na versão 1.20.5 do Minecraft
# https://docs.jonesdev.xyz/administration/configuring-sonar/configuring-the-verification/using-1.20.5+-transfers
transfer:
# O Sonar deve transferir o jogador para o servidor de origem (em vez de expulsá-lo)?
# Para que isso funcione, você deve habilitar o recurso na configuração do seu servidor.
# Além disso, você pode querer reduzir a quantidade de limitação de taxa de login
# realizada pelo Velocity ou outros proxies/plugins, pois isso pode impedir que o
# jogador seja transferido corretamente.
# Se seu servidor permitir que jogadores Bedrock se juntem via Geyser, certifique-se de configurar
# o TransferTool para Geyser, para que jogadores Bedrock sejam redirecionados para o servidor correto.
# https://github.com/onebeastchris/TransferTool
enabled: false
# Para qual servidor o Sonar deve transferir o jogador quando a verificação for passada?
# Por favor, insira o IP do servidor usado pelos jogadores para se conectar normalmente ao seu servidor.
# Por exemplo, você pode colocar "mc.hypixel.net" ou um IP direto como "1.1.1.1"
destination-host: "play.my-server.com"
# Qual porta o Sonar deve usar ao transferir o jogador para o servidor de origem?
# Se seu servidor não precisar de uma porta para se conectar, você pode deixar isso como 25565.
destination-port: 25565
# O modo de jogo do jogador durante a verificação
# Tipos possíveis: SURVIVAL, CREATIVE, ADVENTURE
# - SURVIVAL: todos os componentes da UI são visíveis
# - CREATIVE: saúde e fome estão ocultas
# - ADVENTURE: todos os componentes da UI são visíveis
gamemode: ADVENTURE
# Tempo de luz do dia no mundo de verificação
# Você pode encontrar todos os tempos de luz do dia aqui:
# https://minecraft.wiki/w/Daylight_cycle
# Esta é apenas uma configuração visual e não altera o processo de verificação!
# Se este valor for definido como 1000, o pacote não será enviado.
time-of-day: 1000
# O Sonar armazena em cache a maioria dos pacotes que envia ao cliente, incluindo o pacote LoginSuccess.
# Qual nome de usuário o Sonar deve usar para o pacote LoginSuccess?
# O nome de usuário não será visível para o jogador sem modificações no cliente
cached-username: "Sonar"
# O Sonar deve registrar novas tentativas de verificação?
log-connections: true
# O Sonar deve registrar novas tentativas de verificação durante ataques?
log-during-attack: false
# O Sonar deve registrar cada movimento/mudança de posição durante a verificação?
# Isso não é recomendado para servidores de produção, mas pode ser útil para detectar erros.
debug-xyz-positions: false
# O Sonar também deve verificar jogadores Geyser (Bedrock)?
# Este recurso é experimental e pode causar problemas
# Se isso estiver desativado, jogadores Bedrock serão ignorados
check-geyser-players: true
# O tempo desde que o jogador parou de enviar pacotes antes de desconectar
# (Este valor representa o tempo em milissegundos: 1 segundo = 1000 milissegundos)
read-timeout: 8000
# 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
# 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
# Quanto tempo o Sonar deve lembrar o número de falhas de verificação para um jogador?
# (Este valor representa o tempo em milissegundos: 1 segundo = 1000 milissegundos)
remember-time: 120000
# Quanto tempo um endereço IP deve ser negado de fazer login ao falhar na verificação muitas vezes?
# (Este valor representa o tempo em milissegundos: 1 segundo = 1000 milissegundos)
blacklist-time: 600000
# Com que frequência um jogador deve falhar na verificação para ser colocado na lista negra?
# (Defina este valor como 0 para desativar completamente a lista negra)
blacklist-threshold: 2
# Lista de IDs de protocolo que não podem se juntar ao servidor
# Você pode encontrar a lista completa de todos os IDs de protocolo aqui:
# https://wiki.vg/Protocol_version_numbers
# Por exemplo, Minecraft 1.20 tem o ID 763.
blacklisted-protocols: []
@@ -137,7 +137,7 @@ verification:
# Если включено, игрок будет возвращен на исходный сервер
# после успешного прохождения проверки на бота.
# Эта функция была введена Mojang в версии Minecraft 1.20.5
# Учебник: https://youtu.be/aSWrzQVjGnc?t=71
# https://docs.jonesdev.xyz/administration/configuring-sonar/configuring-the-verification/using-1.20.5+-transfers
transfer:
# Должен ли Sonar переместить игрока на исходный сервер (вместо выкидывания его)?
# Для этого необходимо включить функцию в конфигурации вашего сервера
@@ -135,7 +135,7 @@ verification:
# 开启后 玩家将在验证成功后被重定向到指定的服务器
# 该功能由 Mojang 在 Minecraft 1.20.5 版本中引入
# 教程: https://youtu.be/aSWrzQVjGnc?t=71
# https://docs.jonesdev.xyz/administration/configuring-sonar/configuring-the-verification/using-1.20.5+-transfers
transfer:
# Sonar 是否应该将玩家重定向到指定的服务器而不是踢出玩家?
# 为此您必须在服务器软件的配置文件中允许接受来自transfer的连接.
@@ -21,10 +21,9 @@
# If you still want all configuration files to be translated,
# you have to reset the configuration, messages, and webhook settings.
#
# You can view a full list of valid language codes here:
# https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes
# You can view a full list of existing translations here:
# https://docs.jonesdev.xyz/sonar/translations
# If a translation does not exist yet, Sonar will use English (en)
#
# If you set this option to "system", Sonar will use the system language.
# Please keep this file unchanged if you don't know what you're doing.
language=system
@@ -0,0 +1,299 @@
#
# /$$$$$$
# /$$__ $$
# | $$ \__/ /$$$$$$ /$$$$$$$ /$$$$$$ /$$$$$$
# | $$$$$$ /$$__ $$| $$__ $$ |____ $$ /$$__ $$
# \____ $$| $$ \ $$| $$ \ $$ /$$$$$$$| $$ \__/
# /$$ \ $$| $$ | $$| $$ | $$ /$$__ $$| $$
# | $$$$$$/| $$$$$$/| $$ | $$| $$$$$$$| $$
# \______/ \______/ |__/ |__/ \_______/|__/
#
# Precisa de ajuda ou tem dúvidas? https://jonesdev.xyz/discord
# Código-fonte: https://github.com/jonesdevelopment/sonar
# Copyright Jones Development e Sonar Contributors, licenciado sob GPL-3.0
#
# Placeholder para cada '<prefix>' neste arquivo de configuração
prefix: <b><yellow>Sonar</b> <gray>» <white>
# Placeholder para cada '<support-url>' neste arquivo de configuração
support-url: https://jonesdev.xyz/discord/
# Placeholder para cada '<header>' neste arquivo de configuração
header:
- <b><yellow>Sonar</b><reset>
- ''
# Placeholder para cada '<footer>' neste arquivo de configuração
footer:
- <gray>Se você acredita que isso é um erro, entre em contato com um administrador.
# Mensagem de desconexão que é mostrada quando alguém se junta, mas há muitos jogadores online com seu endereço IP
too-many-online-per-ip:
- '<header>'
- <red>Há muitos jogadores online com seu endereço IP.
- '<footer>'
# Traduções para comandos
commands:
# Mensagem mostrada quando um jogador tenta executar /sonar sem permissão
no-permission: '<prefix><red>Você não tem permissão para executar este comando.'
# Mensagem mostrada quando alguém usa um comando incorretamente
incorrect-usage: '<prefix><red>Uso: /sonar <subcommand-usage>'
# Mensagem mostrada quando alguém fornece um endereço IP inválido (Formato inválido)
invalid-ip-address: '<prefix>O endereço IP que você forneceu parece ser inválido.'
# Mensagem mostrada quando o console executa um comando que é apenas para jogadores
player-only: '<prefix><red>Você só pode executar este comando como um jogador.'
# Mensagem mostrada quando um jogador executa um comando que é apenas para console
console-only: '<prefix><red>Por razões de segurança, você só pode executar este comando através do console.'
# Mensagem mostrada quando um jogador não tem permissão para executar um determinado subcomando
subcommand-no-permission: '<prefix><red>Você não tem permissão para executar este subcomando. <gray>(<permission>)'
# Traduções para '/sonar'
main:
# Mensagem informativa que é mostrada acima de tudo ao executar o comando principal
header:
- <yellow>Executando <b>Sonar</b> <version> em <platform>.
- <gray><click:open_url:'https://github.com/jonesdevelopment/sonar'>(C) <copyright-year> Jones Development e Contribuidores do Sonar</click>
- ''
- <gray>Precisa de ajuda ou tem alguma dúvida?
- <white><click:open_url:'https://jonesdev.xyz/discord/'><hover:show_text:'(Clique para abrir o Discord)'>Abra um ticket no Discord </hover></click><click:open_url:'https://github.com/jonesdevelopment/sonar/issues'><hover:show_text:'(Clique para abrir o GitHub)'>ou abra um novo problema no GitHub.
- ''
# Formatação da lista de subcomandos mostrada ao executar o comando principal
subcommands: '<suggest-subcommand><hover:show_text:''<gray>Somente jogadores: </gray><only-players><br><gray>Requer console: </gray><only-console><br><gray>Permissão: </gray><white><permission><br><gray>Aliases: </gray><aliases>''><dark_aqua> ▪ <gray>/sonar <subcommand> <white><description></hover></suggest-subcommand>'
# Formatação para valores de sim (marca de seleção) e não (cruz) no texto de hover dos subcomandos
tick: '<green>✔</green>'
cross: '<red>✗</red>'
# Formatação para as informações da versão
outdated-version: ' <red><click:open_url:''https://github.com/jonesdevelopment/sonar/releases/latest''><hover:show_text:''(Clique para baixar a versão mais recente do Sonar)''>(Desatualizado)</hover></click></red>'
unstable-version: ' <gold>(Instável)</gold>'
api-error: ' <dark_red><hover:show_text:''Verifique os logs do servidor para mais informações''>(Erro de API)</hover></dark_red>'
# Traduções para '/sonar reload'
reload:
# Descrição para este subcomando
description: "Recarregar todas as configurações"
# Mensagem mostrada quando alguém começa a recarregar o Sonar
start: '<prefix>Recarregando o Sonar...'
# Mensagem mostrada quando o Sonar termina de recarregar
finish: '<prefix><green>Recarregado com sucesso <gray>(<time-taken>ms)'
# Traduções para '/sonar verbose'
verbose:
# Descrição para este subcomando
description: "Ativar ou desativar o verbose do Sonar"
# Mensagem mostrada quando um jogador se inscreve no verbose do Sonar
subscribe: '<prefix>Você agora está visualizando o verbose do Sonar.'
# Mensagem mostrada quando um jogador se desinscreve do verbose do Sonar
unsubscribe: '<prefix>Você não está mais visualizando o verbose do Sonar.'
# Traduções para '/sonar notify'
notify:
# Descrição para este subcomando
description: "Ativar ou desativar notificações de ataque"
# Mensagem mostrada quando um jogador se inscreve nas notificações de ataque do Sonar
subscribe: '<prefix>Você agora está visualizando as notificações de ataque do Sonar.'
# Mensagem mostrada quando um jogador se desinscreve das notificações de ataque do Sonar
unsubscribe: '<prefix>Você não está mais visualizando as notificações de ataque do Sonar.'
# Traduções para '/sonar blacklist'
blacklist:
# Descrição para este subcomando
description: "Gerenciar endereços IP na lista negra"
# Mensagem mostrada quando alguém tenta limpar a lista negra, mas está vazia
empty: '<prefix>A lista negra está atualmente vazia. Portanto, nenhum endereço IP foi removido da lista negra.'
# Mensagem mostrada quando alguém limpa a lista negra
clear: '<prefix>Você removeu com sucesso um total de <amount> endereço(s) IP da lista negra.'
# Mensagem mostrada quando alguém verifica o tamanho da lista negra
size: '<prefix>A lista negra atualmente contém <amount> endereço(s) IP.'
# Mensagem mostrada quando alguém remove um endereço IP da lista negra
remove: '<prefix>Removido com sucesso <ip> da lista negra.'
# Mensagem mostrada quando alguém adiciona um endereço IP à lista negra
add: '<prefix>Adicionado com sucesso <ip> à lista negra.'
# Mensagem mostrada quando alguém tenta adicionar um endereço IP à lista negra, mas já está na lista
ip-duplicate: '<prefix>O endereço IP que você forneceu já está na lista negra.'
# Mensagem mostrada quando alguém remove um endereço IP da lista negra, mas não está na lista
ip-not-found: '<prefix>O endereço IP que você forneceu não está na lista negra.'
# Traduções para '/sonar verified'
verified:
# Descrição para este subcomando
description: "Gerenciar endereços IP verificados"
# Mensagem mostrada quando alguém tenta limpar a lista de jogadores verificados, mas está vazia
empty: '<prefix>A lista de jogadores verificados está atualmente vazia. Portanto, nenhum jogador foi desverificado.'
# Mensagem mostrada quando alguém limpa a lista de jogadores verificados
clear: '<prefix>Você desverificou com sucesso um total de <amount> jogador(es) únicos.'
# Mensagem mostrada quando alguém verifica o tamanho da lista de jogadores verificados
size: '<prefix>Atualmente há <amount> jogador(es) únicos verificados.'
# Mensagem mostrada quando alguém desverifica um endereço IP
remove: '<prefix>Desverificado com sucesso <ip>.'
# Mensagem mostrada quando alguém verifica um endereço IP
add: '<prefix>Verificado com sucesso <ip>.'
# Mensagem mostrada quando alguém tenta verificar um endereço IP/UUID que já está verificado
already: '<prefix>O endereço IP e UUID que você forneceu já estão verificados.'
# Mensagem mostrada quando alguém desverifica um endereço IP, mas não está verificado
ip-not-found: '<prefix>O endereço IP que você forneceu não está verificado.'
# Mensagem mostrada quando alguém consulta o histórico de verificação de um endereço IP
history: '<prefix><yellow>UUIDs anteriores para <ip>:'
history-entry: ' <gray>▪ <white><uuid>'
# Traduções para '/sonar statistics'
statistics:
# Descrição para este subcomando
description: "Mostrar estatísticas da sessão deste servidor"
# Mensagem informativa que é mostrada acima de tudo ao visualizar as estatísticas
header: '<prefix>Mostrando estatísticas de <statistics-type> para esta sessão:'
# Mensagem mostrada quando um jogador tenta visualizar um tipo de estatística desconhecido
unknown-type: '<prefix><red>Tipo de estatística desconhecido! Estatísticas disponíveis: <gray><statistics>'
# Formato da mensagem de estatísticas gerais
general:
- ' <dark_aqua>▪ <gray>Endereços IP verificados: <white><verified>'
- ' <dark_aqua>▪ <gray>Endereços IP em verificação: <white><verifying>'
- ' <dark_aqua>▪ <gray>Endereços IP na lista negra: <white><blacklisted>'
- ' <dark_aqua>▪ <gray>Logins atualmente na fila: <white><queued>'
- ' <dark_aqua>▪ <gray>Total de entradas não únicas: <white><total-joins>'
- ' <dark_aqua>▪ <gray>Total de tentativas de verificação: <white><total-attempts>'
- ' <dark_aqua>▪ <gray>Total de falhas de verificação: <white><total-failed>'
- ' <dark_aqua>▪ <gray>Tempo de atividade do servidor: <white><server-uptime>'
# Formato da mensagem de estatísticas de CPU
cpu:
- ' <dark_aqua>▪ <gray>Uso de CPU do processo agora: <white><process-cpu>%'
- ' <dark_aqua>▪ <gray>Uso de CPU do sistema agora: <white><system-cpu>%'
- ' <dark_aqua>▪ <gray>Uso de CPU do processo por núcleo: <white><average-process-cpu>%'
- ' <dark_aqua>▪ <gray>Uso de CPU do sistema por núcleo: <white><average-system-cpu>%'
- ' <dark_aqua>▪ <gray>Total de CPUs virtuais: <white><virtual-core-count>'
# Formato da mensagem de estatísticas de memória
memory:
- ' <dark_aqua>▪ <gray>Total de memória livre: <white><free-memory>'
- ' <dark_aqua>▪ <gray>Total de memória usada: <white><used-memory>'
- ' <dark_aqua>▪ <gray>Total de memória máxima: <white><max-memory>'
- ' <dark_aqua>▪ <gray>Total de memória alocada: <white><total-memory>'
# Formato da mensagem de estatísticas de rede
network:
- ' <dark_aqua>▪ <gray>Largura de banda usada atualmente (entrada): <white><incoming-traffic>'
- ' <dark_aqua>▪ <gray>Largura de banda usada atualmente (saída): <white><outgoing-traffic>'
- ' <dark_aqua>▪ <gray>Largura de banda total usada (entrada): <white><incoming-traffic-ttl>'
- ' <dark_aqua>▪ <gray>Largura de banda total usada (saída): <white><incoming-traffic-ttl>'
# Traduções para '/sonar dump'
dump:
# Descrição para este subcomando
description: "Imprimir informações do desenvolvedor"
# Formato das informações enviadas ao console
log: "Dump gerado: <dumped-json-data>"
# Traduções para todas as mensagens durante o processo de verificação
verification:
# Traduções para todas as mensagens de depuração durante a verificação
logs:
# Mensagem registrada no console sempre que um novo jogador se junta ao servidor
connection: '<username>/<ip> (<protocol>) se conectou.'
# Mensagem registrada no console sempre que um jogador falha na verificação
failed: '<username>/<ip> (<protocol>) falhou no teste do bot por: <reason>'
# Mensagem registrada no console sempre que um jogador é colocado na lista negra
blacklisted: '<username>/<ip> (<protocol>) foi colocado na lista negra por muitas tentativas falhadas'
# Mensagem registrada no console sempre que um jogador é verificado
successful: '<username> foi verificado com sucesso (<time-taken>s!).'
# Mensagens que são mostradas ao jogador quando ele deve inserir o CAPTCHA
captcha:
# Mensagem mostrada ao jogador quando ele deve inserir a resposta ao CAPTCHA
enter: '<prefix><green>Por favor, insira o texto no chat que é exibido no mapa.'
# Mensagem mostrada ao jogador quando ele insere a resposta errada no chat
incorrect: '<prefix><red>Você inseriu uma resposta errada! Por favor, tente novamente.'
# Mensagem mostrada ao jogador quando ele está sendo verificado
# Defina isso como '' para desativar a mensagem de boas-vindas completamente
welcome: '<prefix><green>Você está sendo verificado. Por favor, não se mova; este é um processo automático.'
# Mensagem de desconexão que é mostrada quando alguém se junta enquanto o captcha não foi preparado ainda
currently-preparing:
- <header>
- <yellow>Seus dados anti-bot ainda não foram preparados.
- <gray>Por favor, aguarde alguns segundos antes de tentar verificar novamente.
- <footer>
# Mensagem de desconexão que é mostrada quando alguém se junta com uma versão do Minecraft não suportada
unsupported-version:
- <header>
- <red>Este servidor não suporta sua versão do Minecraft.
- <footer>
# Mensagem de desconexão que é mostrada quando alguém se reconecta muito rápido durante a verificação
too-fast-reconnect:
- <header>
- <gold>Você se reconectou muito rápido, tente novamente mais tarde.
- <gray>Por favor, aguarde alguns segundos antes de tentar verificar novamente.
- <footer>
# Mensagem de desconexão que é mostrada quando alguém se junta, mas já está verificando
already-verifying:
- <header>
- <red>Seu endereço IP está atualmente sendo verificado.
- <red>Por favor, aguarde alguns segundos antes de tentar verificar novamente.
- <footer>
# Mensagem de desconexão que é mostrada quando alguém se junta, mas já está na fila para verificação
already-queued:
- <header>
- <red>Seu endereço IP está atualmente na fila para verificação.
- <red>Por favor, aguarde alguns minutos antes de tentar verificar novamente.
- <footer>
# Mensagem de desconexão que é mostrada quando alguém se junta, mas está temporariamente na lista negra
blacklisted:
- <header>
- <red>Você está atualmente negado de entrar no servidor.
- <red>Por favor, aguarde alguns minutos para poder entrar no servidor novamente.
- <gold>Falso positivo? <gray><support-url>
- <footer>
# Mensagem de desconexão que é mostrada quando alguém se junta com um nome de usuário inválido
invalid-username:
- <header>
- <red>Seu nome de usuário contém caracteres inválidos.
- <footer>
# Mensagem de desconexão que é mostrada quando alguém se junta com uma versão na lista negra
blacklisted-protocol:
- <header>
- <red>Você está usando uma versão que não é permitida em nosso servidor.
- <gold>Precisa de ajuda para fazer login? <gray><support-url>
- <footer>
# Mensagem de desconexão que é mostrada quando alguém verifica com sucesso
success:
- <header>
- <green>Você passou na verificação com sucesso.
- <white>Você agora pode jogar no servidor quando se reconectar.
# Mensagem de desconexão que é mostrada quando alguém falha na verificação
failed:
- <header>
- <red>Você falhou na verificação do bot.
- <gray>Por favor, aguarde alguns segundos antes de tentar verificar novamente.
- <gold>Precisa de ajuda para fazer login? <gray><support-url>
- <footer>
# Traduções para mensagens de verbose da actionbar do Sonar
verbose:
layout:
# Layout para o verbose da actionbar do Sonar
normal: '<prefix><gray>CPS <white><connections-per-second> <dark_aqua>╺ <gray>Logins/s <white><logins-per-second> <dark_aqua>╺ <gray>Verificando <white><verifying> <dark_aqua>| <green>⬆ <white><outgoing-traffic>/s <red>⬇ <white><incoming-traffic>/s <green><bold><animation>'
# Layout para o verbose da actionbar do Sonar durante um ataque
attack: '<prefix><gray>CPS <white><connections-per-second> <dark_aqua>╺ <gray>Logins/s <white><logins-per-second> <dark_aqua>╺ <gray>Fila <white><queued> <dark_aqua>╺ <gray>Verificando <white><verifying> <dark_aqua>╺ <gray>Duração <white><attack-duration> <dark_aqua>| <green>⬆ <white><outgoing-traffic>/s <red>⬇ <white><incoming-traffic>/s <green><bold><animation>'
# Animação para a action bar
# Alternativas:
# - ▙, ▛, ▜, ▟
# - ⬈, ⬊, ⬋, ⬉
animation:
- ◜
- ◝
- ◞
- ◟
# Traduções para mensagens de notificação de ataque do Sonar
notifications:
# Layout para o título da notificação de ataque do Sonar
title: <yellow><b>Sonar<reset>
# Layout para o subtítulo da notificação de ataque do Sonar
subtitle: <gray>Um ataque de bot foi detectado
# Layout para a notificação de ataque do Sonar no chat
chat:
- ''
- <yellow><b>Sonar<reset>
- ''
- <gray>Um ataque de bot foi detectado.
- ' <dark_aqua>▪ <gray>Logins por segundo: <white><logins-per-second>'
- ' <dark_aqua>▪ <gray>Jogadores verificando: <white><verifying>'
- ' <dark_aqua>▪ <gray>Jogadores na fila: <white><queued>'
- ''
- <gray>Veja mais informações usando <white><click:run_command:'/sonar verbose'><hover:show_text:'(Clique para executar)'>/sonar verbose</hover></click><gray> ou <white><click:run_command:'/sonar stats'><hover:show_text:'(Clique para executar)'>/sonar stats</hover></click><gray>.
- ''
@@ -0,0 +1,60 @@
#
# /$$$$$$
# /$$__ $$
# | $$ \__/ /$$$$$$ /$$$$$$$ /$$$$$$ /$$$$$$
# | $$$$$$ /$$__ $$| $$__ $$ |____ $$ /$$__ $$
# \____ $$| $$ \ $$| $$ \ $$ /$$$$$$$| $$ \__/
# /$$ \ $$| $$ | $$| $$ | $$ /$$__ $$| $$
# | $$$$$$/| $$$$$$/| $$ | $$| $$$$$$$| $$
# \______/ \______/ |__/ |__/ \_______/|__/
#
# Precisa de ajuda ou tem dúvidas? https://jonesdev.xyz/discord
# Código-fonte: https://github.com/jonesdevelopment/sonar
# Copyright Jones Development e Sonar Contributors, licenciado sob GPL-3.0
#
# Notificações de ataque de bot também podem ser enviadas para o seu servidor Discord usando webhooks
webhook:
# URL do webhook do Discord (Defina como '' para desativar webhooks)
url: ''
# Nome de usuário do remetente do webhook do Discord
username: Sonar
# URL para o avatar do remetente do webhook do Discord (Defina como '' para desativar)
avatar-url: ''
# Conteúdo da mensagem do webhook do Discord (Defina como '' para desativar)
# Você pode usar isso para, por exemplo, pingar membros da equipe usando <@userId>
# Se você quiser pingar funções, precisará usar <@&roleId>
content: ''
# Integrar mensagem do webhook do Discord que é enviada quando um ataque é interrompido
embed:
# Mensagem de rodapé pequena do embed do webhook do Discord
footer:
# Conteúdo da mensagem de rodapé do embed do webhook do Discord
text: © Jones Development e Contribuidores do Sonar
# URL do ícone da mensagem de rodapé do embed do webhook do Discord
icon-url: ''
# Título do embed do webhook do Discord
title: ':white_check_mark: Ataque mitigado'
# URL clicável do título do embed do Discord
title-url: ''
# Descrição (conteúdo) do embed do webhook do Discord
description:
- O ataque ao seu servidor foi mitigado.
- ''
- 'Início do ataque: <t:<start-timestamp>:T>'
- 'Fim do ataque: <t:<end-timestamp>:T>'
- 'Duração do ataque: <attack-duration>'
- ''
- 'Pico de uso de CPU do processo durante o ataque: <peak-cpu>%'
- 'Pico de uso de memória do processo durante o ataque: <peak-memory>'
- 'Pico de bots por segundo durante o ataque: <peak-bps>'
- ''
- 'Endereços IP na lista negra durante o ataque: <total-blacklisted>'
- 'Verificações falhadas durante o ataque: <total-failed>'
- 'Verificações bem-sucedidas durante o ataque: <total-success>'
# Cores RGB do embed do webhook do Discord
# Seletor de cores: https://www.rapidtables.com/web/color/RGB_Color.html
color:
red: 0
green: 255
blue: 0
+1 -1
View File
@@ -1,3 +1,3 @@
group=xyz.jonesdev
version=2.1.22
version=2.1.23
description=A lightweight, effective, and easy-to-use anti-bot plugin for Velocity, BungeeCord, and Bukkit.
+4 -4
View File
@@ -1,5 +1,5 @@
[versions]
netty = "4.1.116.Final"
netty = "4.1.117.Final"
adventure = "4.18.0"
adventure-platform = "4.3.4"
bstats = "3.1.0"
@@ -9,7 +9,7 @@ pluginyml = "0.6.0"
[plugins]
indra-git = "net.kyori.indra.git:3.1.3"
shadow = "com.gradleup.shadow:8.3.5"
spotless = "com.diffplug.spotless:7.0.1"
spotless = "com.diffplug.spotless:7.0.2"
pluginyml-bungee = { id = "net.minecrell.plugin-yml.bungee", version.ref = "pluginyml" }
pluginyml-bukkit = { id = "net.minecrell.plugin-yml.bukkit", version.ref = "pluginyml" }
@@ -28,8 +28,8 @@ bstats-bungee = { module = "org.bstats:bstats-bungeecord", version.ref = "bstats
bstats-bukkit = { module = "org.bstats:bstats-bukkit", version.ref = "bstats" }
bstats-velocity = { module = "org.bstats:bstats-velocity", version.ref = "bstats" }
imagefilters = "com.jhlabs:filters:2.0.235-1"
caffeine = "com.github.ben-manes.caffeine:caffeine:3.1.8"
annotations = "org.jetbrains:annotations:26.0.1"
caffeine = "com.github.ben-manes.caffeine:caffeine:3.2.0"
annotations = "org.jetbrains:annotations:26.0.2"
simpleyaml = "com.github.Carleslc.Simple-YAML:Simple-Yaml:1.8.4"
ormlite = "com.j256.ormlite:ormlite-jdbc:6.1"
lombok = "org.projectlombok:lombok:1.18.36"