Diagnosticando o atraso do servidor Minecraft e o baixo TPS

Como o Minecraft funciona (O que causa o atraso?)

A chave para entender o que está causando o atraso é entender como o Minecraft funciona. Todos os softwares de servidor Minecraft operam de maneira semelhante com um problema-chave: não há limites de multiencadeamento ou tempo para o loop principal do jogo. Quando o servidor entra em jogo, ele executa todas as atualizações TileEntity, atualização de entidade, atualização de bloco, eventos e outros processos até que seja concluído. Isso tudo ocorre em um thread e o próximo loop não pode ser iniciado até que o atual seja concluído. O mundo não será atualizado, os jogadores não parecerão se mover e as entidades serão congeladas. Idealmente, cada tique não deve demorar mais de 50 ms para manter 20 Tiques por segundo (TPS). Isso pode chegar a 55,55ms para 18 TPS com problemas mínimos. Qualquer menor que isso e você começará a ver lag.

Causas típicas do atraso

Há muitas coisas que podem causar atraso, mas algumas delas serão as culpadas mais prováveis ​​para a maioria dos servidores.

  • Uso de arquivo : qualquer plug-in que esteja constantemente lendo dos arquivos do player, especialmente em eventos como movimento, dano ou interação. Alguns exemplos seriam alguns sinalizadores de PVP ou plugins Glow que lerão continuamente os arquivos do player.
  • Arquivos simples como banco de dados : quando você possui plug-ins que usam arquivos grandes para rastrear muitos dados que iteram por esse arquivo ou na memória, dependendo de como eles são armazenados, leva muito tempo. Muitos plug-ins fazem isso e não tomam precauções contra como, quando os bancos de dados ficarem inchados, o tempo de processamento afetará o tique dos servidores. Você verá isso muito ao carregar grandes configurações do MagicSpells ou ao usar sistemas de permissões que usam YAML em vez de um banco de dados adequado, como PEX e GroupManager.
  • Muitas operações : quando um plug-in gera muitas entidades ou tenta executar tarefas complexas em eventos como movimento, você começará a ver lag. Mesmo se cada execução demorar menos de 1 ms, quando você estiver processando um evento 20k vezes por segundo, ele se tornará exponencial. Os plugins que podem causar isso são plugins de edição mundial, como o VoxelSniper e o WorldEdit; ou plugins de proteção, como Anti Cheats e World Protections.
  • Muitos pedaços carregados : um pedaço é 16*16*256. Isso pode não parecer muito, mas, quando multiplicado, significa que existem 65.536 blocos por bloco. Cada jogador pode ter mais de 200 pedaços carregados, dependendo da sua configuração. São mais de 13.107.200 blocos. Isso consome muita memória. Além disso, se 1% deles são TileEntities, 131.072 TileEntities carregados precisam atualizar todos os tiques. Os mods são notórios por terem tempos de processamento lentos em TileEntities.
  • WorldGen em cascata : é quando um plugin ou mod gera estruturas fora do bloco que é fornecido. Isso faz com que o próximo pedaço seja carregado, gere e, em seguida, o desencadeie novamente, se também começar a ter estruturas transbordando para o próximo pedaço. Esse design é ruim em nome dos criadores e qualquer plug-in ou mod fazendo isso deve ser removido imediatamente.
  • Entidades de bloco : consulte a seção LagGoggles abaixo.

Encontrar a causa do atraso geralmente é um procedimento simples hoje em dia, já que a maioria dos softwares para servidores Minecraft é construída com ferramentas de criação de perfil incluídas.

Relatórios de tempos para Spigot / PaperSpigot

Para obter um relatório detalhado de horários, você pode usar o comando follow.

/timings on

Você vai querer esperar alguns minutos e esperar enquanto seus horários estão em execução. Depois de um tempo, gere o relatório.

/timings paste

Isso fornecerá um link para um site com uma boa descrição do relatório, com opções fáceis para filtrar todos os dados que você está recebendo. Você pode aprender mais sobre como lê-los no wiki de tempo do Spigot .

Você deseja desativar os horários depois, pois não deseja que os dados indesejados obstruam sua próxima leitura, e os horários adicionam mais tempo ao jogo.

/timings off

