UNPKG

@soymaycol/mayaternos

Version:

Módulo para crear bots de Minecraft 24/7 con movimientos aleatorios usando MinePlayer

317 lines (239 loc) 7.58 kB
# MayAternos Módulo para crear bots de Minecraft 24/7 con movimientos aleatorios y comportamientos anti-detección usando MinePlayer (mineflayer). ## 🚀 Características - ✅ Creación de bots individuales o múltiples - ✅ Movimientos aleatorios naturales - ✅ Sistema de reconexión automática - ✅ Comportamientos anti-detección - ✅ Chat aleatorio configurable - ✅ Configuración personalizable - ✅ Manejo de errores robusto - ✅ Soporte para múltiples versiones de Minecraft ## 📦 Instalación ```bash npm install @soymaycol/mayaternos ``` ## 🎯 Uso Básico ### Crear un bot simple ```javascript const MayAternos = require('@soymaycol/mayaternos'); const botManager = new MayAternos({ host: 'tu-servidor.aternos.me', port: 25565, username: 'MiBot', version: '1.19.2' }); const bot = botManager.createBot(); ``` ### Crear múltiples bots ```javascript const MayAternos = require('@soymaycol/mayaternos'); const botManager = new MayAternos({ host: 'tu-servidor.aternos.me', port: 25565, username: 'Bot', version: '1.19.2' }); // Crear 3 bots: Bot_1, Bot_2, Bot_3 const bots = botManager.createMultipleBots(3); ``` ## ⚙️ Configuración Avanzada ### Opciones disponibles ```javascript const options = { // Configuración del servidor host: 'localhost', // IP del servidor port: 25565, // Puerto del servidor username: 'Bot', // Nombre del bot version: '1.19.2', // Versión de Minecraft auth: 'offline', // Tipo de autenticación // Configuración de reconexión reconnectDelay: 3000, // Delay entre reconexiones (ms) maxReconnectAttempts: -1, // Máximo intentos (-1 = ilimitado) // Configuración de movimientos movementInterval: 5000, // Intervalo entre movimientos (ms) randomMovement: true, // Habilitar movimientos aleatorios // Configuración de chat chatInterval: 30000, // Intervalo entre mensajes (ms) randomChat: false, // Habilitar chat aleatorio chatMessages: ['Hola', 'Como están?'], // Mensajes aleatorios // Configuración de logging verbose: true // Mostrar logs detallados }; const botManager = new MayAternos(options); ``` ### Ejemplo completo con configuración personalizada ```javascript const MayAternos = require('@soymaycol/mayaternos'); const botManager = new MayAternos({ host: 'mi-servidor.aternos.me', port: 25565, username: 'GuardianBot', version: '1.19.2', auth: 'offline', // Configuración de comportamientos movementInterval: 8000, randomMovement: true, randomChat: true, chatMessages: [ 'Hola a todos!', 'Que tal están?', 'Buenas tardes', 'Saludos!', 'Todo bien por aquí' ], chatInterval: 45000, // Configuración de reconexión reconnectDelay: 5000, maxReconnectAttempts: 10, verbose: true }); const bot = botManager.createBot(); ``` ## 🎮 Métodos Principales ### Crear bots ```javascript // Crear bot individual const bot = botManager.createBot(); // Crear bot con configuración específica const bot = botManager.createBot({ username: 'BotEspecial', host: 'otro-servidor.com' }); // Crear múltiples bots const bots = botManager.createMultipleBots(5); // Crear múltiples bots con configuración base const bots = botManager.createMultipleBots(3, { username: 'Worker', randomChat: true }); ``` ### Gestionar bots ```javascript // Obtener todos los bots const allBots = botManager.getBots(); // Obtener bot por nombre const bot = botManager.getBotByName('MiBot'); // Obtener estado de todos los bots const status = botManager.getBotsStatus(); console.log(status); // Desconectar bot específico botManager.disconnectBot('MiBot'); // Desconectar todos los bots botManager.disconnectAll(); ``` ## 🤖 Comportamientos Anti-Detección El módulo incluye varios comportamientos para evitar la detección como bot: ### Movimientos Aleatorios - Caminar en direcciones aleatorias - Saltar ocasionalmente - Correr esporádicamente - Agacharse aleatoriamente - Parar movimientos ocasionalmente ### Comportamientos Naturales - Movimiento de cabeza aleatorio - Mirar hacia bloques cercanos - Interacción con el entorno - Intervalos de tiempo variables ### Configuración de Movimientos ```javascript const botManager = new MayAternos({ // Intervalo base entre movimientos movementInterval: 5000, // Habilitar movimientos aleatorios randomMovement: true, // El sistema añade aleatoriedad adicional automáticamente }); ``` ## 📊 Monitoreo y Logging ### Habilitar logs detallados ```javascript const botManager = new MayAternos({ verbose: true // Mostrar logs detallados }); ``` ### Eventos disponibles ```javascript // Los bots emiten eventos estándar de mineflayer bot.on('login', () => { console.log('Bot conectado'); }); bot.on('spawn', () => { console.log('Bot spawneado'); }); bot.on('death', () => { console.log('Bot murió'); }); bot.on('kicked', (reason) => { console.log('Bot kickeado:', reason); }); ``` ## 🔧 Ejemplo de Uso Práctico ```javascript const MayAternos = require('@soymaycol/mayaternos'); // Configuración para servidor de Aternos const botManager = new MayAternos({ host: 'MiServidor.aternos.me', port: 25565, username: 'Vigilante', version: '1.19.2', auth: 'offline', // Movimientos cada 3-8 segundos movementInterval: 3000, randomMovement: true, // Chat cada 2-5 minutos randomChat: true, chatInterval: 120000, chatMessages: [ 'Todo tranquilo por aquí', 'Vigilando el servidor', 'Saludos!', 'Buenas!' ], // Reconexión automática reconnectDelay: 5000, maxReconnectAttempts: -1, verbose: true }); // Crear bot principal const mainBot = botManager.createBot(); // Crear bots adicionales después de 30 segundos setTimeout(() => { const additionalBots = botManager.createMultipleBots(2, { username: 'Helper' }); }, 30000); // Manejar cierre limpio process.on('SIGINT', () => { console.log('Cerrando todos los bots...'); botManager.disconnectAll(); process.exit(0); }); ``` ## 🔄 Manejo de Errores y Reconexión El módulo incluye manejo robusto de errores: - **Reconexión automática**: Los bots se reconectan automáticamente si se desconectan - **Manejo de muerte**: Los bots respawnean automáticamente al morir - **Límite de intentos**: Configurable para evitar bucles infinitos - **Delays variables**: Evita spam de conexiones ```javascript const botManager = new MayAternos({ reconnectDelay: 5000, // 5 segundos entre intentos maxReconnectAttempts: 10, // Máximo 10 intentos verbose: true // Ver logs de reconexión }); ``` ## 📋 Requisitos - Node.js 14.0.0 o superior - Conexión a internet estable - Servidor de Minecraft compatible ## 🎯 Casos de Uso - Mantener servidores de Aternos activos 24/7 - Vigilancia automática de servidores - Pruebas de carga y estabilidad - Presencia automática en servidores ## ⚠️ Consideraciones - Úsalo responsablemente y respeta las reglas del servidor - Algunos servidores pueden tener políticas contra bots - Configura intervalos realistas para evitar detección - Monitorea el uso de recursos del servidor