717 lines
20 KiB
Markdown
717 lines
20 KiB
Markdown
|
|
# 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**:
|
||
|
|
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
|