Los jugadores con multicuentas rompen la economia, saltean bans y hacen trampa en PvP. Esta guia cubre las tecnicas de deteccion reales: IP tracking con historial, UUID binding, limites por conexion, integracion con BanManager/LiteBans y como manejar VPNs sin bloquear jugadores legitimos.
LiteBans registra automaticamente las IPs de cada jugador. Si una IP esta en la lista negra, bloquea todas las cuentas que la han usado:
# En LiteBans config.yml
ipbans:
check-on-join: true
ban-alts: true # banea automaticamente alts de jugadores baneados
alt-ban-message: "&cTu cuenta alternativa o IP esta baneada."
# Comandos utiles:
/litebans alts [jugador] # lista todas las cuentas de la misma IP
/litebans ipban [IP] # banea todas las cuentas de esa IP
/litebans history [jugador] # historial completo de esa cuentaBanManager es open source (GitHub: BanManagement/BanManager) y muy configurable:
# config.yml - Configuracion de alts
alts:
check: true
autoban: false # mejor false: revisar manualmente antes de banear
notify-staff: true
notify-permission: "bm.notify.alts"
bypass-permission: "bm.exempt.alts"Cuando un jugador entra con una IP que ya uso otra cuenta baneada, el staff recibe una notificacion en tiempo real. Pueden investigar antes de actuar automaticamente — esto reduce falsos positivos.
Con AuthMe (servidores en modo offline) o plugins dedicados, puedes limitar cuantas cuentas puede registrar una misma IP:
# AuthMe config.yml
Security:
maxRegPerIp: 2 # maximo 2 cuentas por IP
# O con el plugin IPWhitelist / PerAccountLimit:
max-accounts-per-ip: 3
action-on-exceed: kick # kick, ban, o notify-adminMuchos jugadores que evaden bans usan VPN. La forma mas efectiva de detectarlo es una API de deteccion de proxies:
# Con el plugin AntiVPN (SpigotMC)
# O integracion manual via API de vpnapi.io o iphub.info
# En tu bot/plugin Node.js:
const axios = require('axios');
async function isVPN(ip) {
const res = await axios.get(https://vpnapi.io/api/?key=TU_API_KEY);
return res.data.security.vpn || res.data.security.tor || res.data.security.proxy;
}
// Si isVPN() retorna true, requiere verificacion adicional en DiscordLa verificacion Discord es el metodo mas robusto porque vincula una cuenta Discord (que tiene su propio sistema anti-bots) con la cuenta Minecraft:
/verificar [codigo]// Ejemplo en Node.js/Discord.js
client.on('interactionCreate', async (interaction) => {
if (!interaction.commandName === 'verificar') return;
const code = interaction.options.getString('codigo');
const pending = await db.get('SELECT * FROM pending_verifications WHERE code = ?', code);
if (!pending) return interaction.reply({ content: 'Codigo invalido o expirado.', ephemeral: true });
// Verificar si este Discord ya tiene cuenta MC vinculada
const existing = await db.get('SELECT * FROM linked_accounts WHERE discord_id = ?', interaction.user.id);
if (existing && existing.mc_uuid !== pending.mc_uuid) {
await notifyStaff(${interaction.user.tag} intenta vincular segunda cuenta MC: );
}
await db.run('INSERT OR REPLACE INTO linked_accounts VALUES (?,?,?)',
[interaction.user.id, pending.mc_uuid, pending.mc_name]);
await interaction.reply({ content: 'Cuenta verificada! Ya puedes jugar.', ephemeral: true });
});Familias que juegan desde la misma red, companeros de piso, jugadores en colegios o cybercafes tienen la misma IP externa. No banear automaticamente: notificar al staff para decision manual. Un canal #staff-alts en Discord con logs de deteccion es la practica correcta.
OliveerF Hosting incluye soporte para configurar BanManager y proteccion anti-multicuentas en todos los planes.
Ver Planes