Skip to content
Todos los artículos
This article is available in English
Publicado el6 min de lectura

Falsos positivos: por qué tu anticheat acusa a tus jugadores honestos

El viaje rápido leído como teletransporte, una diligencia como speedhack: los falsos positivos clásicos de RedM y cómo quitarlos sin apagar la detección.

falsos positivosRedMdetecciónoperaciones

También disponible enEnglishFrançaisРусскийRomână

Un anticheat casi nunca muere por no detectar nada. Muere el día en que tu staff deja de abrir el canal de alertas. Desde ese día la detección sigue corriendo, las alertas siguen acumulándose y nadie las lee ya, porque las seis últimas eran jugadores honestos. Después de eso, un tramposo de verdad pasa entre el ruido y nadie se entera. Esa es la forma más cara de los falsos positivos de un anticheat.

Lo que hace tu servidor cada día y se parece exactamente a una trampa

Ninguno de estos casos es teórico. Son las cinco causas principales de alertas absurdas en un servidor de rol de RedM, en el orden en que aparecen:

  • Viaje rápido. Tu script mueve a un jugador de Valentine a Saint Denis en un frame. Para un detector que divide una distancia entre un tiempo, eso es un teletransporte perfecto; mejor ejecutado, de hecho, que el de un mod menu.

  • Diligencias y trenes. Un jugador sentado en una carreta se mueve a la velocidad de la carreta. Según cómo esté enganchado, GetEntitySpeed puede devolver casi cero mientras sus coordenadas avanzan por el mapa. Un caballo al galope, solo, ya cae en el rango que habrías elegido como techo para un hombre a pie: el umbral ingenuo ya está mal antes de que el tren de Annesburg salga.

  • Caerse de un caballo. El jugador sale despedido, el personaje se vuelve ragdoll y durante unos frames atraviesa el decorado: la colisión aún no se ha cargado, coordenadas por debajo del suelo. Un detector de noclip que pregunta "¿está bajo la geometría?" lo acusa en cada desmontaje.

  • Tu framework reanimando a alguien. Tu framework activa una marca de invencibilidad durante el estado de derribado y la recogida, exactamente igual que haría un mod menu. Igual al aparecer, en cinemáticas, en zonas seguras. El godmode que más se detecta en un servidor de rol es el tuyo.

  • Tus propias herramientas de administración. Un moderador en noclip, un ped spawneado para un evento de rol, un teletransporte hasta un jugador: misma capacidad, mismo rastro, misma señal. Un anticheat que no sabe de dónde viene una llamada acusa primero a tu propio equipo.

Lo que tienen en común estos cinco: el detector lee un estado e infiere una intención. Ve "invencible" y escribe "godmode". Ve una distancia y escribe "teletransporte". Pero ese estado lo producen indistintamente un tramposo y tu servidor haciendo su trabajo. Mientras no tengas la causa, no tienes nada.

En la práctica un techo de velocidad utilizable no es un único número: depende del portador que el servidor reconoció (a pie, a caballo, en carreta, sobre raíles), y se eleva en durante la ventana que sigue a una reubicación por script. Los valores exactos se quedan en casa: un tramposo que los conoce se ajusta justo por debajo.

No publicado/Los umbrales de detección nunca se publican: un valor conocido es un valor por debajo del cual se ajusta un cheat.

Lo que cuesta de verdad un falso positivo

Suele contarse en tiempo de staff perdido. Esa es la parte barata. El coste real está en otro sitio: un jugador castigado por error cuenta la historia, y hace bien en contarla. Tu comunidad aprende que el anticheat se equivoca, y desde el siguiente baneo (el bueno, el respaldado por pruebas) tendrás que defender la herramienta antes de poder defender la decisión. Un anticheat que mintió una vez no demuestra nada después.

Primer despliegue, servidor de rol de RedM
semana 1
la inmensa mayoría de las alertas eran falsos positivos
causas
reubicación por script + montura/carreta
factor agravante
el mismo evento contado dos veces
sanciones automáticas
ninguna: se entregó en modo observación

