80 lines
2.8 KiB
Markdown
80 lines
2.8 KiB
Markdown
# Arcturus Morningstar (Retro Environment)
|
|
|
|
The **Retro** environment is the flagship modern stack in Habland. It is designed to emulate a post-Flash, HTML5/Canvas era Habbo Hotel (2020+), utilizing the latest community advancements.
|
|
|
|
## 🛠 Tech Stack
|
|
|
|
### Core Emulator
|
|
|
|
- **Project**: Arcturus Morningstar Extended
|
|
- **Language**: Java 21
|
|
- **Networking**: Netty (TCP & WebSocket)
|
|
- **Database**: MySQL 8.0 (served via Unified DB or local container)
|
|
|
|
### Client
|
|
|
|
- **Project**: Nitro React
|
|
- **Technology**: React, PixiJS, TypeScript
|
|
- **Variants Included**:
|
|
- **Standard Nitro**: A faithful clean implementation.
|
|
- **Cool UI**: A modified version with a custom, modern dark/purple UI theme.
|
|
|
|
### CMS
|
|
|
|
- **Project**: AtomCMS
|
|
- **Framework**: Laravel 10 (PHP 8.2)
|
|
- **Features**: Full Web Store, User Management, Articles, Rich Leaderboards.
|
|
|
|
## 🚀 Key Features
|
|
|
|
1. **Full Modern Client Support**: Uses Nitro, which runs natively in all modern browsers without plugins (no Flash/Shockwave needed).
|
|
2. **WebSocket Support**: The emulator listens on port `2096` for secure WebSocket connections, enabling smooth in-browser gameplay.
|
|
3. **Camera & Rendering**: Fully working client-side camera implementation using nitro-renderer.
|
|
4. **Wired Furni**: Extensive support for complex wired furniture logic.
|
|
5. **Mod Tools**: Modern moderation tools built into the client interface.
|
|
|
|
## 📂 Project Structure
|
|
|
|
Located in `/retro`, the structure is:
|
|
|
|
```
|
|
retro/
|
|
├── Arcturus-Morningstar-Extended/ # Java Emulator Source
|
|
├── Nitro-Cool-UI/ # Cool UI Client Source
|
|
├── nitro-react/ # Standard Nitro Client Source
|
|
├── atomcms/ # Laravel CMS Source
|
|
├── nitro-assets/ # Game Assets (SWFs, json, images)
|
|
└── docker-compose.yml # Definition for the entire stack
|
|
```
|
|
|
|
## 🔌 Ports & Services
|
|
|
|
| Service | Port | Description |
|
|
| ------------------- | ------- | ------------------- |
|
|
| **Nitro Client** | `5173` | Standard Client |
|
|
| **Cool UI** | `5174` | Modified UI Client |
|
|
| **Emulator (Game)** | `30000` | Game TCP Port |
|
|
| **Emulator (WS)** | `2096` | Game WebSocket Port |
|
|
| **CMS** | `80` | Web Website |
|
|
| **Assets** | `8080` | Asset Server |
|
|
|
|
## 🛠 setup & Running
|
|
|
|
The recommended way to run this stack is via the main management script:
|
|
|
|
```bash
|
|
./docker-manage.sh start arcturus
|
|
```
|
|
|
|
Or manually via Docker Compose in the `retro` directory:
|
|
|
|
```bash
|
|
cd retro
|
|
docker compose up -d
|
|
```
|
|
|
|
## ⚠️ Notes
|
|
|
|
- This is the most resource-intensive stack due to running multiple Node.js builds and Java virtual machines.
|
|
- Ensure your `nitro-assets` folder is populated; otherwise, furniture will appear as black boxes (placeholders).
|