Relatórios de temporização para esponja

Para obter um relatório detalhado de horários, você pode usar o comando follow.

/sponge timings on

Você vai querer esperar alguns minutos e esperar enquanto seus horários estão em execução. Depois de um tempo, gere o relatório.

/sponge timings report

Isso fornecerá um link para um site com uma boa descrição do relatório, com opções fáceis para filtrar todos os dados que você está recebendo. Como o sistema de temporização do Sponge é baseado no Spigot, você pode aprender mais sobre como lê-los no wiki de temporização do Spigot .

Você deseja desativar os horários depois, pois não deseja que os dados indesejados obstruam sua próxima leitura, e os horários adicionam mais tempo ao jogo.

/sponge timings off

Você também pode redefinir os tempos.

/sponge timings reset

Etapas para reduzir o atraso

  • Use argumentos adequados para o seu arquivo de script para iniciar o Minecraft. Saiba mais sobre os argumentos Java apropriados aqui
  • Use LuckPerms ou um gerenciador de permissões que use um banco de dados adequado em vez de um arquivo simples
  • Evite completamente carregadores de chunk
  • Remova qualquer coisa que cause a geração mundial em cascata
  • Limite os plugins Anti Cheat para não serem excessivamente zelosos
  • Limite a distância de visualização dos jogadores em server.properties
  • Limpar multidões hostis após um período de tempo definido
  • Reinicie o servidor diariamente para limpar vazamentos do Java
  • NUNCA recarregue o servidor, isso causa vazamentos e outros problemas
  • Use versões do FastAsync de plugins, como WorldEdit e VoxelSniper
  • Limite o tamanho do seu mundo para que novos pedaços não sejam constantemente criados
  • Limite a quantidade de plugins que você usa. Nem todos os plugins são construídos bem e quanto mais você tem, mais problemas você encontrará

LagGoggles

Uma grande parte do atraso em servidores modificados vem de entidades de bloco. Essas são as entidades criadas para os blocos usados ​​para processar a funcionalidade e os eventos do bloco. Se demorarem demais ou houverem muitos, poderá aumentar o tempo de tique, diminuindo o TPS total do servidor. Uma maneira de visualizar esses problemas é usar um mod chamado LagGoggles. Você pode baixar este mod no CurseForce .



Leave a Comment

Instalando o McMyAdmin no Ubuntu 14.10

Instalando o McMyAdmin no Ubuntu 14.10

McMyAdmin é um painel de controle do servidor Minecraft usado para administrar seu servidor. Embora o McMyAdmin seja gratuito, há várias edições, algumas das quais são pai

Como configurar o servidor Left 4 Dead 2 no Ubuntu

Como configurar o servidor Left 4 Dead 2 no Ubuntu

Neste tutorial, você aprenderá como configurar um servidor Left 4 Dead 2 no Ubuntu. Este guia foi testado no servidor Ubuntu 15.10. Atualização de pré-requisitos

Como instalar um servidor Just Cause 2 (JC2-MP) no CentOS 7

Como instalar um servidor Just Cause 2 (JC2-MP) no CentOS 7

Neste tutorial, aprenda como configurar um servidor multiplayer Just Cause 2. Pré-requisitos Verifique se o sistema está totalmente atualizado antes de começarmos

Como instalar o servidor Starbound no CentOS 7

Como instalar o servidor Starbound no CentOS 7

Usando um sistema diferente? Neste tutorial, explicarei como configurar um servidor Starbound no CentOS 7. Pré-requisitos Você precisa ser o proprietário deste jogo

Como instalar o Unturned no Linux

Como instalar o Unturned no Linux

Usando um sistema diferente? Introdução Neste guia, você aprenderá como configurar e instalar um servidor Unturned no Linux. Unturned é uma sobrevivência popular

Instalando um servidor Reflex no Windows

Instalando um servidor Reflex no Windows

Introdução O Reflex é um competitivo FPS de Arena da Turbo Pixel Studios. Este tutorial mostrará como configurar seu próprio servidor Reflex no

Como instalar o PufferPanel (painel de controle gratuito do Minecraft) no CentOS 7

Como instalar o PufferPanel (painel de controle gratuito do Minecraft) no CentOS 7

