1 puntos por GN⁺ 2024-10-31 | 1 comentarios | Compartir por WhatsApp
  • Valve exige a los desarrolladores de Steam indicar claramente en la página de la tienda si un juego usa anti-cheat a nivel kernel, lo que facilita revisar la información de seguridad y compatibilidad antes de comprar
  • El alcance no se limita a los nuevos lanzamientos: también incluye a juegos que ya están registrados en Steam, y se reflejará en el nuevo proceso de lanzamiento
  • La obligación de divulgación se limita al anti-cheat a nivel kernel, pero Valve considera que también es conveniente informar a los jugadores sobre anti-cheat del lado del cliente y del lado del servidor
  • Valve verificará tanto la existencia como la exactitud del aviso en la tienda, y también podría abordar el problema de elementos residuales tras la desinstalación en algunos juegos antiguos
  • Los usuarios de Steam Deck y de Linux de escritorio tendrán más posibilidades de filtrar antes de comprar los juegos cuyos desarrolladores bloquean la ejecución con Proton

Cambios en la indicación de anti-cheat en la tienda de Steam

  • Valve exige que se indique claramente en la página de la tienda si un juego usa anti-cheat a nivel kernel
  • Según la publicación de Steamworks Developer, la empresa está buscando formas para que los desarrolladores compartan con los jugadores información sobre anti-cheat, mientras que los jugadores desde hace tiempo vienen pidiendo mayor transparencia sobre los servicios de anti-cheat usados por los juegos y el software adicional que se instala

Alcance de la medida, incluyendo juegos ya existentes

  • Este requisito no se aplica solo a juegos nuevos por lanzarse
    • Los juegos ya registrados en Steam también deberán agregar esta información
    • También se incluirá en el nuevo proceso de lanzamiento
  • Valve llevará a cabo una revisión para confirmar que exista el aviso en la página del juego y que su contenido sea correcto

Diferencia entre divulgación obligatoria y opcional

  • Lo que debe revelarse obligatoriamente es el anti-cheat a nivel kernel
  • Si solo se usa anti-cheat del lado del cliente o del lado del servidor, la divulgación es opcional
  • Valve considera útil que todos los juegos que usan tecnología anti-cheat se lo informen a los jugadores

También podría mostrarse información sobre desinstalación

  • Algunos juegos no eliminan correctamente los componentes instalados al desinstalarse
  • Valve menciona que esto ocurre en juegos antiguos
  • La indicación en la tienda también podría incluir información relacionada con la eliminación

Impacto para usuarios de Linux y Steam Deck

  • Los usuarios de Steam Deck y de Linux de escritorio podrán decidir con más facilidad qué juegos conviene evitar
  • Los juegos con anti-cheat a nivel kernel normalmente son bloqueados por sus desarrolladores para ejecutarse con Proton

Cambios recientes relacionados con Steam

