Battlefield 4 no Debian 11, usando Proton: ping não aparece nas partidas

Olá, pessoal!

Estou rodando Battlefield 4 (versão Steam) no Debian e o desempenho do jogo em si está ótimo. Contudo, meu ping não aparece enquanto estou no multiplayer e, como a maioria dos servidores expulsa jogadores sem ping, acabo não tendo uma boa experiência.

Aparentemente, esse problema é bem conhecido e poderia ser resolvido, conforme apresentado no ProtonDB (https://www.protondb.com/app/1238860) e no GitHub (https://github.com/ValveSoftware/Proton/issues/3994).

A primeira coisa que tentei foi executar o jogo com o Proton modificado GloriousEggroll, na versão Proton-6.15-GE-2. Supostamente, essa versão deveria corrigir o problema, mas nada mudou. Tentei então executar os comandos sugeridos no ProtonDB, trocando o caminho para o correspondente ao Proton-6.15-GE-2:

sudo setcap cap_net_raw+epi /home/kairand/.steam/root/compatibilitytools.d/Proton-6.15-GE-2/files/bin/wineserver
sudo setcap cap_net_raw+epi /home/kairand/.steam/root/compatibilitytools.d/Proton-6.15-GE-2/files/bin/wine-preloader
sudo setcap cap_net_raw+epi /home/kairand/.steam/root/compatibilitytools.d/Proton-6.15-GE-2/files/bin/wine64-preloader

Nada mudou… Não sei mais o que fazer. Alguém conseguiu executar esse jogo com o ping aparecendo no Debian ou seus derivados? No menu o ping aparece, mas em servidores não.

2 curtidas

Eu tive problemas similares a esse no Guild Wars 2 e no Path Of Exile, durante as pesquisas que fiz, encontrei diversas recomendações para configurar o winbind no Linux como uma forma de sanar o problema. Mas, como jogo apenas o modo história e não me afeta diretamente, acabei nunca testando as soluções.

Se eu encontrar alguns dos links, vou atualizar aqui.

:vulcan_salute:

2 curtidas

Muito obrigado!

Até já tenho o pacote winbind instalado, mas o utilizo para outro fim (Microsoft Office 2013 rodando no Wine). Não vi essa possibilidade de aplicá-lo para resolver o problema do ping ainda. :slight_smile:

Isso tem me deixado bem chateado, porque o jogo em si roda normalmente. O plugin de expulsar jogadores com ping alto ou sem ping que o pessoal geralmente usa nos servidores é o que me quebra.

Vi gente com outras distros conseguindo resolver da maneira que descrevi acima. Parece ser algo específico do Debian (e derivados).

Achei uma possível solução utilizando o setcap mas com vários passos extras (e possivelmente arriscados) falando especificamente do BF4. Já deu uma olhada nessa discussão?

https://www.reddit.com/r/linux_gaming/comments/gc5qss/wine_and_ping_support_on_ubuntu_a_guide/

:vulcan_salute:

1 curtida

Havia encontrado essa solução e passei rapidamente por ela. Fiquei com receio por conta do risco de quebrar o sistema, rs. Não sou usuário avançado. Estava na esperança de encontrar outro caminho ou, na pior das hipóteses, aguardar a Valve atualizar o Proton para corrigir isso de alguma forma.

Bem, um pessoal ali comentou sobre tentar isso através do Lutris. Aparentemente por lá não tem risco.

Instala o timeshift, faz aquele backup maneiro e GG, apenas atenção que o Timeshift não protege a home por padrão.

:vulcan_salute:

2 curtidas

Ei, pessoal!

Acabei decidindo experimentar outras bases e instalei o Manjaro (base Arch). Nele, o ping apareceu no jogo simplesmente ao utilizar o Proton modificado (Glorious Eggroll).

Não cheguei a testar as modificações necessárias no Debian. Contudo, ainda pretendo realizar mais testes no futuro.

3 curtidas

Por curiosidade, no Debian 11 estava usando o Steam em .deb ou flatpak?

Estava em .deb. Baixei do repositório usando o apt.

Agora no Manjaro também não estou usando o Flatpak, e sim a versão do repositório oficial.

Pessoal, acredito ter encontrado uma solução para resolver facilmente o problema no Debian.

Aparentemente, o que diferencia o comportamento do Debian de outras distros é uma configuração que bloqueia o acesso do jogo ao ping, mesmo ao utilizar o Proton Glorious Eggroll. O seguinte comando deve liberar o acesso:

sudo sysctl net.ipv4.ping_group_range='1000 1000'

Onde “1000” é o ID do grupo do usuário. Acredito que “1000” seja o valor padrão. Esse comando permite que o grupo do usuário acesse os recursos de ping, o que faz o jogo reconhecer o ping (o Proton Glorious Eggroll ainda é necessário).

Esse comando é temporário. Ou seja, ao reiniciar o computador, será necessário executá-lo novamente para ter o ping funcionando nos jogos.

Não estou, no momento, com uma instalação do Debian para testar. Se alguém puder realizar o teste e reportar o resultado, agradeço. :slight_smile:

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.

Ei, pessoal! Instalei o Debian novamente no meu computador e testei o comando acima. Conclusão: sim, resolve o problema! Mas, como mencionado, é necessário executar toda vez que for jogar após reiniciar. Também é necessário usar o Proton-GE. :wink: