Files
Archive/documentation/ADMIN_PANEL.md

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:

  • 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:

  1. Check container logs via the Logs tab in container modal
  2. Verify database is running (unified-db container)
  3. Check for port conflicts with other services
  4. Review environment variables in Debug section

No Online Stats Showing

Symptoms: Online player counts show "—" instead of numbers

Solutions:

  1. Verify emulator server is running
  2. Check API endpoint /api/stats in Debug tools
  3. Ensure database connection is healthy
  4. Verify emulator is writing online user data

Bulk Operations Failing

Symptoms: CSV imports return errors or no data imported

Solutions:

  1. Download CSV template from Bulk Ops page
  2. Verify CSV format matches template exactly
  3. Check for special characters or encoding issues
  4. Review error messages for specific field issues

Theme Not Applying

Symptoms: Color changes in Settings don't take effect

Solutions:

  1. Click "Save Theme" button after making changes
  2. Hard refresh browser (Cmd+Shift+R or Ctrl+Shift+R)
  3. Clear browser cache
  4. 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 containers
  • POST /api/control - Start/stop/restart containers
  • GET /api/containers/:id/logs - Fetch container logs
  • GET /api/containers/:id/stats - Container resource usage

User Management

  • GET /api/users?emulator={name} - List users
  • POST /api/users - Create user
  • PUT /api/users/:id - Update user
  • DELETE /api/users/:id - Delete user

Furniture & Catalog

  • GET /api/furni?emulator={name} - List furniture
  • GET /api/catalog/items?emulator={name} - Catalog items
  • GET /api/catalog/pages?emulator={name} - Catalog pages

System

  • GET /api/stats - Online player statistics
  • GET /api/health - System health status
  • GET /api/config - Configuration settings
  • POST /api/settings - Update settings

Backups

  • GET /api/backups - List backups
  • POST /api/backups - Create backup
  • POST /api/backups/restore - Restore backup
  • DELETE /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?

  1. Check existing issues first
  2. Provide detailed reproduction steps
  3. Include browser/environment information
  4. Attach relevant logs from Debug section

Feature Requests

Suggest new features:

  1. Describe the use case
  2. Explain expected behavior
  3. 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