Introdução Neste tutorial, também esteja instalando o PufferPanel em nosso Vultr VPS. O PufferPanel é um painel de controle de código aberto e gratuito para gerenciar você

Como instalar o servidor Counter-Strike 1.6 no Linux

Como instalar o servidor Counter-Strike 1.6 no Linux

Este guia mostra como configurar um servidor Counter-Strike: 1.6 no Linux. As etapas aqui funcionarão para a maioria das distribuições Linux compatíveis com o SteamCMD. Primeiro

Como instalar o Unturned 2.2.5 no CentOS 6

Como instalar o Unturned 2.2.5 no CentOS 6

Neste guia, você aprenderá como configurar um servidor Unturned 2.2.5 em um Vultr VPS executando o CentOS 6. Nota: Esta é uma versão editada do Unturned que não

Configurar um servidor Team Fortress 2 no Arch Linux

Configurar um servidor Team Fortress 2 no Arch Linux

Este tutorial explica como configurar um servidor Team Fortress 2 no Arch Linux. Presumo que você esteja logado com uma conta de usuário não raiz que tenha acesso ao sudo

Como configurar um servidor Tekkit Classic no Ubuntu 16.10

Como configurar um servidor Tekkit Classic no Ubuntu 16.10

Usando um sistema diferente? O que é o Tekkit Classic? Tekkit Classic é um modpack para o jogo que todo mundo conhece e ama; Minecraft. Ele contém algumas das ver

Configurar um servidor Minecraft PE no CentOS 6

Configurar um servidor Minecraft PE no CentOS 6

Este artigo ensinará como configurar um servidor Minecraft Pocket Edition no CentOS 6. A configuração de um servidor Minecraft PE é bastante simples. Primeiro, instale o

Como instalar o servidor Teamspeak 3 no Ubuntu 16.04 de 64 bits

Como instalar o servidor Teamspeak 3 no Ubuntu 16.04 de 64 bits

Usando um sistema diferente? Você está cansado de usar o Discord / Skype? Cansado de não ter controle total do seu servidor? Ou talvez seja por causa da falta de

Como instalar o ARK Survival Evolved (ArkSE) no CentOS 7

Como instalar o ARK Survival Evolved (ArkSE) no CentOS 7

Neste tutorial, aprenda bem como configurar um servidor ARK Survival no CentOS 7. Pré-requisitos O ARK requer uma grande quantidade de memória. Eu recomendo usar um V

Configurando Counter Strike: Ofensiva Global no Debian

Configurando Counter Strike: Ofensiva Global no Debian

Neste guia, estaremos configurando um servidor de jogo Counter Strike: Global Offensive no Debian 7. Esses comandos foram testados no Debian 7, mas eles devem também

Como instalar Unturned 2.2.5 no Ubuntu 16.04

Como instalar Unturned 2.2.5 no Ubuntu 16.04

Usando um sistema diferente? Introdução Neste guia, você aprenderá como configurar um servidor Unturned 2.2.5 em um Vultr VPS executando o Ubuntu 16.04. Nota: Thi

Como configurar um servidor Minecraft no Ubuntu 18.04

Como configurar um servidor Minecraft no Ubuntu 18.04

Minecraft ainda é um dos jogos mais populares do mundo. Se você joga, provavelmente joga em servidores o tempo todo. Este guia tem como objetivo ensinar

Como corrigir mundos corrompidos no Minecraft

Como corrigir mundos corrompidos no Minecraft

Às vezes, os mundos no Minecraft podem ser corrompidos. Este artigo explica como corrigir mundos quebrados. Infelizmente, porém, mundos corruptos não podem ser reparados

Servidor Minecraft Bukkit no Debian Wheezy

Servidor Minecraft Bukkit no Debian Wheezy

Introdução O Bukkit é uma extensão do Minecraft que oferece alguns recursos exclusivos, além de plugins que podem melhorar significativamente sua experiência de jogo.

Como instalar o Glowstone (Minecraft) em um servidor CentOS 6

Como instalar o Glowstone (Minecraft) em um servidor CentOS 6

Usando um sistema diferente? Introdução Glowstone é indubitavelmente o servidor mais otimizado para Minecraft. O software possui baixo uso de memória e uso

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.