Jogos no Steam terão de informar anticheat em nível de kernel na loja
(gamingonlinux.com)- A Valve passou a exigir que desenvolvedores do Steam indiquem claramente nas páginas da loja se seus jogos usam anticheat em nível de kernel, facilitando a verificação de informações de segurança e compatibilidade antes da compra
- O escopo não se limita a novos lançamentos: inclui também jogos que já estão cadastrados no Steam e passa a fazer parte do processo de novos lançamentos
- A obrigação de divulgação se restringe ao anticheat em nível de kernel, mas a Valve considera recomendável informar os jogadores também sobre anticheat no lado do cliente e no lado do servidor
- A exibição na loja será verificada pela Valve quanto à existência e à precisão do aviso sobre anticheat, e também poderá abordar o problema de itens residuais após a desinstalação em alguns jogos antigos
- Usuários de Steam Deck e Desktop Linux terão mais chances de filtrar, antes da compra, jogos em que o desenvolvedor bloqueia a execução via Proton
Mudança na exibição de anticheat na loja Steam
- A Valve exige que jogos no Steam indiquem claramente em suas páginas da loja o uso de anticheat em nível de kernel
- Segundo uma publicação para desenvolvedores no Steamworks, a empresa vem buscando formas de os desenvolvedores compartilharem informações sobre anticheat com os jogadores, e os próprios jogadores também vinham pedindo mais transparência sobre os serviços de anticheat e softwares adicionais instalados pelos jogos
Escopo de aplicação inclui jogos existentes
- A exigência não se aplica apenas a jogos com lançamento futuro
- Jogos que já estão cadastrados no Steam também devem adicionar essas informações
- O requisito também passa a fazer parte do processo de novos lançamentos
- A Valve realizará uma verificação para confirmar se há um aviso na página do jogo e se o conteúdo está correto
Diferença entre divulgação obrigatória e opcional
- O item que deve obrigatoriamente ser divulgado é o anticheat em nível de kernel
- Se o jogo usa apenas anticheat no lado do cliente ou no lado do servidor, a divulgação é opcional
- A Valve considera útil que todos os jogos que usam tecnologias de anticheat informem isso aos jogadores
Informações relacionadas à desinstalação também podem ser exibidas
- Alguns jogos não removem corretamente os itens instalados durante a desinstalação
- A Valve menciona que isso acontece em jogos antigos
- A indicação na loja também pode incluir informações relacionadas à remoção
Impacto para usuários de Linux e Steam Deck
- Usuários de Steam Deck e Desktop Linux poderão decidir com mais facilidade quais jogos evitar
- Jogos com anticheat em nível de kernel geralmente têm a execução via Proton bloqueada pelo desenvolvedor
Mudanças recentes relacionadas ao Steam
- A Valve realizou recentemente várias mudanças no Steam
- Combate a spam de banners de publishers
- Melhorias em jogos Native Linux
- Indicação clara de que, ao comprar um jogo, trata-se de uma licença, não de propriedade
- Reflexo da remoção da necessidade de arbitragem individual
1 comentários
Opiniões do Hacker News
Reinstalei GTA V na semana passada e fiquei bem surpreso ao descobrir que agora preciso instalar um rootkit para executá-lo
Não faz sentido terem adicionado uma extensão de kernel obrigatória a um jogo que comprei há 10 anos, ainda mais sendo um jogo que eu só queria jogar no modo single-player
Como de costume, acho que a versão pirata teria sido uma experiência melhor
-nobattleyenas opções de inicialização da Steam, dá para jogar single-player sem instalar nada extraA Rockstar deveria ter feito isso como uma opção de inicialização separada, como outros jogos fazem
Comprei GTA V no PlayStation e lá era possível jogar single-player sem uma conta Rockstar. Imagino que a Sony tenha obrigado isso, e não acho que a Rockstar tenha feito por boa vontade
Só que, toda vez que eu abria o jogo, aparecia uma tela tentando me levar para o multiplayer; uma vez apertei uma opção relacionada ao multiplayer e, depois disso, por semanas, mesmo sem abrir o jogo, recebi notificações do sistema PlayStation empurrando eventos do GTA Online
Então, adeus Rockstar. Os jogos deles também já ficaram grandes demais, com a sensação de que eles mesmos não conseguem mais dar conta
“Essas empresas todas parecem ser comandadas por CEOs com MBA na Darth Vader University, onde a primeira aula é ‘Eu alterei os termos do acordo. Reze para que eu não os altere mais’”
https://pluralistic.net/2023/12/08/playstationed
Infelizmente, é verdade que a pirataria oferece uma experiência melhor, embora eu ache que isso normalmente não se aplique a jogos indie
Pelo menos enquanto eles continuam indie. Há pouco tempo reinstalei Minecraft depois de muito tempo e descobri que a Microsoft exige verificação por número de telefone para jogar um jogo que comprei há mais de 10 anos
Assim como o rootkit de GTA V, não importa se você só quer jogar single-player. Se o launcher bloqueia, acabou, e não há ninguém para ajudar
Vendo como visão computacional e inteligência artificial continuam avançando, acho que logo teremos periféricos de cheat que funcionam totalmente como dispositivos externos e são difíceis de detectar
Seria algo como capturar vídeo diretamente da saída da tela e enviar comandos fingindo ser um dispositivo de entrada USB
Não conseguiria oferecer todos os recursos, como ver através de paredes, que um cheat acoplado ao processo do jogo oferece, mas com esse método dá para criar um aimbot sobre-humano
Já existem também cheats externos de “radar” que usam o som estéreo do jogo para indicar a direção de sons específicos, como passos
Há produtos prontos como o kmbox, ou você pode fazer o seu próprio
Mas o ponto importante é que a parcela de trapaceiros em jogos disposta a comprar até hardware é minúscula. É muito mais caro e trabalhoso do que dar dois cliques em um executável e obter satisfação imediata
Por isso, se evitar banimento de conta exige esse nível de esforço, isso já é considerado praticamente um sucesso
A maioria dos jogadores joga honestamente por diversão, então simplesmente não se preocupa muito com isso
Falando sério, ouvi dizer que esses dispositivos já existem
Depois do primeiro passo, deveriam proibir jogos que incluam anti-cheat em nível de kernel
No Linux isso é inaceitável, e a Apple também não deve mais permitir esse tipo de coisa daqui em diante. Só que a Apple perdeu influência em jogos depois do Mantle e dos processadores M, e ambos criaram grandes problemas de compatibilidade
A Microsoft também está se arrependendo de todas as escolhas relacionadas a isso
https://www.theverge.com/2024/9/12/24242947/microsoft-window...
Como sempre, quando a Microsoft toma decisões ruins, todo mundo sofre. Até o Linux. Há um motivo para módulos de kernel de código fechado marcarem o Linux como tainted, e esse sistema não é confiável
Tornar o jogo seguro é responsabilidade do desenvolvedor do jogo, não manipular o dispositivo do usuário. O fato de eles não conseguirem atingir o objetivo de forma segura não é motivo para obrigar as pessoas a fazer algo idiota e perigoso
Para começo de conversa, contratar engenheiros capazes de criar componentes de kernel também custa caro. É uma área especializada estreita, e não se encontra gente barata
As empresas de jogos não usam anti-cheat em nível de kernel por preguiça; especialmente em jogos como FPS, em que uma abordagem puramente do lado do servidor não consegue bloquear tudo por completo, elas o usam por necessidade absoluta
Aprendizado de máquina também foi tentado, mas gera muitos falsos positivos e deixa passar muitos cheats sutis que prejudicam a experiência dos jogadores. Os anti-cheats antigos ficavam só em modo de usuário, e então os cheats migraram para o kernel, ficando difíceis de detectar e bloquear
Para continuar eficaz, o anti-cheat não teve escolha a não ser acompanhar. A alternativa era entregar o espaço aos cheaters e ver um jogo desenvolvido e operado com enormes recursos virar um inferno de cheats do qual jogadores normais vão embora
Concordo que seria melhor para todos sem essas coisas, mas é surpreendente esse senso de direito de achar que empresas privadas devem ser operadas conforme os desejos de indivíduos e que desenvolvedores têm a “obrigação” de criar apenas do jeito que você quer
É porque não querem colocar um grande volume de pessoas como avaliadores para decidir de forma instável “aquela pessoa está usando cheat ou não”
Anti-cheat em nível de kernel é fundamentalmente falho. Como resultado, cheats por DMA e cheats baseados em visão computacional estão aumentando, e ainda dão aos cheaters uma vantagem grande e mais difícil de detectar
Mesmo assim, ele é eficaz para barrar cheats explícitos e a maioria dos cheats sutis
Detectar cheats depois que o servidor recebe as entradas é algo muito difícil de fazer de forma confiável. Iniciantes têm entradas lentas e atrasadas, enquanto jogadores habilidosos reagem várias vezes mais rápido, na casa de um dígito, e às vezes reagem mais rápido do que se imagina por causa da memória muscular
Para criar um cheat indetectável, basta colocar no código um limite de tempo de reação em nível humano e fazer com que todas as entradas pareçam realistas
No fim, métodos estatísticos no servidor ainda permitem criar cheats que dão grande vantagem sem serem detectados de fato
Aqui dá vontade de usar inteligência artificial, mas sem dúvida seria necessária supervisão humana; caso contrário, surgiriam falsos positivos
No extremo, mesmo que o jogo fosse projetado em torno de renderização do lado do servidor e processamento de entrada do lado do servidor, de modo que o jogador praticamente jogasse por uma conexão de área de trabalho remota, ignorando por um momento o problema de latência, cheats como auto-snap na cabeça, compensação de recuo e disparo automático ainda teriam grande impacto no jogo
Dá até para implementar uma espécie rudimentar de visão através de paredes usando sons que precisam ser precisos o suficiente para uma pessoa identificar a posição do inimigo
Como essa é a natureza dos jogos FPS, as empresas acabam colocando anti-cheat em nível de kernel nesses jogos. Para criar um FPS em que cheats sejam impossíveis, seria preciso criar outro tipo de jogo em que cheats sejam, por formato, mais difíceis ou impossíveis
Se você quer um FPS sem cheaters, é preciso voltar a incentivar matchmaking próprio, hospedagem de servidor própria e administração própria. Mas aí surge o problema de que “não escala”. Revisão humana não escala, renderização do lado do servidor também não escala
O principal motivo pelo qual empresas de jogos usam anti-cheat em nível de kernel é que jogadores pagam por jogos que o têm, mas não pagam por jogos que não o têm
Acho a Microsoft uma das piores empresas, mas neste caso acho difícil culpar a Microsoft ou os desenvolvedores de anti-cheat em nível de kernel. Os desenvolvedores estão fazendo o que os jogadores quiseram, e a Microsoft apenas permite aquilo que os usuários finais querem permitir
Se a Microsoft eliminasse anti-cheat em nível de kernel, provavelmente não mataria o conceito de anti-cheat intrusivo, e sim o substituiria por código em espaço de usuário com suporte a atestação de hardware. A Microsoft está apenas redesenhando as ferramentas para evitar sua própria responsabilidade
Fundamentalmente, o anti-cheat em nível de kernel empurrou os cheats para os domínios de DMA e visão computacional. Portanto, cheats mais explícitos e irritantes, que nem mesmo anti-cheat em nível de kernel detecta, podem em breve se tornar mais comuns
A próxima opção talvez sejam jogos exclusivos de consoles com hardware certificado e atestação de hardware. Mesmo isso tem falhas
No fim, talvez se torne impossível jogar em servidores públicos sem cheats. Não sei se isso afastará as pessoas desse tipo de jogo ou as empurrará para lobbies privados
Duvido que eu seja o único a pensar assim
Não gosto nem um pouco de dar a um jogo um nível de acesso ao kernel que ele toma sem permissão
Mas trapaças são uma ameaça existencial para manter uma boa experiência de jogo online, e não conheço muito bem outra solução
O que foi especialmente frustrante por anos foram os casos em que jogos totalmente sem relação com o que eu estava jogando causavam problemas por causa do mau hábito de alguns desenvolvedores de manter o anti-cheat rodando, ou em estado ocioso, mesmo quando o jogo não estava sendo jogado
Como alguém que joga muitos títulos competitivos, meu meio-termo foi manter um notebook separado só para jogos e, nele, nem sequer faço login em conta de e-mail. Deixo apenas Steam, jogos e alguns softwares de vídeo necessários
Não é ideal, mas acho que pelo menos deveria haver divulgação. É estranho que isso já não fosse o padrão. Por outro lado, é complicado, porque divulgar demais também pode ser explorado por trapaceiros
Anti-cheat é apenas uma corrida armamentista, e há outras abordagens. Por exemplo, algo como um KYC fraco que exige número de telefone no modo ranqueado
Deadlock parece estar fazendo algo interessante com seu sistema de acesso antecipado apenas por convite. Na prática, está criando um grafo social dos jogadores, e isso poderia ser usado para identificar “organizações de trapaça” ou contas comprometidas, ou para criar um sistema de reputação social dentro da comunidade
Como eu disse em outra thread, talvez seja porque estou ficando velho, mas nunca me importei nem um pouco se outro jogador estava usando cheat
Antigamente era bem comum encontrar pessoas usando coisas como aimbot ou wallhack
Se isso realmente estragasse a diversão, bastava trocar de servidor ou entrar em outro lobby
Só anti-cheat em nível de kernel não é suficiente
É preciso confiar na entrada do cliente, mas não há comprovação de origem, e o kernel não consegue ver a entrada
Estou lançando agora um jogo com matchmaking para 100 pessoas. O cliente roda ticks a 360 Hz, e o servidor a 120 Hz. É justo até 60 de ping e cobre um continente inteiro
O servidor não é uma máquina virtual, é um servidor físico, com EPYC 4244P, saída de 2 Gbps, um servidor por partida de 15 minutos. Uso
mitigations=offenosmtem todos os clientes e servidoresGosto da Steam, mas não vou lançar esse jogo lá
Para jogar, será preciso reiniciar. É uma ISO modificada do Arch Linux que inicializa direto de um drive USB para o jogo
Eu controlo não só o kernel, mas o sistema operacional e todos os programas em execução. Sem Cortana, sem Discord, sem Spotify, só o jogo. Enquanto você joga, o PC vira uma máquina de arcade
Ainda assim, não é suficiente
Para jogar ranqueado, será preciso instalar uma câmera de mão sobre o ombro esquerdo. Ela precisa mostrar a direção da cabeça, as duas mãos, todo o mousepad e a tela. Também será necessário usar velocidade fixa do mouse, tamanho de mousepad e tamanho de monitor definidos
Como todos jogam com as mesmas configurações e composição, a análise da entrada de qualquer jogador parecerá familiar
Anti-cheat de kernel não basta; é necessário um ambiente completo de sistema operacional reprodutível, incluindo executáveis e conexões de rede
E isso também não basta. A comprovação da origem da entrada do usuário precisa estar ligada diretamente ao sistema de replay do jogo, para que eu, ou qualquer pessoa, possa revisar os confrontos do ponto de vista de todas as partes envolvidas
Naturalmente, tudo deve ser opcional. Nem todo mundo quer jogar ranqueado, e um anti-cheat de sistema operacional completo, mesmo sem comprovação de origem da entrada, já ajudaria em certa medida
Você já se perguntou se morreu para um trapaceiro ou para um deus? Não quer nunca mais ter essa dúvida? Eu quero, e em breve isso será possível
Mas, sinceramente, impedir trapaceiros é impossível. As únicas formas são jogar com amigos ou mudar as recompensas do jogo para tornar a trapaça menos atraente
Por exemplo, Counter-Strike inevitavelmente terá muitos trapaceiros porque é possível ganhar e vender skins. Como o jogo é muito popular, também há muitos jogadores que compram cheats
O design do jogo e o design do motor também podem ajudar a prevenir trapaças
Não dá para resolver a corrupção; é preciso mudar o jogo ou os jogadores
A comunidade de Counter-Strike é bastante tóxica, mas é extremamente lucrativa para a Valve, então acho que a Valve não se importa quando os jogadores se comportam mal
CS é um bom jogo, mas a natureza humana é essa. É difícil encontrar pessoas recomendáveis entre quem joga CS, e a maioria dos gamers acha horrível demais interagir com aquela comunidade e vai jogar outra coisa
Eu até gostaria de experimentar o jogo, mas meu problema é com pessoas tentando assumir o controle do meu computador. Não vou resolver esse problema deixando você assumir o controle do meu computador
Falando em requisitos de sistema, será que roda em um notebook velho e acabado?
Em teoria também há trapaceiros por lá, mas nos meus jogos de PS5 não são numerosos o bastante para afetar a experiência do usuário
O plano maluco do jogo em si é impressionante. Só vai ser difícil receber marketing de streamers da Twitch
Criei uma máquina Arch Linux separada só para jogos da Steam
Nessa máquina, nunca vou fazer login em contas sensíveis, como e-mail, banco etc.
É um notebook Framework, então posso desconectar fisicamente a câmera e o microfone. Na prática, trato como um terminal público
Se for assim, tudo que você instala no PC passa a ser suspeito. Instalar
sshme parece muito mais assustador do que um jogo aleatório da SteamTalvez faça sentido se você não jogar nenhum multiplayer online
Dá para colocar uma GPU dedicada?
Seria bom se existisse uma tag. Também já existe a tag “Conta de terceiros necessária”, então seria bom poder filtrar esses jogos para nem aparecerem
Além disso, ela tem muitos outros recursos úteis
[0]: https://github.com/IsThereAnyDeal/AugmentedSteam
Nunca vi um jogo pedir permissões de root, e imagino que esse tipo de permissão seria necessário para instalar algo em nível de kernel
Também não há nenhum binário do Steam com
setuidou capabilities configuradasFico curioso para saber se alguém já viu um jogo pedir permissões de root
Considerando este post[1] e o fato de que pacotes relacionados ao Wine não têm módulos de kernel, e que os executáveis desses pacotes também não têm
setuidnem capabilities, isso parece ser um problema do Windows, não do Linux[1] https://www.reddit.com/r/linux_gaming/comments/gjzkzk/will_w...
O motivo de isso ter relação com jogos no Linux é que, mesmo que o Wine/Proton execute bem a parte em espaço de usuário, esses jogos não funcionam no Linux por causa disso
Você roda uma versão leve, executada com permissões de usuário comum, que tenta oferecer um nível mínimo de proteção, como verificação dos arquivos do jogo ou detecção de coisas obviamente anormais
Naturalmente, ela não tem permissão para ver tudo que está rodando no sistema nem para instalar módulos de kernel
Por isso, trapaceiros talvez consigam contornar isso mais facilmente no Linux; então anti-cheats como o EAC deixam o suporte a Linux como uma opção ativável, e alguns desenvolvedores não a habilitam
Faz sentido, considerando que a Valve vem dizendo há tempos que anti-cheat em nível de kernel não é necessário e não colocou isso nos próprios jogos
Mas, sinceramente, no CS muitas vezes você fica se perguntando se o adversário está num bom dia ou hackeando; no Valorant isso não acontece, e há um motivo para isso
Quanto mais cedo os desenvolvedores perceberem que precisam fazer o lado do servidor direito, melhor
Macros, bots de mira, rastreamento de tempo de recarga, hex automático e coisas assim
Não dá para bloquear tudo pelo lado do servidor