Se você vai substituir uma configuração antiga de rede do TF2, comece por aqui. Estes comandos funcionam como ponto de partida para servidores comuns de 66 ticks e mantêm uma margem de interpolação adequada para conexões residenciais:
O comando cl_interp 0 não desativa a interpolação. Com updaterate de 66 e ratio 2, o intervalo efetivo do TF2 continua em aproximadamente 30,3 milissegundos.
O ratio 1 reduz o intervalo para cerca de 15,15 ms. Já o ratio 3 aumenta para aproximadamente 45,45 ms e deve ser considerado uma solução temporária para instabilidade. Ele pode compensar atrasos ocasionais, mas não corrige problemas da conexão.
A interpolação controla como as atualizações recebidas pela rede aparecem na tela. As opções de inicialização do TF2, por sua vez, alteram a configuração do jogo na partida. Mude uma coisa de cada vez para identificar o que realmente ajudou.
Melhores configurações de interp para TF2
A taxa de rede padrão do TF2 é 66, não 128. Digitar um número maior no console não faz um servidor comum processar mais ticks nem enviar mais atualizações.
A opção padrão de taxa de pacotes do mastercomfig usa 66. A opção de taxa 100 foi criada para servidores personalizados com tickrate aumentado e não deve ser usada como padrão no Casual ou em servidores comuns da comunidade. taxa padrão de pacotes do mastercomfig
| Conexão | Ratio | Buffer em 66 | Quando usar |
|---|---|---|---|
| Típica ou desconhecida | 2 |
30.30 ms | Ponto de partida seguro |
| Estável e sem oscilações | 1 |
15.15 ms | Buffer menor |
| Pequenas oscilações | 2 |
30.30 ms | Intervalo extra |
| Instável | 3 |
45.45 ms | Temporariamente |
O ratio 2 é a recomendação mais sensata quando você ainda não conhece a qualidade da rota até o servidor. Se o ratio 1 funcionar bem durante partidas inteiras, pode mantê-lo. Se os jogadores começarem a travar, dar pequenos saltos ou corrigir a posição, o intervalo extra do ratio 2 vale mais do que o número menor.
Como a interpolação funciona no TF2
O servidor não transmite o movimento dos outros jogadores como um vídeo contínuo. Ele envia snapshots com estados atualizados da partida. Sem suavização, o modelo de cada jogador saltaria diretamente de uma posição recebida para outra.
A interpolação preenche o intervalo entre esses estados conhecidos. O TF2 guarda um pequeno histórico de snapshots e exibe outros jogadores um pouco atrás da informação mais recente que recebeu.
O Scout que você vê na tela é uma reconstrução suavizada de estados que o servidor já enviou, não uma imagem exata do instante atual do servidor. Também não é uma previsão da posição futura.
O motor Source usa predição para o movimento do próprio jogador, evitando que cada comando precise esperar a ida e a volta da conexão. A predição torna os controles mais responsivos. A interpolação suaviza os estados recebidos dos outros jogadores.
O servidor continua sendo a autoridade da partida. Ele controla movimentação, colisões, tempo dos ataques, dano, cura e simulação de projéteis. Nos ataques que permitem compensação de latência, o servidor pode consultar posições anteriores dos jogadores associadas ao momento do comando do atacante. A documentação de rede multiplayer do Source explica que o servidor conhece o intervalo de interpolação do cliente e considera essa informação no processo. documentação de rede multiplayer do Source
cl_interp e cl_interp_ratio
O cl_interp define um intervalo explícito em segundos. O ratio cria outro intervalo a partir do updaterate aceito pelo servidor. O TF2 usa o maior dos dois valores:
Definir cl_interp como zero não impede o cálculo do ratio. Por exemplo, com updaterate de 66:
| Configuração | Cálculo | Resultado |
|---|---|---|
cl_interp 0, proporção 1 |
1 / 66 |
15.15 ms |
cl_interp 0, proporção 2 |
2 / 66 |
30.30 ms |
cl_interp 0, proporção 3 |
3 / 66 |
45.45 ms |
cl_interp 0.05, proporção 2 |
max(0.05, 2 / 66) |
50 ms |
cl_interp 0.1, proporção 2 |
max(0.1, 2 / 66) |
100 ms |
Quando cl_interp é maior que o intervalo calculado pelo ratio, ele passa a definir o mínimo. Os outros jogadores são exibidos mais atrás em relação ao estado mais recente recebido. Isso não coloca seu personagem à frente, não torna você mais difícil de acertar e não antecipa o disparo de nenhuma arma.
Como o interp afeta as armas do TF2
Um tiro de rifle e um foguete não chegam ao alvo pelo mesmo mecanismo do servidor. O mesmo vale para o feixe da Medigun e a faca do Spy. Também não basta olhar para a classe: um Sniper usando Huntsman dispara um projétil, enquanto o rifle de precisão usa hitscan.
Armas hitscan
Os projéteis da Scattergun, os tiros de pistola, Minigun, escopetas, revólver e rifles de precisão tradicionais usam hitscan. O servidor calcula imediatamente a trajetória do disparo, em vez de criar um projétil que atravessa o mapa.
A interpolação influencia onde o alvo remoto aparece. Os ataques hitscan aplicáveis são avaliados pelo servidor com compensação de latência baseada no histórico dos jogadores. Um buffer menor e estável pode mostrar movimentos mais recentes. Porém, se houver jitter, um buffer pequeno demais pode deixar o alvo mais difícil de acompanhar.
Armas corpo a corpo e backstabs
O TF2 calcula ataques corpo a corpo com regras de alcance e verificação de colisão no servidor. A documentação atual de scripts do TF2 informa que o processamento de hitscan e melee usa informações de compensação de latência. O modelo exibido na sua tela não determina sozinho se um taco, uma pá, uma chave inglesa ou uma garrafa acertou.
No caso do Spy, a orientação do alvo também importa. O cliente exibe a posição e a direção interpoladas do jogador, mas é o servidor que decide se o ataque cumpre as condições de backstab. Alterar o interp não aumenta o alcance da faca nem garante o ângulo correto.
Foguetes, granadas, flechas e outros projéteis
Foguetes, granadas, stickies, flares, seringas, flechas e dardos de besta viajam pela simulação do servidor depois do disparo. A posição mostrada no cliente ainda influencia sua mira, mas esses projéteis não funcionam como um disparo hitscan calculado sobre posições passadas.
Um buffer menor pode deixar o movimento dos adversários visualmente mais atual em conexões estáveis. Isso não acelera foguetes, recargas, pavios de granada nem o tempo de carregamento da Huntsman.
Medigun e equipamentos variados
O Medic vê o aliado em movimento por meio do sistema de snapshots. O servidor continua controlando o alvo do feixe, o alcance, a linha de visão, a cura e o ÜberCharge. Interp não aumenta a cura nem acelera o carregamento da habilidade.
O Sniper de rifle usa hitscan; o de Huntsman dispara um projétil. Os golpes corpo a corpo do Demoknight são diferentes das stickies do Demoman. Considere a arma equipada, e não apenas o retrato da classe.
Hitscan
Verificação instantânea no servidor. O alvo exibido é interpolado, e o histórico dos jogadores pode ser compensado pela latência quando aplicável.
Corpo a corpo
Verificação de alcance e colisão no servidor. O interp não aumenta o alcance nem reduz o tempo do golpe.
Projéteis
O servidor controla o movimento após o disparo. O interp não muda velocidade, pavio ou recarga.
Medigun
Exibição do aliado pela rede, com cura e regras do feixe controladas pelo servidor.
Spy
O cliente mostra posição e orientação interpoladas. A validade do backstab é decidida pelo servidor.
Subclasses
Considere o funcionamento da arma equipada. Uma mesma classe pode usar categorias diferentes.
A interpolação muda a forma como as informações recebidas são exibidas. Ela não altera cadência de tiro, velocidade de recarga, velocidade dos projéteis, alcance corpo a corpo, taxa de cura ou dano.
Ping não é tudo na conexão
Dois servidores podem mostrar um ping parecido e oferecer experiências bem diferentes. Uma rota pode entregar snapshots de forma constante; outra pode enviá-los em grupos, perder alguns ou variar o atraso a todo momento.
Ping mede o tempo de ida e volta. Jitter é a variação desse atraso. Perda de pacotes significa que parte dos dados não completou o trajeto. Choke indica que as atualizações ficaram limitadas pela taxa disponível ou pelas condições de rede.
Ratio 1: cerca de 15,15 ms com updaterate 66. Buffer menor, quase sem margem para snapshots atrasados.
Ratio 2: cerca de 30,30 ms. Um intervalo adicional entre snapshots.
Ratio 3: cerca de 45,45 ms. Mais tolerância à instabilidade, mas também mais atraso na exibição.
Para interpolar, o cliente precisa conhecer estados dos dois lados do instante exibido. Se o próximo snapshot não chegou, o histórico pode ficar insuficiente, e o jogo passa à extrapolação. Nesse caso, projeta o movimento além da última informação recebida e corrige a posição quando novos dados chegam.
Uma imagem estável com ratio 2 é mais útil do que usar ratio 1 e sofrer travamentos ou correções frequentes. Uma conexão limpa talvez dispense o intervalo extra. Não existe uma configuração ideal para os dois casos.
Se o ratio 3 reduzir as interrupções, continue investigando a causa. Veja se o problema ocorre em todos os servidores, confira o tráfego da rede local e a qualidade do Wi-Fi. Nenhum buffer recupera dados que nunca chegaram.
Confira opções de armas e itens cosméticos em nosso catálogo de skins de TF2.
Ver skins de TF2Como conferir suas configurações de rede no TF2
Digite cada cvar sem valor para verificar o que o TF2 está usando.
Repita a consulta depois de entrar no servidor. Ele pode limitar o updaterate ou o ratio aceito.
Usando net_graph
Ative o monitor de rede do TF2 com net_graph 1 e desative com net_graph 0. Ele exibe ping, dados de interpolação, atividade de pacotes, perda e choke.
O gráfico de rede do TF2 ajuda a comparar o comportamento da conexão durante o jogo. Procure perda de pacotes, choke ou atrasos que se repetem. Um único pico não prova que a configuração de interpolação esteja errada. Gráfico de rede do TF2
Observe o gráfico durante uma partida normal. Um pico isolado revela menos do que um problema repetido em vários confrontos. Se houver perda de pacotes em todos os servidores, investigue além do interp.
O que cl_showerror pode mostrar
O comando cl_showerror 2 exibe informações sobre erros de predição. Ele pode revelar correções entre a movimentação prevista localmente e o resultado do servidor. Não é um medidor de perda de pacotes nem uma prova direta de ratio incorreto.
Como salvar as configurações no TF2 original
Para carregar as mesmas configurações toda vez que abrir o TF2, use um arquivo autoexec. A biblioteca da Steam pode estar em outro disco, mas o caminho relativo dentro do jogo é sempre o mesmo:
- Encontre a pasta cfg. No Windows, um caminho comum passa por Steam\steamapps\common\Team Fortress 2\tf\cfg\.
- Crie um arquivo de texto simples. Chame-o de autoexec.cfg e confira se o Windows não acrescentou a extensão .txt.
- Cole a configuração inicial. Use um comando por linha.
- Carregue o arquivo. Reinicie o TF2 ou digite exec autoexec no console.
- Confira os valores aceitos. Entre em um servidor e consulte novamente as cvars.
exec autoexec inside autoexec.cfg pode causar um ciclo recursivo de execução.Como redefinir a configuração original
Remova as linhas de rede do autoexec.cfg e procure comandos duplicados nos arquivos das classes e em outras configurações dentro de tf/cfg. Confira também as opções de inicialização e os arquivos sincronizados pelo Steam Cloud.
Reinicie o TF2 e consulte as cvars novamente. A verificação de integridade da Steam ajuda quando arquivos gerenciados pelo jogo foram removidos ou alterados, mas não necessariamente apaga todos os arquivos de configuração criados pelo usuário.
Para voltar ao ponto de partida deste artigo, restaure o bloco com quatro comandos e ratio 2. Ele não é uma lista completa de todas as configurações originais de fábrica.
Como usar o mastercomfig sem conflitos
O mastercomfig já administra as configurações de rede. Se você o utiliza, prefira seus módulos a empilhar comandos manuais sobre arquivos gerenciados.
Guarde as alterações pessoais no diretório atual de overrides:
Não edite o VPK distribuído, a configuração principal gerada ou o arquivo comfig.cfg. Uma atualização pode substituir esses arquivos.
Para uso normal, o ponto de partida recomendado é:
packet_rate=standard seleciona a taxa normal de comandos e atualizações, 66. snapshot_buffer=auto ajusta o perfil de rede de acordo com a classe. Atualmente, o mastercomfig agrupa Scout, Heavy, Engineer e Sniper na política hitscan; Soldier, Pyro, Demoman e Medic usam a política de projéteis; Spy recebe tratamento separado.
Esses são padrões práticos por classe, não descrições de todos os equipamentos. O Sniper com Huntsman é uma exceção evidente. O mastercomfig oferece os aliases net_hitscan e net_projectiles para subclasses configuradas individualmente.
| Módulo | Buffer em 66 | Finalidade |
|---|---|---|
snapshot_buffer=auto |
Depende da classe | Padrão gerenciado |
snapshot_buffer=off |
15 ms | Mínimo |
snapshot_buffer=x1 |
30 ms | Intervalo extra |
snapshot_buffer=x2 |
45 ms | Maior proteção |
snapshot_buffer=custom |
Definido pelo usuário | Cvars manuais |
snapshot_buffer=off não desativa a interpolação do Source. Na taxa padrão, seleciona o menor intervalo do mastercomfig, aproximadamente 15 ms. A documentação alerta que esse valor oferece pouca margem para uma conexão residencial comum.
Use snapshot_buffer=custom apenas se pretende administrar diretamente as cvars de interpolação. Caso contrário, mantenha snapshot_buffer=auto como responsável pelo ajuste.
apply_overrides reaplica os módulos pessoais e o autoexec de overrides. restore_preset devolve os módulos aos valores do preset sem alterações do usuário. restore_config executa a configuração principal e depois os overrides. version_comfig mostra a versão instalada. Esses aliases pertencem ao mastercomfig, não ao TF2 original.
Conselhos antigos sobre interp que devem ser abandonados
Pedir uma taxa de 128 não é um upgrade padrão no TF2. Um servidor de 66 ticks não pode virar 128 ticks apenas com um comando no console do cliente.
cl_interp 0 não significa interpolação zero. A divisão do ratio pelo updaterate ainda determina o intervalo efetivo.
Um valor alto de interp não coloca seu personagem à frente. Ele faz seu cliente mostrar os outros jogadores mais atrás em relação ao último snapshot recebido.
Interp não controla a velocidade das armas. Não altera cadência de tiro, recarga, velocidade dos projéteis, alcance corpo a corpo, cura ou dano.
Em uma conexão comum, comece com ratio 2 e só ajuste quando os testes justificarem a mudança.
Perguntas frequentes sobre interp no TF2
Quais configurações de interp devo testar primeiro no TF2?
Comece com cl_cmdrate 66, cl_updaterate 66, cl_interp 0 e cl_interp_ratio 2. Se forem aceitos, o intervalo efetivo será de cerca de 30,3 ms.
cl_interp_ratio 1 é melhor que ratio 2?
Não em todas as conexões. Com updaterate 66, o ratio 1 reduz o buffer para aproximadamente 15,15 ms. Já o ratio 2 mantém um intervalo extra entre snapshots.
Quando vale a pena usar cl_interp_ratio 3?
O ratio 3 pode ser uma alternativa temporária quando snapshots atrasados ou ausentes ainda atrapalham o ratio 2. Com updaterate 66, cria um buffer de cerca de 45,45 ms, mas não corrige perda persistente de pacotes.
cl_interp 0 desativa a interpolação?
Não. O TF2 usa o maior valor entre cl_interp e cl_interp_ratio / cl_updaterate. O servidor também pode limitar os valores aceitos.
Interp pode acelerar foguetes ou flechas?
Não. A interpolação altera como os estados de entidades recebidos são exibidos. Não muda a velocidade dos projéteis, recarga, pavios, tempo de carregamento ou dano.
Diminuir o interp pode melhorar a mira hitscan?
Um buffer menor e estável pode mostrar o movimento dos alvos mais próximo do presente. Porém, se causar jitter ou snapshots ausentes, acompanhar o inimigo pode ficar mais difícil.
A interpolação altera o alcance do backstab do Spy?
Não. O servidor decide se o golpe atende às condições de alcance e ângulo. Alterar o interp não aumenta o alcance da faca nem força um backstab.
net_graph ainda funciona no TF2?
Sim. Digite net_graph 1 no console para exibir o gráfico de rede e net_graph 0 para ocultá-lo. Procure padrões ao longo da partida, em vez de julgar tudo por um único pico.
Onde ficam os overrides do mastercomfig?
Salve seus arquivos em Team Fortress 2/tf/cfg/overrides/. A maioria dos jogadores pode usar packet_rate=standard com snapshot_buffer=auto.