The ETAbot release from https://replit.com/@ETAGamer/minecraft-bots.
util | ||
config.json | ||
crashes.txt | ||
crashgen.js | ||
filter.json | ||
index.js | ||
messageLogger.js | ||
orbit.js | ||
package-lock.json | ||
package.json | ||
README.md |
Overview
This is a Minecraft bot project called "etabot" built with Node.js and the Mineflayer library. The bot is designed to connect to Minecraft servers (specifically targeting "freeop" servers) and perform various automated tasks including command execution, chat filtering, server exploitation through malformed JSON payloads, and multi-bot spawning. The project includes utilities for core management, self-care (maintaining permissions and game mode), and custom chat components.
User Preferences
Preferred communication style: Simple, everyday language.
System Architecture
Core Bot Architecture
- Main Bot Class: MinecraftBot class in index.js serves as the primary bot controller
- Modular Design: Utility functions separated into dedicated modules (util/ directory)
- Command System: Prefix-based command handling with multiple supported prefixes
- Event-Driven: Uses Mineflayer's event system for handling Minecraft protocol events
Command Block Management
- Core System: CoreClass manages a 3D grid of repeating command blocks for executing commands
- Dynamic Positioning: Core position updates based on bot's current location
- Automated Refilling: Automatically recreates command blocks when needed
- Transaction Tracking: Maintains transaction IDs for command execution
Bot Functionality Components
- Self-Care System: Automatically maintains operator permissions and creative mode
- Chat Components: Custom Tellraw builder for formatted chat messages
- Filter System: JSON-based filtering system for blocking specific users/bots
- Exploit Payloads: Pre-configured JSON payloads for server exploitation attempts
Multi-Bot Support
- Spawn Management: multibot.js handles spawning multiple bot instances with delays
- Orbit Mechanics: orbit.js creates bots that orbit around target players
- Username Generation: Random username generation for bot instances
Configuration Management
- JSON-Based Config: Centralized configuration in config.json
- Server Settings: Host, port, and version configuration
- Core Dimensions: Configurable command block grid size and positioning
- Exploit Payloads: Pre-stored malicious JSON payloads
Payload Generation
- Crash Generator: crashgen.js generates nested JSON payloads for server stress testing
- Interactive CLI: Command-line interface for generating custom payloads
- Multiple Exploit Types: Support for both translate and selector-based exploits
External Dependencies
Primary Framework
- Mineflayer: Core Minecraft bot framework for protocol handling and game interactions
- Node.js: Runtime environment with TypeScript support
Utility Libraries
- Vec3: 3D vector mathematics for position calculations
- Prismarine-Chat: Minecraft chat component handling
- Canvas: Graphics rendering capabilities
- Prismarine-Viewer: 3D world visualization
- Proxy-Agent: HTTP/HTTPS proxy support
- SOCKS: SOCKS proxy protocol support
Authentication & Security
- Azure MSAL: Microsoft Authentication Library for potential account management
- JsonWebToken: JWT token handling
- Node-RSA: RSA cryptography support
Target Server
- Default Host: chipmunk.land (Minecraft server)
- Protocol Version: 1.19.4 support with offline authentication
- Port Configuration: Standard Minecraft port (25565)