Ir para conteúdo

[GUIA] Otimizando o seu Servidor - Melhor desempenho


quando eu tinha uma glock

Posts Recomendados

tô afim de fazer, mas o medo de alterar alguma coisa importante no servidor e eu não ver kajskas.

a maioria não muda coisas graves

e mais desempenho, altera somente aquilo que você

sabe o que tá fazendo kk, ou só alterar e ficar de olho 

nos resultados, se der ruim só voltar ao normal xD

Link para o comentário
Compartilhar em outros sites

 

  • Olá, primeiramente, este guia não foi feito por mim, mas sim por um usuário do fórum do Spigot, créditos totais ao Frash23, estou repassando pois fiz algumas melhorias no guia.
Spigot possui muitas melhorias de desempenho desabilitadas por padrão, pois muitas vezes alteram o servidor para que ele não reproduza o comportamento do minecraft vanilla. Este guia é suposto para ajudá-lo a ajustar as configurações para o melhor desempenho, enquanto você entende o que você realmente está mudando. Se você não entende uma configuração que mencionei aqui, não mude. Se você é curioso, responda ao tópico e pergunte-me o que faz. Se você ainda tiver problemas com o desempenho.
 
Listarei todos os valores de configuração que você pode considerar que ajudara no desempenho enquanto faço o meu melhor para explicar o que a configuração faz e quando deve / não mudá-la. 
 
O guia está atualmente escrito para 1.9 a maioria das opções também se aplica na 1.8
 
Vamos começar !
 
jye0myhmz0dt.png

1 - paper.yml

Para ter o paper.yml disponível, é preciso utilizar o paperspigot (até aonde eu sei).

https://ci.destroystokyo.com/job/PaperSpigot/

optimize-explosions

Padrão: false

Sugestão: true

FUNÇÃO

Utilize um algoritmo de explosão alternativo e mais eficiente. Remove instantaneamente entidades mortas dentro da explosão.

 

 

mob-spawner-tick-rate

Padrão: 1

Sugestão: 3 - 4

FUNÇÃO

Um valor de 2 não deve afetar muito o comportamento vanilla, Se os spawners estão atrasados em seu servidor, este é um bom valor para utilizar.
 
 
disable-chest-cat-detection
Padrão: false
Sugestão: true
FUNÇÃO
Não tem muito o que falar dessa função, mais certamente lhe ajudara no desempenho.
 
 
use-hopper-check
Padrão: false
Sugestão: true
FUNÇÃO
A opção 'hopper-check' é atualmente ignorada, tornando praticamente impossível otimizar os funis por conta própria. Essa opção o reativa.
 
 
container-update-tick-rate
Padrão: 1
Sugestão: 3 - 4
FUNÇÃO
Muda a frequência com que os inventários são marcados. PS: inventários podem aparecer bug / lag quando ajustado acima de 5.
 
 
queue-light-updates
Padrão: false
Sugestão: true
FUNÇÃO
Tentativas de propagação de atualizações de luz em ticks. A iluminação está quebrada na 1.9, isso pode ajudar a compensá-lo até que seja corrigido.
 
 
fire-physics-event-for-redstone
Padrão: true
Sugestão: false
FUNÇÃO
Isto impede a Redstone de disparar o BlockPhysicsEvent.
Muitos plugins utilizam o BlockPhysicsEvent, mas não fazem nada com a Redstone. Uma vez que a Redstone pode piscar com muita frequência em alguns servidores, isso pode somar muita CPU desperdiçada.
Esta pode ser uma grande melhoria em Redstone Lag.
 
 
grass-spread-tick-rate
Padrão: 1
Sugestão: 2 - 4
FUNÇÃO
Ticks entre as atualizações da grama.
Aumentar isso reduzirá as taxas de espalhamento de grama! Certifique-se de definir esse valor para algo que faz sentido para o seu servidor. Ou seja, os servidores Skyblock podem não querer mudar isso.
 
 
PRONTO ! 
Terminamos a parte do paper.yml
Agora vamos para o
spigot.yml
 
jye0myhmz0dt.png

2 - spigot.yml

late-bind

Padrão: false

Sugestão: true

FUNÇÃO

