A comprehensive toolkit for EverQuest client side protocol handling ideal for headless bots and alternative clients, featuring real-time mapping, packet analysis, and protocol debugging tools.
EQMap.NET is a suite of tools designed for EverQuest client side headless bots and alternative clients. It provides real-time visualization of game data, comprehensive packet analysis, and debugging capabilities for EQEmu server.
- EQMap Real-time Mapping Demo - See the real-time mapping functionality in action
- BOT appears in Client - See a LUA bot appear in the client
- Live visualization of player positions, NPCs, and game objects
- Zone mapping with dynamic updates
- Multi-player tracking and session management
- Lua scripting support for custom behaviors
- Comprehensive packet capture and analysis
- Support for server and bot log comparison
- Session-based filtering and organization
- Real-time packet structure parsing using reflection
- Bidirectional packet support (ToServer/FromServer)
- Hex dump visualization with structure breakdown
- Complete EverQuest protocol implementation
- Automatic opcode-to-structure mapping
- Support for compression (Zlib) and encryption (DES)
- Extensive packet structure definitions
- Cross-platform .NET Standard 2.1 compatibility
- Headless bot implementation with console interface
- JSON-based configuration system for multiple accounts
- Automated patrol movement with configurable waypoints
- Event-driven bot behaviors and chat interactions
- Real-time logging with comprehensive debugging output
- Example implementation demonstrating EQGameClient usage
eqmap.net/
├── EQMap/ # Real-time mapping application
├── EQLogs/ # Packet analysis and logging tools
├── EQProtocol/ # EverQuest protocol library
├── EQConsole/ # Console utilities
└── docs/ # Documentation
- Installation Guide (coming soon)
- Quick Start Tutorial (coming soon)
- Configuration Guide (coming soon)
- EQMap User Guide (coming soon)
- Lua Scripting Reference (coming soon)
- Zone Data Format (coming soon)
- Packet Analysis Guide (coming soon)
- Session Filtering (coming soon)
- Log File Formats (coming soon)
- Large File Handling
- Protocol Reference (coming soon)
- Packet Structures (coming soon)
- Encryption and Compression (coming soon)
- Bot Configuration Guide (coming soon)
- Patrol Movement System (coming soon)
- Event Handling (coming soon)
- Contributing Guidelines (coming soon)
- Building from Source (coming soon)
- API Documentation (coming soon)
EQMap.NET provides a complete protocol-level encapsulation of the EverQuest client/server communication, enabling the development of headless bots and alternative clients in any .NET-compatible language. This abstraction layer opens up unprecedented possibilities for EverQuest automation and tooling.
- No Game Client Required: Bots run independently without needing the EverQuest game client
- Server Farm Deployment: Deploy hundreds of bots on headless servers
- Resource Efficient: Minimal CPU/memory usage compared to full game clients
- Scriptable Automation: Full programmatic control over character actions
- Custom User Interfaces: Build specialized UIs for specific use cases
- Mobile Clients: Develop lightweight mobile EverQuest clients
- Web-based Interfaces: Create browser-based EverQuest tools
- Specialized Tools: Build focus-specific clients (auction tracking, map tools, etc.)
// Simple bot example
var gameClient = new EQGameClient(logger);
await gameClient.LoginAsync(username, password, server, character);
// Event-driven programming
gameClient.NPCSpawned += (sender, npc) => {
if (npc.IsAttackable) AttackTarget(npc);
};
// High-level commands
await gameClient.MoveTo(x, y, z);
gameClient.SendChat("Hello world!", ChatChannel.Say);- F#: Functional programming approach to bot logic
- VB.NET: Classic Visual Basic syntax for rapid development
- PowerShell: Scripting-based automation and server management
- IronPython: Python scripts with .NET integration
- Windows: Native .NET 8.0 support
- Linux: Full compatibility via .NET runtime
- Docker: Containerized bot deployments
- Cloud Services: Azure, AWS, Google Cloud deployment
- Complete Encapsulation: All EverQuest networking handled internally
- Event-Driven Design: React to game events naturally
- Type-Safe Operations: Strongly-typed models prevent runtime errors
- Automatic State Management: Character, zone, and game state tracked automatically
- Plugin Architecture: Add custom behaviors without modifying core code
- Custom Packet Handlers: Extend protocol support for new opcodes
- Behavior Trees: Complex AI logic through composable behaviors
- Integration APIs: Connect with external systems and databases
- Reflection-based Structure Mapping: Automatically maps opcodes to packet structures using naming conventions
- Bidirectional Packet Support: Handles ToServer/FromServer packet variants seamlessly
- Session Management: Filter and organize packets by game sessions with automatic session detection
- Multiple Log Sources: Compare server logs with bot logs for comprehensive analysis
- Live Data Streaming: Real-time updates from running EQEmu servers
- Multi-session Support: Track multiple players and sessions simultaneously
- Performance Optimized: Efficient handling of large data streams and log files
- Complete Coverage: Extensive implementation of EverQuest network protocol
- Modern Architecture: Clean .NET Standard 2.1 implementation with async/await patterns
- Extensible Design: Easy to add new packet types and extend functionality
- .NET 8.0 - Modern cross-platform framework
- WPF - Rich desktop UI for Windows applications
- MVVM Pattern - Clean separation of concerns
- NLog - Comprehensive logging framework
- Docker Integration - Seamless integration with containerized EQEmu setups
This project is actively developed for EQEmu server client development and protocol research. Contributions are welcome!
This project is developed for educational and private server development purposes. Please respect the intellectual property rights of the original EverQuest game.
For questions, issues, or contributions:
- Open an issue on this repository
- Check the documentation links above
- Review the demo videos for usage examples
EQMap.NET - Bringing modern development tools to classic EverQuest server development