1 comentarios

 
GN⁺ 2024-10-31
Opiniones de Hacker News
  • La semana pasada reinstalé GTA V y me sorprendió bastante descubrir que ahora, para ejecutarlo, tengo que instalar un rootkit.
    No tiene sentido que a un juego que compré hace 10 años, y que además solo quiero jugar en modo de un jugador, le hayan agregado una extensión de kernel obligatoria.
    Como de costumbre, parece que la versión pirata habría ofrecido una mejor experiencia.

    • Si agregas -nobattleye en las opciones de lanzamiento de Steam, puedes jugar en modo de un jugador sin instalar nada adicional.
      Rockstar debería haberlo puesto como una opción de lanzamiento separada, como hacen otros juegos.
    • Dejé los juegos de Rockstar para PC desde que la página de Max Payne 3 en la tienda de Steam decía que la cuenta de Rockstar Club solo era necesaria para multijugador, pero en la práctica también la imponía para el modo de un jugador.
      Compré GTA V en PlayStation, y ahí sí se podía jugar en modo de un jugador sin cuenta de Rockstar. Supongo que Sony los obligó a hacerlo así; no creo que Rockstar lo haya hecho por buena voluntad.
      Eso sí, cada vez que abría el juego aparecía una pantalla para llevarme al multijugador, y una vez que presioné una opción relacionada con el multijugador, durante semanas siguieron metiéndome notificaciones del sistema de PlayStation sobre eventos de GTA Online aunque no ejecutara el juego.
      Así que adiós, Rockstar. Sus juegos ya se volvieron tan grandes que dan la sensación de que ni ellos mismos pueden manejarlos.
    • No deberíamos normalizar la idea de que una empresa pueda cambiar retroactivamente las condiciones de un producto ya comprado.
      “Todas estas empresas parecen estar dirigidas por CEOs que hicieron su MBA en la Darth Vader University, donde la primera clase es: ‘He alterado los términos del trato. Reza para que no los altere más’”.
      https://pluralistic.net/2023/12/08/playstationed
    • Una copia pirata no debería sentirse como la versión premium del producto.
    • Las grandes distribuidoras de juegos tarde o temprano te van a plantar en la cara un “podemos imponer las restricciones que queramos cuando queramos; si no te gusta, demándanos”.
      Es lamentable, pero sí, la piratería ofrece una mejor experiencia; aunque creo que por lo general eso no aplica a los juegos indie.
      Al menos mientras sigan siendo indie. Hace poco reinstalé Minecraft después de mucho tiempo y descubrí que Microsoft exige verificar un número de teléfono para jugar un juego que compré hace más de 10 años.
      Como con el rootkit de GTA V, no les importa si solo quieres jugar en modo de un jugador. Si el launcher te bloquea, se acabó, y no hay nadie que te ayude.
  • Viendo cómo siguen avanzando la visión por computadora y la inteligencia artificial, creo que pronto aparecerán periféricos para hacer trampa que funcionen completamente como dispositivos externos y sean difíciles de detectar.
    Sería algo como capturar video directamente desde la salida de pantalla e imitar un dispositivo de entrada USB para enviar los inputs.
    No podrían ofrecer todas las funciones de un cheat que se engancha al proceso del juego, como ver a través de paredes, pero con ese enfoque sí se puede crear un aimbot sobrehumano.
    Ya existen cheats externos tipo “radar” que usan el sonido estéreo del juego para indicar desde qué dirección vienen ciertos sonidos, como pasos.

    • Eso ya existe. Puedes streamear la pantalla a otra máquina para ejecutar reconocimiento de imágenes, y enviar la entrada del mouse mediante un controlador que inyecte entradas auxiliares.
      Hay productos comerciales como kmbox, y también puedes fabricarlo tú mismo.
      Lo importante, sin embargo, es que la proporción de tramposos en juegos que son lo bastante persistentes como para comprar hardware es ínfima. Es mucho más caro y engorroso que hacer doble clic en un ejecutable para obtener satisfacción inmediata.
      Por eso, si para evitar que te suspendan la cuenta hay que llegar a ese nivel de esfuerzo, en la práctica ya se considera un éxito.
    • Esto ya se puede hacer directamente con OpenCV. La detección de imágenes es muy buena y rápida desde hace mucho tiempo.
      La mayoría de los jugadores juega honestamente por diversión, así que simplemente no se le da tanta importancia.
    • Las soluciones basadas en tecnología terminan fallando en algún punto cuando intentan resolver problemas humanos. Probablemente porque quienes crean el problema también pueden usar tecnología.
    • Si ya existen cheats externos tipo “radar” que indican la dirección de sonidos como pasos usando el sonido estéreo del juego, entonces me pregunto si mis audífonos también son un dispositivo para hacer trampa.
      Hablando en serio, he oído que esos dispositivos ya existen.
    • Sería bastante interesante convertirlo en un campo de competencias de bots de inteligencia artificial que solo usen entrada de video y audio, y salida de mouse y teclado.
  • Después del primer paso, habría que prohibir los juegos que incluyan anticheat a nivel de kernel
    En Linux no es aceptable, y Apple tampoco seguirá permitiendo ese tipo de cosas en el futuro. Aunque Apple perdió influencia en juegos después de Mantle y los procesadores M, y ambos generaron grandes problemas de compatibilidad
    Microsoft también se está arrepintiendo de todas sus decisiones relacionadas con esto
    https://www.theverge.com/2024/9/12/24242947/microsoft-window...
    Como siempre, cuando Microsoft toma malas decisiones, todos sufren. Incluso Linux. Hay una razón por la que los módulos de kernel de código cerrado marcan a Linux como tainted, y ese sistema no es confiable
    Hacer que un juego sea seguro es responsabilidad de los desarrolladores del juego, no manipular el dispositivo del usuario. Que no puedan lograr su objetivo de forma segura no es motivo para obligar a hacer algo tonto y peligroso

    • Esa es una postura demasiado ingenua. El anticheat a nivel de kernel también representa un riesgo real para las empresas. Si algo sale mal, no solo se muere el proceso del juego: puede hacer que crashee toda la PC del jugador, y si ocurre a gran escala se convierte en una pesadilla de relaciones públicas
      Para empezar, contratar ingenieros capaces de crear componentes de kernel también cuesta mucho. Es un área especializada y reducida, y no se consigue barato
      Las compañías de juegos no usan anticheat a nivel de kernel por flojera, sino por una necesidad absoluta, sobre todo en juegos como los FPS, donde los enfoques puramente del lado del servidor no pueden bloquearlo todo por completo
      También se ha intentado con aprendizaje automático, pero tiene muchos falsos positivos y deja pasar muchos cheats sutiles que dañan la experiencia del jugador. Los anticheat antiguos solo estaban en modo usuario, y entonces los cheats se trasladaron al kernel, lo que los volvió difíciles de detectar y bloquear
      Para mantener su eficacia, el anticheat no tuvo más opción que seguirlos. La alternativa era cederles el espacio a los tramposos y ver cómo un juego desarrollado y operado con enormes recursos se convertía en un infierno de cheats del que se van los jugadores legítimos
    • Es gracioso creer que a los publishers les importen esas ideas
      Estoy de acuerdo en que todos estaríamos mejor sin estas cosas, pero sorprende ese sentido de entitlement de creer que una empresa privada debe operar según los deseos de cada individuo y que los desarrolladores tienen la “obligación” de crear solo de la manera que uno quiere
    • Las compañías de juegos no eligen el anticheat a nivel de kernel porque sean tontas y no sepan proteger correctamente el protocolo de red del lado del servidor
      Lo hacen porque no quieren poner a personas a decidir en masa, de forma poco confiable, “si esa persona está haciendo trampa o no”
      El anticheat a nivel de kernel tiene fallas fundamentales. Como resultado, están aumentando los cheats por DMA y los basados en visión por computadora, que aún les dan a los tramposos una ventaja grande y más difícil de detectar
      Aun así, es eficaz para bloquear cheats evidentes y la mayoría de los sutiles
      Detectar cheats después de que el servidor recibe las entradas es muy difícil de hacer de forma confiable. Los principiantes hacen entradas lentas y tardías; los jugadores expertos reaccionan varias veces más rápido, incluso en órdenes de magnitud de una cifra, y a veces reaccionan más rápido de lo esperado por memoria muscular
      Para crear un cheat indetectable, basta con poner en el código límites de tiempo de reacción de nivel humano y hacer que todas las entradas parezcan realistas
      Al final, con métodos estadísticos en el servidor se pueden crear cheats que otorgan una gran ventaja sin ser realmente detectados
      Aquí dan ganas de usar inteligencia artificial, pero sin duda requeriría supervisión humana; de lo contrario habría falsos positivos
      Incluso si se diseñara un juego de forma extrema alrededor de renderizado del lado del servidor y procesamiento de entradas del lado del servidor, de modo que el jugador básicamente jugara mediante una conexión de escritorio remoto, dejando de lado por un momento el problema de la latencia, cheats como autoapuntar a la cabeza, compensación de retroceso y disparo automático seguirían teniendo un gran impacto en el juego
      Incluso se podría implementar una especie de wallhack rudimentario usando sonidos que deben ser lo bastante precisos como para que una persona pueda ubicar a los enemigos
      Como esta es la naturaleza de los juegos FPS, las compañías terminan metiendo anticheat a nivel de kernel en este tipo de juegos. Para hacer un FPS en el que hacer trampa sea imposible, habría que hacer otro tipo de juego donde, por su formato, hacer trampa sea más difícil o imposible
      Si quieres un FPS sin tramposos, habría que volver a fomentar el matchmaking directo, el hosting propio de servidores y la administración propia. Pero aparece el problema de que “no escala”. Ni las revisiones humanas ni el renderizado del lado del servidor escalan
      La razón central por la que las compañías de juegos usan anticheat a nivel de kernel es que los jugadores pagan por juegos que lo incluyen, pero no por juegos que no lo tienen
      Creo que Microsoft es una de las peores compañías, pero en este caso me cuesta culpar a Microsoft o a los desarrolladores de anticheat a nivel de kernel. Los desarrolladores están haciendo lo que los jugadores pidieron, y Microsoft simplemente permite lo que los usuarios finales quieren permitir
      Si Microsoft elimina el anticheat a nivel de kernel, probablemente no mate el concepto de anticheat intrusivo, sino que lo reemplace por código en espacio de usuario con soporte de atestación de hardware. Microsoft solo está rediseñando las herramientas para evitar su propia responsabilidad
      En el fondo, el anticheat a nivel de kernel empujó los cheats hacia el ámbito de DMA y la visión por computadora. Por lo tanto, pronto podrían volverse más comunes cheats más evidentes y molestos que ni siquiera el anticheat a nivel de kernel puede detectar
      La siguiente opción quizá sean juegos exclusivos de consola, con hardware certificado y atestación de hardware. Incluso eso tiene fallas
      Al final, quizá se vuelva imposible jugar sin cheats en servidores públicos. No sé si eso alejará a la gente de este tipo de juegos o la empujará a lobbies privados
    • Me pregunto qué será más valioso: una instalación promedio de un juego multijugador free-to-play, o el permiso para acceder a todo lo que se hace en esa PC
      Seguro no soy el único que lo pensó
  • No me gusta para nada darle a un juego acceso a nivel de kernel hasta el punto de que pueda tomar cosas sin permiso
    Dicho eso, las trampas son una amenaza existencial para mantener una buena experiencia de juego en línea, y no conozco bien otra solución
    Lo que me frustró especialmente durante años fue que, por la mala costumbre de algunos desarrolladores de dejar el anticheat ejecutándose o inactivo incluso cuando no estás jugando, a veces causaba problemas en otros juegos que no tenían nada que ver con el que estaba jugando
    Como juego muchos títulos competitivos, mi compromiso fue tener una laptop separada solo para juegos, y ahí ni siquiera inicio sesión en mi cuenta de correo. Solo tengo Steam, los juegos y el software de video necesario
    No es ideal, pero al menos creo que debería divulgarse. Me parece raro que esto no fuera ya el estándar. Aunque si se divulga demasiado, los tramposos podrían aprovecharlo, así que es complicado

    • Las trampas se derivan de un problema de confianza en una “comunidad” global anónima
      El anticheat no es más que una carrera armamentista, y hay otros enfoques. Por ejemplo, una especie de KYC ligero que pida un número de teléfono para el modo ranked
      Deadlock parece estar haciendo algo interesante con su sistema de acceso anticipado solo por invitación. En la práctica está construyendo el grafo social de los jugadores, y podría usarlo para identificar “organizaciones de tramposos” o cuentas robadas, o para crear un sistema de reputación social dentro de la comunidad
    • Un anticheat de inteligencia artificial basado en comportamiento que se ejecute del lado del servidor podría ser la solución
    • No termino de entender eso de que las trampas en línea sean una amenaza existencial para una buena experiencia de juego
      Como dije en otro hilo, quizá sea porque ya estoy más grande, pero nunca me ha importado si otro jugador usa cheats
      Antes era bastante común encontrarse con gente usando aimbots o wallhacks
      Si de verdad arruinaba la diversión, bastaba con cambiar de servidor o entrar a otro lobby
  • El anticheat a nivel de kernel por sí solo no alcanza
    Hay que confiar en la entrada del cliente, pero no hay prueba de procedencia, y el kernel no puede ver la entrada
    Ahora estoy lanzando un juego con matchmaking de 100 personas. El cliente hace ticks a 360 Hz y el servidor a 120 Hz. Es justo hasta 60 de ping y cubre todo un continente
    El servidor no es una máquina virtual sino un servidor físico, con un EPYC 4244P, 2 Gbps de salida y 1 servidor por partida de 15 minutos. Uso mitigations=off y nosmt en todos los clientes y servidores
    Me gusta Steam, pero no voy a publicar este juego ahí
    Para jugar hay que reiniciar. Es una ISO modificada de Arch Linux que arranca directamente en el juego desde una unidad USB
    No solo controlo el kernel, sino también el sistema operativo y todos los programas en ejecución. No hay Cortana, ni Discord, ni Spotify; solo el juego. Mientras juegas, la PC se convierte en una máquina arcade
    Aun así no alcanza
    Para jugar ranked, tienes que instalar una handcam sobre el hombro izquierdo. Deben verse la dirección de la cabeza, ambas manos, todo el mousepad y la pantalla. También debes usar una velocidad de mouse fija, un tamaño de mousepad y un tamaño de monitor
    Como todos juegan con la misma configuración y ajustes, revisar la entrada de cualquier jugador debería resultar familiar
    Un anticheat de kernel no alcanza; hace falta un entorno completo de sistema operativo reproducible, incluidos el ejecutable y las conexiones de red
    Y eso tampoco alcanza. La prueba de procedencia de la entrada del usuario debe conectarse directamente al sistema de repeticiones del juego, para que yo o cualquiera pueda revisar los enfrentamientos desde la perspectiva de todas las partes
    Por supuesto, todo debería ser opcional. No todos quieren jugar ranked, y un anticheat a nivel de sistema operativo completo por sí solo ya ayudaría algo, incluso sin prueba de procedencia de la entrada
    ¿Alguna vez te preguntaste si te mató un tramposo o un dios? ¿No quieres volver a tener esa duda nunca más? Yo sí, y pronto será así

    • Valve ahora está atrapando tramposos con aprendizaje automático que analiza demos. Atrapa a bastantes, y dicen que es más confiable que los reportes de jugadores
      Pero, siendo honestos, impedir las trampas es imposible. La única forma es jugar con amigos, o cambiar las recompensas del juego para que hacer trampa resulte menos atractivo
      Por ejemplo, Counter-Strike permite ganar y vender skins, así que inevitablemente habrá muchos tramposos. Como el juego es tan popular, también hay muchos jugadores que compran cheats
      El diseño del juego y del motor también puede ayudar a prevenir trampas
      No se puede resolver la corrupción; hay que cambiar el juego o a los jugadores
      La comunidad de Counter-Strike es bastante tóxica, pero para Valve es muy rentable, así que creo que a Valve no le importa si los jugadores se comportan mal
      CS es un buen juego, pero así es la naturaleza humana. Es difícil encontrar gente que juegue CS y que uno recomendaría, y la mayoría de los gamers hacen otra cosa porque interactuar con esa comunidad es demasiado horrible
    • Es una prueba enorme de hasta dónde puede llevar a alguien el resentimiento
      Me gustaría probar el juego, pero mi problema es la gente que quiere tomar control de mi computadora. No voy a resolver ese problema dejándote tomar control de mi computadora
      Hablando de requisitos del sistema, ¿podrá correr en una laptop vieja y hecha polvo?
    • Creo que es sátira. No creo que nadie vaya a jugar de verdad un juego con esos requisitos
    • Antes que hacer todo eso, mejor jugar en consola
      En teoría también podría haber tramposos ahí, pero en mis juegos de PS5 no hay tantos como para afectar la experiencia de usuario
      El plan de juego delirante en sí es impresionante. Aunque le va a costar conseguir marketing con streamers de Twitch
    • Tiene la vibra de la época de DOS: “inserta el disco 1 del juego y reinicia para jugar”
  • Armé una máquina con Arch Linux separada solo para juegos de Steam
    En esa máquina nunca voy a iniciar sesión en cuentas sensibles como correo o banco
    Es una laptop Framework, así que puedo desconectar físicamente la cámara y el micrófono. En la práctica la trato como una terminal pública

    • Me pregunto si de verdad esperas que un juego de Steam tenga algo como un rootkit que robe credenciales
      Si es así, todo lo que instalas en una PC se vuelve sospechoso. Instalar ssh me parecería mucho más aterrador que un juego aleatorio de Steam
    • El hardware dedicado es una buena idea, pero para mucha gente es demasiado caro. Un sistema operativo dedicado es un buen primer paso
    • Si vas tan lejos, no sé si haya razón para usar Arch en esa máquina
      Si no juegas juegos multijugador en línea, quizá sí encaje bien
    • Yo igual. Tengo una máquina dedicada para juegos para no exponer mi información bancaria
    • He oído que las laptops Framework son buenas en modularidad, pero me pregunto cómo andan de temperatura
      ¿Se les puede poner una GPU dedicada?
  • Estaría bueno que existiera una etiqueta. Como también existe la etiqueta “requiere cuenta de terceros”, estaría bueno poder filtrar esos juegos para que directamente no aparezcan.

    • Uso la extensión Augmented Steam[0], y si un juego tiene trampas como DRM, anticheat o requisito de cuenta de terceros, muestra un banner más visible.
      Además tiene muchas otras funciones útiles.
      [0]: https://github.com/IsThereAnyDeal/AugmentedSteam
    • Las etiquetas son crowdsourcing. Ya le habían puesto la etiqueta “DRM siempre en línea” antes de que apareciera en la página de la tienda, pero como solo se muestran algunas de las etiquetas principales, no sirve de mucho.
  • Nunca vi que un juego pidiera permisos de root, y supongo que para instalar algo a nivel de kernel harían falta esos permisos.
    Entre los binarios de Steam tampoco hay ninguno con setuid ni capabilities configuradas.
    Me pregunto si alguien vio algún juego que pidiera permisos de root.
    Por este post[1] y por el hecho de que los paquetes relacionados con Wine no tienen módulos de kernel, y que los ejecutables de esos paquetes tampoco tienen setuid ni capabilities, esto parece ser un problema de Windows, no de Linux.
    [1] https://www.reddit.com/r/linux_gaming/comments/gjzkzk/will_w...

    • Los anticheat a nivel de kernel casi siempre están escritos para Windows.
      La razón por la que esto tiene que ver con gaming en Linux es que, aunque Wine/Proton ejecute bien la parte de espacio de usuario, esos juegos no funcionan en Linux.
    • Tengo entendido que, al jugar juegos con EAC en Linux mediante Proton, no se ejecuta el mismo EAC que usan los jugadores de Windows.
      Se ejecuta una versión ligera con permisos de usuario normal, que intenta ofrecer una protección mínima, como verificar archivos del juego o detectar cosas obviamente raras.
      Obviamente no tiene permisos para ver todo lo que se está ejecutando en el sistema ni para instalar módulos de kernel.
      Por eso los tramposos quizá puedan esquivarlo más fácilmente en Linux, así que anticheats como EAC dejan el soporte para Linux como un interruptor opcional, y algunos desarrolladores no lo activan.
    • Todo aparece como “quiere hacer cambios en el dispositivo”. Yo también instalé EAC por error de esa forma.
    • En Linux no. En Windows es distinto, y escuché que especialmente si querés jugar títulos competitivos.
  • Se entiende si consideramos que Valve viene diciendo que los anticheat a nivel de kernel no son necesarios y no los incluyó en sus propios juegos.
    Pero, sinceramente, en CS muchas veces uno termina dudando si el rival simplemente está teniendo un buen día o si está usando hacks, y hay una razón por la que en Valorant eso no pasa.

    • También se oyen bastantes quejas y especulaciones de que Valve está desarrollando un anticheat sin nivel de kernel.
  • Cuanto antes se den cuenta los desarrolladores de que tienen que hacer bien el lado del servidor, mejor.

    • Es imposible impedir las trampas solo del lado del servidor. Cosas como los bots de apuntado pueden funcionar únicamente con la información que el cliente necesariamente debe tener para renderizar a otros jugadores en pantalla, y al reaccionar más rápido que un humano dan una gran ventaja.
    • Creo que la mayoría de las empresas sí hacen bien el lado del servidor. El problema es que hay muchos hacks que hacen que el cliente juegue absurdamente bien.
      Macros, bots de apuntado, seguimiento de tiempos de reutilización, hex automático y cosas por el estilo.
    • El modelo actual de gaming en PC, donde el código se ejecuta en una máquina bajo control del usuario, choca de forma fundamental con resolver el problema de las trampas.
      No se puede bloquear todo del lado del servidor.