Isto não altera o desempenho e pode parar alguns plugins.
Isto faz com que o servidor aguarde a conexão de rede até que todos os plugins estejam habilitados. Eu pessoalmente vejo isso como uma boa prática e segurança, mas é completamente opcional.
 
 
mob-spawn-range
Padrão: 4
Sugestão: 3
FUNÇÃO
Controla o quão longe vai spawnar mobs.
 
 
entity-activation-range
Padrão: animals:32, monsters:32, misc:16
Sugestão: animals:6, monsters:16, misc:2
FUNÇÃO
Entidades fora desses intervalos serão assinaladas menos freqüentemente. Os animais geralmente não precisam de muito. "Misc" é coisa como queda de itens. Ajustá-lo para 1 pode impedir que gotas de itens, ou seja, fluindo em água.
Este é um passo importante no desempenho da entidade!
 
 
hopper-transfer, hopper-check, hopper-amount
Padrão: transfer:8, check:8, amount:1
Sugestão: transfer:24, check:24, amount:3
FUNÇÃO
Isso fará com que os hoppers atualizem três vezes mais lento, mas mova três itens por vez. Isso pode quebrar um pouco de comportamento de vanilla, especialmente coisas como relógios & redstone, dependendo do tempo de funil. Pode ser que incomode a jogabilidade no atraso.
Requer "use-hopper-check" para ser ativado em paper.yml
 
 
max-entity-collisions
Padrão: 8
Sugestão: 1 - 2
FUNÇÃO
Quantas vezes uma entidade pode colidir. Definir isso como 1 geralmente não tem implicações. Ajuda muito com grande quantia de mob.
 
 
merge-radius
Padrão: item:2.5, exp:3.0
Sugestão: item:3.5, exp:6.0
FUNÇÃO
A fusão do item é uma maneira poderosa de evitar o atraso da queda de itens (não há mais ClearLag!). Configurando a propriedade do item para 3.5, os itens em um raio de 3,5 blocos serão "mesclados" em uma pilha de itens. Exp não tem nenhuma desvantagem real para se fundir em um raio alto.
 
 
 
view-distance
Padrão: 10
Sugestão: 3 - 5
FUNÇÃO
Quantos chunks são enviados para o jogador. Eu geralmente recomendo 4 como configurá-lo para 3 fará com que as enderpearl caia em chunks descarregados e, portanto, não funcionar.
 
 
 
Terminamos a parte do spigot
Agora vamos para a parte do bukkit.yml
 
jye0myhmz0dt.png
3 - bukkit.yml
 
spawn-limits
Padrão: monsters:70, animals:15, water-animals:5, ambient:15
Sugestão: monsters:50, animals:10, water-animals:3, ambient:4
FUNÇÃO
Estes valores são mais complicados do que apenas "mobs permitidos por jogador", mas eles fazem algo nessa direção. Estabelecendo estes menores dará menos mobs máximos que gerem em torno dos jogadores. Quanto mais jogadores você tiver, mais baixo você pode configurar com segurança isso.
 
 
chunk-gc
Padrão: period-in-ticks:600, load-threshold:0
Sugestão: period-in-ticks:300, load-threshold:300
FUNÇÃO
Este recurso está desativado por padrão (o limite de carga é zero).
Esta opção descarregará chunks que não são necessários (distância externa da vista dos jogadores), liberando memória e recursos potenciais da CPU.
 
 
ticks-per.monster-spawns
Padrão: 1
Sugestão: 2 - 5
FUNÇÃO
Controla a frequência com que o servidor deve tentar spawner mob hostil. Isto contabiliza todo o servidor, não por jogador. Ajustar esta alta diminuirá drasticamente a quantidade de monstros que geram. Eu geralmente recomendo 2, a menos que um servidor tenha muitos atrasos no mobSpawn ou simplesmente tenha muitos monstros em geral.
 
 
Terminamos o bukkit.yml
Vamos para o taco.yml
nesta parte é bem simples ;)
 
jye0myhmz0dt.png
4 - taco.yml
 
taco.yml é um arquivo gerado para quem utiliza o TacoSpigot
OBS: A maioria das opções abaixo, já se encontra no paper.yml
 
armor-stand.optimize-movement
Padrão: false
Sugestão: true
FUNÇÃO
Fazer com que "armaduras" fiquem olhando para as entidades quando se deslocam.
Também desabilita a gravidade para armaduras.
 
 
grass-ignores-light
Padrão: false
Sugestão: true
FUNÇÃO
Desativa a grama que "reage" à luz. Isso evitará que a grama cresça na ""sujeira"".
 
 
hopper.fire-InventoryMoveItemEvent
Padrão: true
Sugestão: false
FUNÇÃO
Isso impedirá de funis de disparar o "InventoryMoveItemEvent". Se você utilizar plugins que se encaixem em inventários de funis para obter / alterar o comportamento do funil, você não precisa desativar.
 
 
hopper.push-based
Padrão: true
Sugestão: true
FUNÇÃO
Faz com que os funis busque "entidades" para puxar, é faz com que entidades pesquisem por funis, pode melhorar significativamente o desempenho.
 
 
Terminamos o taco.yml
Vamos para o server.properties
nesta parte é bem simples 
 
