Baneo HWID en RedM: qué aguanta, qué no y cómo banear a un jugador para siempre
Un baneo HWID en RedM solo encarece el regreso. Identificadores, baneos de txAdmin, evasión y cuentas alt, y qué aguanta en un servidor real.
Baneaste a un tramposo el lunes. El miércoles, un jugador con otro nombre, las mismas costumbres y el mismo mod menu vuelve a estar en tu servidor. Un baneo HWID en RedM se suponía que evitaba justo eso. Este artículo explica por qué muchas veces no lo hace, qué registra de verdad cada tipo de baneo y qué puedes hacer para que volver le cueste algo al jugador.
Nosotros hacemos un anticheat, así que lo decimos pronto: ningún baneo es permanente frente a alguien dispuesto a comprar una cuenta nueva y hardware nuevo. El objetivo es que esa compra valga menos que tu servidor para él.
Qué identificadores ve realmente un servidor RedM
Cuando un jugador se conecta, el servidor recibe una lista de identificadores, cada uno con el prefijo de su tipo. La documentación de Cfx.re de GetPlayerIdentifiers los enumera:
licenseylicense2: el hash de la licencia de Rockstar. En RedM es el único con el que puedes contar, porque siempre está presente.steam: solo está cuando el jugador usa Steam. Es opcional, así que no puedes darlo por supuesto.discord: el id de usuario de Discord. No está garantizado, así que nunca dependas solo de él.fivem: el id de cuenta de Cfx.re.ip: la dirección desde la que llega la conexión.
Además de los identificadores, FXServer expone tokens de hardware mediante GetNumPlayerTokens y GetPlayerToken. La referencia de natives los describe en una línea: los tokens pueden servir para mejorar la lógica de baneo, pero son específicos de un servidor. Esa segunda mitad importa, y volvemos a ella más abajo.
AddEventHandler('playerConnecting', function(name)
local src = source
local ids = GetPlayerIdentifiers(src)
local tokens = {}
for i = 0, GetNumPlayerTokens(src) - 1 do
tokens[#tokens + 1] = GetPlayerToken(src, i)
end
print(('%s: %d identifiers, %d tokens'):format(name, #ids, #tokens))
end)Por qué falla un baneo sobre un solo identificador
Cada identificador tiene un precio distinto para el jugador:
La IP es gratis de cambiar: reiniciar el router en algunas conexiones, una VPN en cualquiera. Además la reutilizan personas inocentes, así que un baneo por IP es el que más probablemente alcanza a un jugador equivocado.
Discord es gratis de cambiar: crea otra cuenta.
Steam cuesta un poco: otra cuenta.
La licencia cuesta una cuenta de Rockstar y una copia del juego.
Los tokens de hardware cuestan otra máquina, o una herramienta que miente sobre la que tienen.
Un baneo escrito solo sobre la licencia lo vence el jugador que compra otra licencia. Un baneo escrito solo sobre la IP lo vence un punto de acceso del móvil. Los baneos que aguantan son los escritos sobre varios identificadores a la vez, porque el jugador tiene que sustituirlos todos el mismo día, y un solo descuido basta para que haya coincidencia.
Qué registra un baneo de txAdmin en RedM
Un baneo de txAdmin ya es mejor que un script que banea una sola licencia. En el código fuente de txAdmin, un baneo se guarda con la lista de identificadores que tenía el jugador y una lista aparte de tokens de hardware. Cuando alguien se conecta, txAdmin busca una coincidencia en los identificadores, y también en los tokens cuando lo piden los ajustes de baneo. La documentación de eventos de txAdmin muestra ambas listas en el evento de baneo (targetIds y targetHwids).
Tres cosas que conviene saber:
La coincidencia de tokens exige un número mínimo de tokens coincidentes, y ese mínimo es un ajuste. Demasiado estricto y un disco o una tarjeta de red cambiados dejan pasar al jugador. Demasiado laxo y baneas a un desconocido que comparte un componente.
Un baneo solo contiene lo que el jugador llevaba cuando lo baneaste. Un jugador baneado con Steam cerrado no tiene id de Steam en el baneo, y un baneo puesto solo sobre identificadores (un baneo antiguo heredado, por ejemplo) no tiene tokens en absoluto.
Los datos viven en el txAdmin de ese único servidor. El segundo servidor de tu comunidad no lo sabe a menos que lo copies.
Nada de esto es una crítica. txAdmin hace lo que debe hacer una lista de baneos. Y es también todo lo que puede hacer una lista de baneos: compara, no vincula.
Los límites que no puedes eliminar con ingeniería
Un baneo HWID en RedM depende de que los tokens sean del jugador. Tres situaciones lo rompen, y conviene prever las tres.
- 1
Una cuenta nueva de Rockstar. Una licencia nueva en la misma máquina es un jugador nuevo para el juego. Si los tokens no coincidieron, nada une los dos.
- 2
Una VPN. Saca la IP de la ecuación. No hace nada con la licencia, pero deja la IP, la señal compartida más habitual, sin valor como prueba.
- 3
Hardware falsificado. Existen herramientas que cambian lo que una máquina le reporta al juego, y un token vale lo que vale lo que reporta la máquina. No vamos a describir cómo.
Evasión de baneos en RedM y el problema de las cuentas alt
La evasión de baneos rara vez es un ataque ingenioso. Es un jugador baneado que crea una cuenta alt de RedM, olvida un detalle (la misma conexión de casa, el mismo Discord, la misma máquina) y juega igual. Tu trabajo es pillar ese detalle.
Eso significa conservar vínculos, no solo baneos: qué cuentas compartieron una dirección, cuáles un token de hardware, cuáles una identidad de Discord. Cuando una cuenta nueva coincide con una baneada en cualquiera de ellos, quieres una notificación, no una sorpresa tres días después. Por la misma razón, las señales compartidas necesitan criterio. Una familia con un solo router, o un operador móvil que pone a miles de abonados detrás de una misma dirección, parecerá evasión sin serlo. La herramienta que uses necesita una forma de decir «este está bien».
Buenas prácticas para un baneo que aguante
Banea con todo lo que tengas. Licencia, Steam, Discord, tokens e IP juntos, nunca uno solo.
Conserva las pruebas. El campo del motivo no basta. Un clip, una captura o una repetición es lo que permite a un segundo admin confirmar el baneo un mes después.
Ofrece una vía de apelación. Un formulario público o un canal de Discord bastan. Te ahorra el único baneo equivocado que cometerás. Mira nuestra nota sobre los falsos positivos.
Usa las duraciones con intención. Un baneo permanente para un tramposo, uno temporal para una infracción de normas y una revocación para un error, todo por escrito.
Qué añade Baobab AC a un baneo HWID en RedM
Baobab AC funciona en tu servidor, junto a tu framework, y conserva el grafo de vínculos que una simple lista de baneos no tiene. Esto es lo que eso significa para los problemas de arriba. También se describe, con el plan al que corresponde, en la página de funciones.
Una red de alts construida automáticamente
La red de alts une cuentas por IP compartida, tokens de hardware e identidad de Discord, y reconoce a un evasor de baneo que vuelve por cualquiera de ellos. La ficha del jugador muestra los vínculos, y whois te da los identificadores, tokens, alias e historial de conexión de cualquier jugador en una sola vista. Un evasor que vuelve se pilla al conectar y la sanción se reaplica en la primera coincidencia.
La detección anti multicuenta se apoya en el mismo grafo: busca transferencias de dinero y de objetos entre cuentas alternativas vinculadas, y la reentrada tras un baneo. Una dirección compartida se puede eximir a mano, para el caso de la familia de antes.
Un baneo por trampas que sigue los vínculos
Cuando baneas a un jugador y marcas el baneo como trampas, el baneo se extiende a las cuentas vinculadas a él, en vez de dejarte encontrar las alts de una en una. La marca es una decisión que tomas al emitir el baneo, así que un baneo corriente sigue siendo un baneo corriente. Si marcaste al jugador equivocado, una sola revocación deshace toda la cascada de golpe.
Una lista de vigilancia para los que no tienes claros
A veces no tienes lo bastante para banear. La lista de vigilancia marca a un jugador y avisa a tu staff en el momento en que se conecta. Configurada en expulsión, aplica al entrar. Así tratas la cuenta que se parece al jugador baneado de la semana pasada pero aún no ha hecho nada.
Tus baneos de txAdmin, traídos contigo
Puedes importar los baneos de la base de datos de jugadores de txAdmin (el archivo playersDB.json) en el panel. El archivo se lee en tu navegador y solo se envían las entradas de baneo. Un baneo asociado a un jugador conocido se convierte en una sanción. Un baneo puesto cuando el jugador no tenía id de Steam se queda sobre sus identificadores, se comprueba al conectar contra la licencia, Discord y los ids de hardware, y se convierte en una sanción la primera vez que ese jugador aparece. Los baneos caducados y levantados se omiten, ejecutar dos veces el mismo archivo no cambia nada y una importación se puede deshacer con un clic. Los detalles están en la página de la lista de baneos.
Sanciones que puedes explicar
Una sanción tiene una duración o es permanente, se puede revocar sin borrar su historial y lleva un expediente de pruebas recogido al emitirla. En los planes Pro y Network, la caja negra añade una repetición de lo que midió el servidor, y puedes compartir con el jugador un enlace que caduca, para que vea los mismos números que tú. Es la mejor respuesta a una apelación, en cualquiera de los dos sentidos. Puedes ver un ejemplo en el panel de demostración y consultar los planes en la página de precios.
Lo que esto no hace
Un baneo por hardware encarece el regreso, no cierra la puerta. Una cuenta nueva con una licencia nueva es un jugador nuevo para el juego. Lo que conserva Baobab AC es el grafo de vínculos, para que el regreso salte como una coincidencia y no como un desconocido. Si el jugador cambia a la vez la licencia, la máquina, el Discord, la conexión y las costumbres, no hay coincidencia que encontrar, y ninguna herramienta la inventará.
Tampoco sustituye al criterio. Las direcciones compartidas existen, y un vínculo es una pista para una persona, no un veredicto. Para ver cómo funciona la detección, mira cómo funciona un anticheat RedM, y para saber por qué esto tiene que vivir en el servidor, anticheat del lado del servidor frente al del cliente.
Lista de comprobación del baneo HWID en RedM
- 1
¿Lleva cada baneo que escribes la licencia, Steam si existe, Discord, tokens e IP, y no solo uno de ellos?
- 2
¿Conservas un vínculo entre cuentas, y no solo una lista de las baneadas?
- 3
¿Puede tu staff eximir una dirección compartida sin quitar el baneo?
- 4
¿Hay pruebas adjuntas a cada baneo, legibles por un admin que no estaba allí?
- 5
¿Puede un jugador apelar, y puedes revocar un error limpiamente?
- 6
¿Ven el baneo tus otros servidores?
Si respondiste que no a dos o más, el próximo evasor pasará sin problema. Si quieres los vínculos, las pruebas y la importación de txAdmin en un solo sitio, la página de funciones enumera lo que se incluye.