132 lines
5.5 KiB
Markdown
132 lines
5.5 KiB
Markdown
|
|
# Habland
|
||
|
|
|
||
|
|
**Habland** is a comprehensive multi-emulator development environment for Habbo Hotel retro projects. It serves as a unified research and development workspace containing multiple server implementations, modern client interfaces, and centralized management tools.
|
||
|
|
|
||
|
|
> [!TIP] > **Just want to get started?**
|
||
|
|
> Check out the [Quick Start Guide](QUICKSTART.md) to get the environment running in minutes.
|
||
|
|
|
||
|
|
## 📚 Core Documentation
|
||
|
|
|
||
|
|
- **[QUICKSTART.md](QUICKSTART.md)**: The fastest way to get servers and clients running.
|
||
|
|
- **[DOCKER_SETUP.md](DOCKER_SETUP.md)**: Detailed Docker environment configuration and troubleshooting.
|
||
|
|
- **[DOCKER_DEPLOYMENT_SUMMARY.md](DOCKER_DEPLOYMENT_SUMMARY.md)**: Deployment architecture and container details.
|
||
|
|
- **[TESTING_SUMMARY.md](TESTING_SUMMARY.md)**: Information on testing protocols and status.
|
||
|
|
|
||
|
|
## 🏗️ Project Structure
|
||
|
|
|
||
|
|
This repository is organized into distinct modules, each handling a specific part of the retro ecosystem:
|
||
|
|
|
||
|
|
### 🎮 Emulators & Servers
|
||
|
|
|
||
|
|
| Directory | Description |
|
||
|
|
| ------------------------ | ---------------------------------------------------------------------------------------------------- |
|
||
|
|
| **[`retro/`](retro/)** | A modern, full-stack environment. See [Retro Environment Details](#retro-environment-details) below. |
|
||
|
|
| **[`kepler/`](kepler/)** | **Kepler** emulator setup. See [Kepler Environment Details](#kepler-environment-details) below. |
|
||
|
|
| **[`havana/`](havana/)** | **Havana** emulator setup. See [Havana Environment Details](#havana-environment-details) below. |
|
||
|
|
| **[`roseau/`](roseau/)** | **Roseau** server implementation. |
|
||
|
|
|
||
|
|
### 🌟 Retro Environment Details
|
||
|
|
|
||
|
|
The **[`retro/`](retro/)** directory contains the most advanced and complete implementation.
|
||
|
|
👉 **[Read the Deep Dive Documentation](documentation/ARCTURUS_RETRO.md)**
|
||
|
|
|
||
|
|
### 🌌 Kepler Environment Details
|
||
|
|
|
||
|
|
The **[`kepler/`](kepler/)** directory contains the **v14 (2007 era)** Shockwave emulator.
|
||
|
|
👉 **[Read the Deep Dive Documentation](documentation/KEPLER.md)**
|
||
|
|
|
||
|
|
### 🌴 Havana Environment Details
|
||
|
|
|
||
|
|
The **[`havana/`](havana/)** directory hosts the **Havana** retro project (v31+).
|
||
|
|
👉 **[Read the Deep Dive Documentation](documentation/HAVANA.md)**
|
||
|
|
|
||
|
|
### 🏛️ Roseau Environment Details
|
||
|
|
|
||
|
|
The **[`roseau/`](roseau/)** directory implements the **v1 (2001 era)** server.
|
||
|
|
👉 **[Read the Deep Dive Documentation](documentation/ROSEAU.md)**
|
||
|
|
|
||
|
|
### 🛠️ Core Infrastructure Details
|
||
|
|
|
||
|
|
The ecosystem is glued together by shared services found in the root and specific folders:
|
||
|
|
|
||
|
|
#### 🎛️ Admin Panel (`admin-panel/`)
|
||
|
|
|
||
|
|
A custom **Next.js 16** application running on port `3000`.
|
||
|
|
|
||
|
|
- **Tech**: React 19, TailwindCSS v4, Dockerode.
|
||
|
|
- **Purpose**: Manage Docker containers, view logs, edit configurations, and manage the unified database from a GUI.
|
||
|
|
|
||
|
|
#### 🗄️ Unified Database (`unified-db/`)
|
||
|
|
|
||
|
|
A central **MariaDB** instance that can serve multiple emulators.
|
||
|
|
|
||
|
|
- **Port**: `3306`
|
||
|
|
- **Management**: Includes **phpMyAdmin** on port `8081`.
|
||
|
|
- **Scripts**: Contains initialization SQL scripts in `init/`.
|
||
|
|
|
||
|
|
#### 📦 Habbo Vault (`Habbo Vault/`)
|
||
|
|
|
||
|
|
A general storage directory for tools, plugins, and assets shared across projects.
|
||
|
|
|
||
|
|
### 🗺️ Architecture at a Glance
|
||
|
|
|
||
|
|
```
|
||
|
|
[Admin Panel (Next.js)] --docker.sock--> [Docker Engine]
|
||
|
|
| |
|
||
|
|
| [Containers]
|
||
|
|
| / / | \
|
||
|
|
| / / | \
|
||
|
|
v v v v v
|
||
|
|
[Unified DB] <----> [Emulators: Arcturus | Havana | Kepler | Roseau]
|
||
|
|
^ ^ ^ ^
|
||
|
|
| | | |
|
||
|
|
+----> [Clients: Cool UI, Nitro React, Havana Web, Roseau Client]
|
||
|
|
```
|
||
|
|
|
||
|
|
Key flows: the admin panel controls containers via the Docker socket, all emulators share the unified MariaDB instance, and clients talk to their respective emulators (plus asset/CDN services).
|
||
|
|
|
||
|
|
### 🔌 Port Map (host -> container)
|
||
|
|
|
||
|
|
| Service | Port | Notes |
|
||
|
|
|---------|------|-------|
|
||
|
|
| unified-db | 3306 | MariaDB |
|
||
|
|
| phpmyadmin | 8081 | DB admin UI |
|
||
|
|
| redis | 6379 | Cache/session |
|
||
|
|
| arcturus-emulator | 30000 | Game server |
|
||
|
|
| arcturus rcon | 2096 | Remote console |
|
||
|
|
| havana-server | 12321/12322/12323 | Game / MUS / RCON |
|
||
|
|
| kepler-server | 13321/13309/13322 | Game / RCON / MUS |
|
||
|
|
| roseau-server | 37120/37119 | Game / RCON |
|
||
|
|
| cool-ui | 5174 | Modern client |
|
||
|
|
| nitro-react | 5173 | Modern client |
|
||
|
|
| havana-web | 8084 | Web client |
|
||
|
|
| roseau-client | 8082 | Web client |
|
||
|
|
| atomcms | 80 / 443 | CMS |
|
||
|
|
| asset-server | 8083 | Nitro assets |
|
||
|
|
| admin-panel | 3000 | Management UI |
|
||
|
|
|
||
|
|
### ⚙️ Environment Variables
|
||
|
|
|
||
|
|
Copy `.env.example` to `.env` and adjust for your host and credentials. A full reference lives in [documentation/ENVIRONMENT.md](documentation/ENVIRONMENT.md).
|
||
|
|
|
||
|
|
### 🌍 Resources
|
||
|
|
|
||
|
|
- **[`translation_lists/`](translation_lists/)**: A massive project to translate the Arcturus catalog from Spanish to English. See [translation_lists/README.md](translation_lists/README.md) for progress and contributing.
|
||
|
|
|
||
|
|
## 🚀 Getting Started
|
||
|
|
|
||
|
|
The recommended way to run the environment is via the provided helper script:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Start the interactive management menu
|
||
|
|
./docker-manage.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
Or start a specific stack directly:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
./docker-manage.sh start arcturus
|
||
|
|
```
|
||
|
|
|
||
|
|
For full instructions, please refer to the [Quick Start Guide](QUICKSTART.md).
|