Exploits
Máquinas de lag com Armor Stands
Armor stands podem ser usados para criar máquinas de lag. Isso é feito colocando grandes quantidades de armor stands e forçando-os a se mover via água, pistões ou outros meios. Isso pode ser corrigido desabilitando o tick de armor stands e a verificação de colisões. Isso fará com que armor stands não possam ser empurrados ou puxados (nem mesmo pela gravidade).
paper-world-defaults.yml
entities:
armor-stands:
do-collision-entity-lookups: false
tick: falseExploits com livros
Livros são um alvo comum para técnicas de exploração e foram usados para todo tipo de coisa ruim no passado, incluindo exploits de duplicação, exploits de crash e forçar servidores a ficarem sem memória enquanto produzem quantidades massivas de dados de chunk.
Opção 1
Reduzir moderadamente o page-max pode mitigar a maioria dos exploits com livros sem afetar clientes vanilla.
paper-global.yml
item-validation:
book-size:
page-max: 1024Opção 2
Desabilitar livros completamente previne a maioria dos exploits com livros (desde que plugins não criem livros fora do padrão). A opção de configuração do Pufferfish impede que jogadores escrevam no livro, eliminando assim qualquer coisa que exija entrada do jogador para funcionar. Alternativamente, você pode usar plugins ou datapacks para desabilitar formas de obter o item livro e pena.
pufferfish.yml
Máquinas de lag com colisão
Este exploit é semelhante ao de armor stands, mas em vez de armor stands, usa entidades que podem ser empurradas por outras entidades. Isso pode ser corrigido definindo um limite menor de quantas entidades podem colidir com uma única entidade. Você pode definir max-entity-collisions para 2 para ainda ter um comportamento relativamente natural, ou definir para 0 para desabilitar completamente as colisões. A opção para corrigir a escalada ignorando a regra de amontoamento também está disponível, mas está desabilitada por padrão.
paper-world-defaults.yml
Spam de pacotes de sugestão de comandos
Alguns comandos no servidor podem ter muita lógica envolvida com suas sugestões de comandos. Isso pode ser explorado enviando muitos pacotes que solicitam ao servidor o envio de sugestões para o comando. Isso pode ser mitigado definindo um limite de pacotes para sugestões de comandos que fique apenas ligeiramente acima da taxa rápida de digitação de comandos, para que jogadores normais não sejam afetados.
paper-global.yml
Spam de comandos
Embora até o Spigot proteja você deste exploit, há uma pequena falha que permite que um único comando seja usado para realizá-lo. Para corrigir isso, simplesmente remova o comando /skill da lista de exclusões de spam no spigot.yml. Nas versões mais recentes, o Paper oferece uma opção adicional para esse recurso que desabilita as exclusões por padrão.
spigot.yml
Spam de entrada no servidor
Às vezes, a grande quantidade de jogadores entrando no servidor pode causar lag. Isso é especialmente verdade para ataques de bots e momentos após o reinício do servidor. Isso pode ser corrigido definindo o máximo de entradas por tick. Jogadores entrando serão atrasados no tempo para que o servidor possa processar corretamente entre lidar com eles. Se as entradas ainda sobrecarregarem o servidor, você também pode habilitar max-joins-per-second no purpur.yml, o que fará com que o valor da configuração do Paper seja aplicado por segundo em vez de por tick.
paper-global.yml
purpur.yml
Máquinas de lag com atualização de vizinhos
Limitar a quantidade de atualizações consecutivas de vizinhos antes de pular atualizações adicionais. Reduzir moderadamente este valor não tem impacto no jogo e ajuda a aliviar várias "máquinas de lag de atualização de vizinhos".
server.properties
Suspensão de projéteis
Projéteis podem ser suspensos em colunas de bolhas indefinidamente. Eles também podem ser transportados em massa para chunks não carregados. Se alguém carregar o chunk com projéteis acumulados, o servidor pode crashar devido ao carregamento de muitas coisas de uma vez. Isso pode ser interrompido limitando quanto tempo os projéteis podem existir no mundo e quantos deles são salvos e carregados com um chunk. Se o timeout for aplicado a pérolas de ender, impedirá o uso de engenhocas de suspensão de pérolas de ender.
paper-world-defaults.yml
Spam do livro de receitas
Jogadores maliciosos podem usar auto clicker ou um mod para alternar entre receitas do livro de receitas extremamente rápido. Esta é uma operação bastante cara para o servidor e pode causar grandes lentidões. Isso na verdade já é corrigido na configuração padrão do Paper, mas configurações mais antigas podem não ter isso adicionado, então certifique-se de que está lá.
paper-global.yml
Busca por tesouros
Quando um novo mapa do tesouro é gerado, geralmente via aldeão cartógrafo ou ao abrir um baú com mapa do tesouro, o servidor busca o tesouro para o qual o mapa deve levar. Essa busca é feita de uma maneira que na maioria dos casos causa o carregamento de muitos chunks e possivelmente sua geração. Essa busca pode travar o servidor por tempo suficiente para que o processo watchdog o mate. Também pode ser acionada ao alimentar golfinhos com peixes.
Opção 1
Para corrigir isso, você basicamente precisa desabilitar mapas do tesouro e golfinhos buscando por tesouros. Esta é a solução recomendada e 100% eficaz.
paper-world-defaults.yml
purpur.yml
Opção 2
Alternativamente, você pode manter os mapas habilitados, mas configurar a borda do mundo vanilla e certificar-se de que seu mundo está pré-gerado dentro da borda. Em seguida, você pode apenas garantir que tesouros já descobertos sejam válidos como resultado da busca. Isso impedirá que a busca por tesouros carregue chunks que não foram gerados.
paper-world-defaults.yml
Atualizado