1 pontos por GN⁺ 2024-10-31 | 1 comentários | Compartilhar no WhatsApp
  • 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

1 comentários

 
GN⁺ 2024-10-31
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

    • Se você colocar -nobattleye nas opções de inicialização da Steam, dá para jogar single-player sem instalar nada extra
      A Rockstar deveria ter feito isso como uma opção de inicialização separada, como outros jogos fazem
    • Parei de jogar games da Rockstar no PC desde a época em que a página de Max Payne 3 na loja da Steam dizia que a conta do Rockstar Club só era necessária para multiplayer, mas na prática a impunha também no single-player
      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
    • Não devemos normalizar a ideia de que empresas podem mudar depois as condições de um produto que já foi comprado
      “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
    • A versão pirata não deveria parecer a versão premium do produto
    • As grandes publishers de jogos um dia vão acabar esfregando na nossa cara: “podemos impor qualquer restrição que quisermos, quando quisermos; se não gostou, processe”
      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

    • Isso já existe. Dá para transmitir a tela para outra máquina, rodar reconhecimento de imagem nela e enviar a entrada do mouse por meio de um controle que injeta entrada auxiliar
      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
    • Esse tipo de coisa já dá para fazer direto com OpenCV hoje. A detecção de imagem é muito boa e rápida há bastante tempo
      A maioria dos jogadores joga honestamente por diversão, então simplesmente não se preocupa muito com isso
    • Soluções baseadas em tecnologia acabam falhando em algum ponto ao tentar resolver problemas humanos. Provavelmente porque quem cria o problema também pode usar tecnologia
    • Se já existem cheats externos de “radar” que usam o som estéreo do jogo para indicar a direção de sons como passos, fico pensando se isso quer dizer que meus fones também são um dispositivo de cheat
      Falando sério, ouvi dizer que esses dispositivos já existem
    • Seria bem interessante transformar isso em uma área de competições de bots de inteligência artificial que usem apenas entrada de vídeo/áudio e saída de mouse/teclado
  • 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

    • Essa é uma visão ingênua demais. Anti-cheat em nível de kernel também representa um risco real para as empresas. Se algo der errado, não é só o processo do jogo que morre; o PC inteiro do jogador pode travar, e se isso acontecer em larga escala vira um pesadelo de RP
      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
    • É engraçado acreditar que publishers vão se importar com esse tipo de noção
      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
    • As empresas de jogos não escolhem anti-cheat em nível de kernel porque são burras e não conseguem proteger corretamente o protocolo de rede do lado do servidor
      É 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
    • Fico me perguntando o que vale mais: uma instalação mediana de um jogo multiplayer free-to-play ou a permissão para acessar tudo o que é feito naquele PC
      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

    • Trapaça deriva de um problema de confiança em uma “comunidade” global anônima
      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
    • Anti-cheat por inteligência artificial baseado em comportamento, rodando do lado do servidor, pode ser uma solução
    • Não entendo bem a afirmação de que trapaça online é uma ameaça existencial para uma boa experiência de jogo
      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
  • 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=off e nosmt em todos os clientes e servidores
    Gosto 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

    • A Valve agora está pegando trapaceiros com aprendizado de máquina que analisa demos. Pelo que dizem, pega bastante gente e é mais confiável que denúncias de jogadores
      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
    • É uma prova impressionante de até onde o rancor pode levar alguém
      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?
    • Acho que é sátira. Não acredito que alguém realmente jogaria um jogo com esses requisitos
    • Em vez de fazer tudo isso, é só jogar em um console
      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
    • Parece a época do DOS: “insira o disco 1 do jogo e reinicie para jogar”
  • 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

    • Fico curioso se você realmente espera que um jogo da Steam tenha algo como um rootkit para roubar credenciais
      Se for assim, tudo que você instala no PC passa a ser suspeito. Instalar ssh me parece muito mais assustador do que um jogo aleatório da Steam
    • Hardware dedicado é uma boa ideia, mas é caro demais para muita gente. Um sistema operacional dedicado é um bom primeiro passo
    • Nesse nível, não sei se há motivo para usar Arch nessa máquina
      Talvez faça sentido se você não jogar nenhum multiplayer online
    • Eu também faço isso. Tenho uma máquina dedicada para jogos separada porque não quero expor minhas informações bancárias
    • Ouvi dizer que o notebook Framework é bom em termos de modularidade, mas fico curioso sobre a parte térmica
      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

    • Uso a extensão Augmented Steam[0], que mostra um banner mais destacado quando um jogo tem armadilhas como DRM, anti-cheat ou exigência de conta de terceiros
      Além disso, ela tem muitos outros recursos úteis
      [0]: https://github.com/IsThereAnyDeal/AugmentedSteam
    • As tags são crowdsourced. Mesmo antes de isso aparecer na página da loja, eu já tinha colocado a tag “DRM sempre online”, mas como só algumas das tags principais são exibidas, não faz muita diferença
  • 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 setuid ou capabilities configuradas
    Fico 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 setuid nem capabilities, isso parece ser um problema do Windows, não do Linux
    [1] https://www.reddit.com/r/linux_gaming/comments/gjzkzk/will_w...

    • Anti-cheats em nível de kernel quase sempre são escritos para Windows
      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
    • Pelo que entendo, ao jogar um jogo com EAC no Linux via Proton, você não roda o mesmo EAC dos jogadores no Windows
      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
    • Tudo aparece como “quer fazer alterações no seu dispositivo”. Foi assim que eu também instalei o EAC por engano
    • No Linux, não. No Windows é diferente, e ouvi dizer que isso é especialmente verdade para jogos competitivos
  • 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

    • Também ouvi bastante reclamação e especulação de que a Valve está desenvolvendo um anti-cheat sem nível de kernel
  • Quanto mais cedo os desenvolvedores perceberem que precisam fazer o lado do servidor direito, melhor

    • É impossível impedir cheats apenas pelo lado do servidor. Coisas como bots de mira podem funcionar usando apenas as informações que o cliente necessariamente precisa ter para renderizar outros jogadores na tela, e reagem mais rápido que um humano, dando uma grande vantagem
    • Acho que a maioria das empresas já faz o lado do servidor direito. O problema é que há muitos hacks que fazem o cliente jogar absurdamente bem
      Macros, bots de mira, rastreamento de tempo de recarga, hex automático e coisas assim
    • O modelo atual de jogos de PC, em que o código roda numa máquina sob controle do usuário, entra em conflito fundamental com a solução do problema de cheats
      Não dá para bloquear tudo pelo lado do servidor