jye0myhmz0dt.png
5 - server.properties
 
network-compression-threshold
Padrão: 256
Sugestão (servidor pequeno): 512
Sugestão (bungeecord)²: -1
FUNÇÃO
Esta opção controla o tamanho de um pacote antes de tentar comprimi-lo. Ajustá-lo mais alto pode economizar alguns recursos da CPU ao custo de mais uso de largura de banda, configurando-o para -1 desativa-o.
Se o seu servidor estiver em uma rede com o proxy no localhost ou no mesmo datacenter (<2 ms ping), desativar o recurso só deve ser benéfico. Se seus jogadores se conectarem diretamente ao seu servidor, configure isso para 512. Ele economizará um pouco de CPU enquanto ainda ganha largura de banda.
 
jye0myhmz0dt.png
 
Terminamos :D
Caso você ainda tenha problemas com queda de tps, poste o seu timings aqui (5 a 10 minutos).
 
 
jye0myhmz0dt.png
 
 
Analisando "crashs" do seu servidor
Lendo a log de erros para tentar descobrir o que há de errado
 
Stack overflows
 
Normalmente são notados como "java.lang.StackOverflowError"  no inicio do erro,
 Mas facilmente identificados pelos arquivos de falha padrão do Minecraft.
Geralmente consiste em um erro sendo repetido várias vezes.
UhN6Szj.png
 
Chunk corruption
 
Começa com vários erros diferentes, por exemplo, "java.io.UTFDataFormatException:
Entrada malformada em torno do byte 111", "java.io.EOFException:
Fim inesperado do fluxo de entrada ZLIB".
Mais fácil de encontrar nos crashs-logs padrão.
UhN6Szj.png
 
Generation issues
 
Atualmente, há dois erros de geração no Minecraft a partir de 1.7.
Estes são:
java.lang.IllegalArgumentException
java.lang.RuntimeException
Estes são erros conhecidos sem uma correção no momento.
UhN6Szj.png
 
Session Lock Damage
 
Causado por corrupção, exclusão ou alteração forçada no arquivo session.lock ou arquivos específicos, enquanto o servidor está sendo executado.
“java.lang.RuntimeException: Falha ao verificar o session.lock
"java.io.FileNotFoundException: .\world\session.lock (A operação solicitada não pode ser executada em um arquivo com uma seção mapeada pelo usuário"). Encontrado em server.log e crash-reports.
A correção é excluir os arquivos session.lock enquanto servidor estiver desligado e iniciá-lo novamente.
UhN6Szj.png
 
 
Travamentos random
 
1 - Obter uma nova jar de inicialização
 
Tente utilizar outra jar para iniciar o seu servidor
Se você utiliza spigot, tente paperspigot, tacospigot ou até mesmo
utilize a mesma jar, mas procure por outra build
jye0myhmz0dt.png
 
2 - Executar o servidor sem mundos
 
Antes de mexer com seus plugins, os mundos corrompidos geralmente podem causar falhas de inicialização.
Tente executar o servidor sem os seus mundos e veja se isso corrige o problema.
Você faz isso tirando o(s) mundo(s) do seu diretório do servidor.
Se funcionar, um dos mundos pode estar corrompido. Isolar o mundo problemático iniciando o servidor com apenas um mundo carregado por vez.
Se você pode excluí-lo, faça isso. Caso contrário, execute uma ferramenta para desbugar o chunk.
jye0myhmz0dt.png
 
3 - Executar o servidor sem os plugins
 
Baixe todo o servidor e tente excluir / renomear a pasta de plugins antes da inicialização. Se o erro desapareceu, você sabe que a causa é algum plugin que causou o problema.
jye0myhmz0dt.png
 
4 - Atualize todos os seus plugins atualizados (faça um backup antes)
 
Pode parecer meio trabalhoso, mas é sempre bom manter os plugins atualizados com frequência
jye0myhmz0dt.png
 
5 - Verificar cada plugin individualmente
 
Caso nada a cima tenha lhe ajudado, verifique cada plugin individualmente,
É trabalhoso? sim, mas isso deve lhe ajudar.
 
 
ChangeLog
 
25/08
Remake do GUIA postado;
04/09
Adicionado taco.yml ;
05/09
Tópico reorganizado;
Mini-guia identificar/solucionar o crash;
Mini-guia solucionar travamentos;
 

 

Vlw ajudou muito <3

Link para o comentário
Compartilhar em outros sites

O TPS realmente aumenta, mas o servidor simplesmente laga mais.

Os mobs ficam sumindo do nada e o servidor dá várias travadas aleatórias.

isso não era pra acontecer (eu não tive nenhum destes problemas)

me chama mp ou skype, posso tentar te ajudar com esse problema

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...