Los juegos de Steam deberán revelar el anti-cheat a nivel kernel en la tienda
(gamingonlinux.com)- 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
- Valve ha realizado recientemente varios cambios en Steam
- medidas contra el spam de banners de publishers
- mejoras para juegos nativos de Linux
- indicación clara de que al comprar un juego se obtiene una licencia, no la propiedad
- reflejo de la eliminación de la necesidad de arbitraje individual en disputas
1 comentarios
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.
-nobattleyeen 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.
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.
“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
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.
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.
La mayoría de los jugadores juega honestamente por diversión, así que simplemente no se le da tanta importancia.
Hablando en serio, he oído que esos dispositivos ya existen.
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
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
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
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
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
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
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=offynosmten todos los clientes y servidoresMe 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í
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
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?
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
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
Si es así, todo lo que instalas en una PC se vuelve sospechoso. Instalar
sshme parecería mucho más aterrador que un juego aleatorio de SteamSi no juegas juegos multijugador en línea, quizá sí encaje bien
¿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.
Además tiene muchas otras funciones útiles.
[0]: https://github.com/IsThereAnyDeal/AugmentedSteam
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
setuidni 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
setuidni capabilities, esto parece ser un problema de Windows, no de Linux.[1] https://www.reddit.com/r/linux_gaming/comments/gjzkzk/will_w...
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.
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.
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.
Cuanto antes se den cuenta los desarrolladores de que tienen que hacer bien el lado del servidor, mejor.
Macros, bots de apuntado, seguimiento de tiempos de reutilización, hex automático y cosas por el estilo.
No se puede bloquear todo del lado del servidor.