Dos causas, y casi todas las alertas del panel. Ninguno de esos jugadores había hecho trampa y ninguno fue castigado, porque nada estaba conectado a una sanción. Es la única razón por la que el episodio se puede contar: costó tiempo de lectura y nada más.

La disciplina que los elimina

  1. 1

    Mide antes de acusar. La tasa de falsos positivos se cuenta por familia de detección y frente al tráfico (eventos por mil latidos de presencia), nunca como un número bruto de alertas en pantalla. Una familia que se dispara se ve de inmediato; un total global no dice nada.

  2. 2

    Corrobora, es decir, exige el efecto y no el estado. "Tiene la marca de invencibilidad" no prueba nada. "Le hemos disparado, los impactos están confirmados del lado del servidor y no ha perdido un solo punto de vida" prueba algo. La prueba debe tratar de una consecuencia observable, no del valor de una variable.

  3. 3

    Aprende los scripts propios del servidor. La lista de eventos legítimos de tu servidor no se puede adivinar: se deriva de tus recursos. Un anticheat que descubre al arrancar qué eventos dispara tu propio código deja de acusar a tu viaje rápido desde el primer día.

  4. 4

    Entrega en modo observación. Ninguna sanción automática hasta conocer la tasa de falsos positivos por familia. Los primeros días son para medir, no para castigar.

  5. 5

    Arregla la causa, nunca apagues la detección. Aquí es donde los dos oficios se separan.

Ese último punto merece una parada, porque es donde todo el mundo cede. ¿Una familia de detección hace ruido? Se apaga. Vuelve el silencio, el equipo respira y la puerta queda abierta para siempre: nadie vigila ya esa capacidad, tampoco cuando un tramposo la usa. La respuesta correcta es quirúrgica: permitir este evento concreto porque viene de tu script de diligencias, subir este techo para un jugador enganchado a una carreta, ignorar esta invencibilidad porque se activa durante una recogida. La detección sigue activa en todo lo demás.

Con una reserva, y es importante: permitir un evento significa repartir una capacidad que puede volver a dispararse. Un tramposo que aprende el nombre de un evento exento también puede llamarlo. Por eso una exención aquí sigue siendo un clic humano: la máquina propone la corrección, nunca la aplica sola.

El mecanismo corre una vez por noche: relee las alertas que se cerraron como erróneas, las rastrea hasta la causa y prepara la corrección más estrecha posible, por ejemplo una ventana de gracia de tras la reubicación. Dos palancas, dos reglas. Subir un techo se aplica por sí solo, pero solo dentro de límites estrictos: veinte muestras como mínimo, de al menos tres jugadores distintos, un quince por ciento de margen sobre el p99 observado, nunca más de tres veces el valor de serie, cinco cambios al día, y caduca a los treinta días. Autorizar el nombre de un evento nunca es automático, diga lo que diga la evidencia: ese nombre se entrega a todos los clientes, así que es una capacidad que un cheat puede volver a disparar a voluntad. Ahí, un humano hace clic, o nadie lo hace.

No publicado/Los umbrales de detección nunca se publican: un valor conocido es un valor por debajo del cual se ajusta un cheat.

La pregunta que hay que hacer antes de comprar

No "cuántas trampas detectáis". Todo el mundo responde a eso con una lista. Pregunta en cambio: ¿cómo medís vuestros falsos positivos y qué pasa cuando una detección se equivoca en mi servidor? Si la respuesta es "desactivamos el módulo", eso es un interruptor, no un anticheat. Si la respuesta es "lo rastreamos hasta la causa, proponemos la corrección y tú la apruebas", detrás del producto hay alguien.

El panel de demostración muestra cómo es una alerta cuando se ha investigado en lugar de gritado, y los precios son públicos. Nuestro anticheat RedM está construido primero en torno a esa regla y después en torno al número de detecciones. Para entender por qué la observación de estado produce estructuralmente este ruido, lee cómo funciona un anticheat RedM.

Seguir leyendo

Juzgue con pruebas, no con promesas

El panel de demostración está abierto en solo lectura con datos reales, sin registro.

Everything on one page: Baobab anticheat, detections, evidence and panel.