20 KiB
Admin Panel Documentation
Admin Panel is a centralized management interface for all Habbo emulators and services running in the Habland environment. It provides unified control over multiple emulator instances, databases, and associated services.
🎯 Overview
The Admin Panel is a Next.js-based web application that integrates with Docker containers to provide real-time monitoring and management capabilities for:
- Havana (v31+ Transition Era emulator)
- Kepler (v14 Classic Shockwave emulator)
- Roseau (v1 Goldfish era emulator)
- Arcturus Morningstar (Modern emulator with extensive features)
🚀 Quick Start
Accessing the Admin Panel
- URL:
http://localhost:3000(or configured port) - Default Theme: Orange (customizable via Settings)
- Auto-Refresh: Container status updates every 2 seconds
Navigation
The sidebar provides access to all major sections:
- Dashboard - Container management and monitoring
- Users - User account management
- Furni - Furniture catalog management
- Catalog - In-game catalog configuration
- Clothing - Avatar clothing editor
- Documentation - Browse emulator documentation
- Settings - Theme and configuration
- Health - System health monitoring
- Debug - Development and debugging tools
- Bulk Ops - Bulk operations for data management
- Backups - Database backup and restore
📊 Dashboard (Container Manager)
The main page provides comprehensive container orchestration and monitoring.
Features
Emulator Filter Buttons
Filter containers by emulator type and their dependencies:
- All Containers - Shows all running containers
- Havana - Havana server, Havana web client, unified-db, asset-server
- Kepler - Kepler server, Kepler client, unified-db, asset-server
- Roseau - Roseau server, Roseau client, unified-db, asset-server
- Arcturus - Arcturus emulator, AtomCMS, Nitro React, Cool UI, Redis, unified-db, asset-server
Start All Button
When an emulator filter is selected, a green "Start All" button appears that:
- Starts all stopped containers for that emulator group
- Executes starts sequentially with 500ms delay between each
- Shows "Starting..." state during operation
- Useful for quickly spinning up a complete emulator environment
Container Cards
Each container displays:
- Status Badge - Running (green) or Exited (red) with animated pulse
- Container Image - Visual representation of the service
- Container Name - Docker container identifier
- Description - Brief explanation of the container's purpose
- Online Count - Live player count for emulator servers (Havana, Kepler, Roseau)
- Action Buttons:
- Start - Launch stopped container
- Restart - Reboot running container
- Stop - Shutdown running container
- Press to view - Click anywhere on the card to open detailed modal
Container Modal
Click any container card to open the detailed management modal with tabs:
Links Tab
- Quick access links to web interfaces
- Service-specific URLs (phpMyAdmin, Redis Commander, etc.)
- Documentation references
Notes Tab
- Add custom notes for each container
- Useful for configuration details, deployment notes, or troubleshooting tips
- Persisted across sessions
Secrets Tab
- Securely manage environment variables
- Store API keys, passwords, and configuration secrets
- Warning: Handle sensitive data carefully
Docs Tab
- Container-specific documentation
- For emulators: Full markdown documentation (Havana, Kepler, Roseau, Arcturus)
- External resource links (GitHub repos, official docs, wikis)
Controls Tab
- Advanced container operations
- Force restart, rebuild, update actions
- Container-specific management tools
Status Tab
- Detailed container status information
- Resource usage (CPU, memory, network)
- Container health checks
- Uptime statistics
Logs Tab
- Real-time container logs
- Last 100 log lines with auto-refresh
- Color-coded log levels
- Search and filter capabilities
Online Stats Bar
Displays live player counts across all emulators:
- Havana Online: Current players on Havana server
- Kepler Online: Current players on Kepler server
- Roseau Online: Current players on Roseau server
👥 Users Management
Manage user accounts across all emulator databases.
Features
Emulator Selection
Switch between emulator databases:
- Havana - Havana user database
- Kepler - Kepler user database
- Roseau - Roseau user database
- Retro (Arcturus) - Arcturus user database
User Table
Displays comprehensive user information:
- Username - User account name
- Email - Registered email address
- Rank - User permission level (1=User, 5=Moderator, 7=Admin)
- Credits - In-game currency balance
- Last Online - Timestamp of last login
- Actions - Edit, delete, manage user
Search & Filters
- Search Bar - Find users by username or email
- Rank Filter - Filter by permission level
- Sort Options - Sort by username, credits, last online
- Pagination - Navigate large user lists efficiently
User Actions
- Add User - Create new accounts with custom settings
- Edit User - Modify username, email, rank, credits
- Delete User - Remove user accounts (with confirmation)
- Reset Password - Generate new passwords for users
- Grant Badges - Award achievement badges
- Manage Credits - Add or remove in-game currency
🪑 Furni Management
Manage furniture items in the catalog across emulators.
Features
Emulator Database Selection
Choose which emulator's furniture catalog to manage:
- Havana - Havana furniture database
- Kepler - Kepler furniture database
- Roseau - Roseau furniture database
- Retro - Arcturus furniture database
Furniture Table
Displays all furniture items with:
- Item Name - Furniture identifier
- Public Name - Display name shown to users
- Type - Floor item, wall item, effect, badge
- Width/Length - Furniture dimensions
- Stack Height - Stacking properties
- Can Sit/Lay - Interaction capabilities
- Sprite ID - Asset reference number
Furniture Operations
- Add Furniture - Import new items from catalog
- Edit Item - Modify properties (name, type, dimensions, interactions)
- Delete Item - Remove furniture from catalog
- Bulk Import - Upload CSV of furniture items
- Export Catalog - Download furniture database as CSV
Search & Filters
- Search - Find items by name or sprite ID
- Type Filter - Filter by furniture type
- Interaction Filter - Show only sittable/layable items
- Category Filter - Browse by catalog category
📦 Catalog Management
Configure in-game catalog pages and items.
Features
Catalog Pages
Manage the hierarchical catalog structure:
- Page Name - Display name in catalog
- Parent Page - Nested catalog organization
- Icon - Catalog page icon
- Visibility - Public, VIP, or rank-restricted
- Order - Page display order
Catalog Items
Configure purchasable items:
- Item Name - Product name
- Description - Item description shown to users
- Furniture Association - Link to furniture database
- Cost - Credit price
- Points Cost - Alternative currency (diamonds, duckets)
- Limit - Purchase limits per user
Catalog Operations
- Add Page - Create new catalog category
- Edit Page - Modify page properties
- Add Item - Add products to catalog
- Edit Item - Update pricing and availability
- Reorder - Drag-and-drop page reorganization
- Clone Page - Duplicate catalog structure
👔 Clothing Editor
Manage avatar clothing and figure data.
Features
Clothing Database
Browse and edit available clothing items:
- Part Type - Hair, shirt, pants, shoes, accessories
- Figure ID - Clothing identifier
- Gender - Male, female, or unisex
- Club Level - Free, VIP, or HC only
- Color Palette - Available color options
Figure Editor
Visual avatar builder:
- Interactive Preview - Real-time avatar rendering
- Part Selection - Choose clothing parts
- Color Picker - Customize colors
- Figure String - Generated figure code
- Save Presets - Store common outfits
Clothing Operations
- Add Clothing - Import new clothing items
- Edit Item - Modify properties and availability
- Delete Item - Remove from catalog
- Bulk Import - Upload clothing data
- Export Database - Download clothing catalog
📚 Documentation
Browse comprehensive documentation for all emulators and services.
Features
Documentation Browser
Two-panel interface for efficient browsing:
- Left Sidebar - List of available documentation
- Right Panel - Rendered markdown content with syntax highlighting
Available Documentation
- Havana Emulator - v31+ Transition Era documentation
- Kepler Emulator - v14 Classic Shockwave documentation
- Roseau Emulator - v1 Goldfish era documentation
- Arcturus Morningstar - Modern emulator documentation
- Admin Panel - This documentation
Search Functionality
- Real-time Search - Filter docs by title, description, or content
- Keyword Highlighting - Search terms highlighted in results
- Content Indexing - Search within markdown content
Documentation Features
- Markdown Rendering - Full CommonMark support
- Syntax Highlighting - Code blocks with language detection
- Table Support - Formatted tables
- Link Navigation - Internal and external links
- Responsive Design - Mobile-friendly layout
⚙️ Settings
Customize the admin panel appearance and behavior.
Theme Customization
Color Schemes
Choose from preset themes or create custom:
- Orange (Default) - Vibrant orange gradient
- Purple - Royal purple tones
- Blue - Cool blue palette
- Green - Fresh green theme
- Pink - Soft pink accents
- Custom - Define your own colors
Theme Settings
- Primary Color - Main accent color for buttons and highlights
- Secondary Color - Supporting color for UI elements
- Accent Color - Hover states and active elements
- Gradient Start/End - Gradient color definitions
Live Preview
- Real-time preview of theme changes
- Apply instantly without page reload
- CSS variable injection for smooth transitions
Configuration Options
- Auto-Refresh Interval - Container status update frequency (default: 2s)
- Log Tail Lines - Number of log lines to display (default: 100)
- Notification Preferences - Container event notifications
- Default Emulator - Preferred emulator for multi-select pages
🏥 Health Monitoring
System health dashboard for monitoring infrastructure.
Features
Container Health
Monitor the health of all Docker containers:
- Health Status - Healthy, unhealthy, or starting
- Health Checks - Last check timestamp and result
- Restart Count - Number of container restarts
- Uptime - Container running duration
Database Health
Monitor database connections and performance:
- Connection Status - Connected or disconnected
- Active Connections - Current database connections
- Query Performance - Average query execution time
- Database Size - Storage usage
System Resources
Overall system resource monitoring:
- CPU Usage - System and per-container CPU utilization
- Memory Usage - RAM consumption and available memory
- Disk Usage - Storage space utilization
- Network I/O - Bandwidth usage statistics
Alerts & Warnings
Automated health monitoring alerts:
- Container Crashes - Immediate notification of container failures
- Resource Limits - Warnings when approaching capacity
- Database Issues - Connection failures or slow queries
- Service Degradation - Performance below threshold
🔧 Debug Tools
Development and troubleshooting utilities.
Features
Container Inspector
Deep dive into container internals:
- Environment Variables - View all container env vars
- Volume Mounts - Mounted directories and files
- Network Settings - IP addresses, ports, DNS
- Running Processes - Active processes inside container
Database Query Tool
Execute SQL queries against emulator databases:
- Query Editor - SQL syntax highlighting
- Multi-Database - Connect to any emulator database
- Result Display - Formatted table output
- Export Results - CSV, JSON export options
- Query History - Recent queries
API Testing
Test API endpoints:
- Endpoint List - All available API routes
- Request Builder - Construct API requests
- Response Viewer - Formatted JSON/XML responses
- Authentication - Test with auth tokens
Log Aggregation
Centralized log viewing:
- All Containers - Aggregated logs from all services
- Filter by Level - Error, warning, info, debug
- Time Range - Filter logs by timestamp
- Export Logs - Download log archives
⚡ Bulk Operations
Perform batch operations on data across emulators.
Features
Emulator Selection
Choose target emulator database:
- Havana - Havana database
- Kepler - Kepler database
- Roseau - Roseau database
- Retro - Arcturus database
Operation Types
User Operations
- Mass User Creation - Bulk import users from CSV
- Rank Updates - Batch modify user ranks
- Credit Distribution - Add credits to multiple users
- Badge Awards - Grant badges to user groups
- Account Deletion - Bulk remove users
Furniture Operations
- Catalog Import - Bulk import furniture items
- Price Updates - Update pricing across catalog
- Item Deletion - Remove multiple items
- Category Assignment - Batch categorize items
Catalog Operations
- Page Creation - Generate multiple catalog pages
- Item Association - Link items to pages in bulk
- Visibility Updates - Modify page access in batch
Import/Export
- CSV Import - Upload structured data files
- Excel Support - Import .xlsx files
- JSON Import - Structured data import
- Export Options - Download data in multiple formats
- Template Download - Get import templates
Validation & Preview
- Data Validation - Check import data before commit
- Preview Changes - Review operations before execution
- Error Reporting - Detailed error messages
- Rollback Support - Undo bulk operations
💾 Backups
Database backup and restore functionality.
Features
Backup Creation
Create database backups:
- Select Database - Choose emulator database to backup
- Backup Name - Custom backup identifier
- Compression - Gzip compression for storage efficiency
- Scheduling - Automated backup schedules
Backup Management
Manage existing backups:
- Backup List - All available backups with metadata
- Backup Size - Storage space used
- Creation Date - Backup timestamp
- Database Version - Schema version information
Restore Operations
Restore from backups:
- Select Backup - Choose backup to restore
- Preview - Review backup contents before restore
- Restore Options - Full or partial restore
- Confirmation - Multi-step confirmation for safety
Backup Features
- Download Backup - Export backup files locally
- Delete Backup - Remove old backups
- Backup Verification - Test backup integrity
- Automated Retention - Auto-delete old backups (configurable)
🔐 Security & Best Practices
Access Control
- Authentication - Secure admin panel access (configure via environment)
- Session Management - Auto-logout after inactivity
- Permission Levels - Role-based access control
Data Safety
- Confirmation Dialogs - Required for destructive operations
- Backup Before Changes - Automatic backups before bulk operations
- Audit Logging - Track all administrative actions
- Version Control - Database schema versioning
Performance Optimization
- Lazy Loading - Components load on demand
- Pagination - Efficient data display for large datasets
- Caching - Smart caching to reduce database queries
- Auto-Refresh - Configurable intervals to balance freshness and load
🛠 Troubleshooting
Common Issues
Container Won't Start
Symptoms: Container shows "Exited" status immediately after start attempt
Solutions:
- Check container logs via the Logs tab in container modal
- Verify database is running (unified-db container)
- Check for port conflicts with other services
- Review environment variables in Debug section
No Online Stats Showing
Symptoms: Online player counts show "—" instead of numbers
Solutions:
- Verify emulator server is running
- Check API endpoint
/api/statsin Debug tools - Ensure database connection is healthy
- Verify emulator is writing online user data
Bulk Operations Failing
Symptoms: CSV imports return errors or no data imported
Solutions:
- Download CSV template from Bulk Ops page
- Verify CSV format matches template exactly
- Check for special characters or encoding issues
- Review error messages for specific field issues
Theme Not Applying
Symptoms: Color changes in Settings don't take effect
Solutions:
- Click "Save Theme" button after making changes
- Hard refresh browser (Cmd+Shift+R or Ctrl+Shift+R)
- Clear browser cache
- Check browser console for JavaScript errors
Getting Help
- Documentation Tab - Search for specific topics
- Container Logs - Debug container-specific issues
- Health Dashboard - Check overall system health
- Debug Tools - Advanced troubleshooting utilities
📡 API Reference
The Admin Panel exposes several API endpoints for programmatic access:
Container Management
GET /api/containers- List all containersPOST /api/control- Start/stop/restart containersGET /api/containers/:id/logs- Fetch container logsGET /api/containers/:id/stats- Container resource usage
User Management
GET /api/users?emulator={name}- List usersPOST /api/users- Create userPUT /api/users/:id- Update userDELETE /api/users/:id- Delete user
Furniture & Catalog
GET /api/furni?emulator={name}- List furnitureGET /api/catalog/items?emulator={name}- Catalog itemsGET /api/catalog/pages?emulator={name}- Catalog pages
System
GET /api/stats- Online player statisticsGET /api/health- System health statusGET /api/config- Configuration settingsPOST /api/settings- Update settings
Backups
GET /api/backups- List backupsPOST /api/backups- Create backupPOST /api/backups/restore- Restore backupDELETE /api/backups/:id- Delete backup
🚀 Advanced Features
Docker Compose Integration
The Admin Panel integrates directly with Docker Compose:
- Real-time status monitoring via Docker API
- Container lifecycle management (start/stop/restart)
- Log streaming from containers
- Resource usage monitoring
Multi-Database Support
Seamlessly switch between emulator databases:
- Unified connection pooling
- Database-specific optimizations
- Safe multi-tenant operations
- Isolated data management
Theme System
Advanced theming with CSS variables:
- Live theme preview
- Persistent theme storage
- CSS variable injection
- Gradient customization
📝 Version Information
- Admin Panel Version: 1.1.0
- Next.js Version: 16.0.7
- Node Version: 20 LTS
- Docker Integration: Docker Engine API v1.41+
🤝 Support & Contribution
Reporting Issues
Found a bug or have a feature request?
- Check existing issues first
- Provide detailed reproduction steps
- Include browser/environment information
- Attach relevant logs from Debug section
Feature Requests
Suggest new features:
- Describe the use case
- Explain expected behavior
- Provide mockups or examples if applicable
📚 Additional Resources
- Havana Documentation: See HAVANA.md
- Kepler Documentation: See KEPLER.md
- Roseau Documentation: See ROSEAU.md
- Arcturus Documentation: See ARCTURUS_RETRO.md
- Docker Documentation: https://docs.docker.com
- Next.js Documentation: https://nextjs.org/docs
Last Updated: December 2024 Maintained By: Habland Development Team