# Havana Environment **Havana** is a unique emulator project targeting the "Transition Era" (v31+ from ~2009). This was the period where Habbo began introducing Flash elements alongside Shockwave, leading up to the full Flash migration. ## 🛠 Tech Stack - **Language**: Java 17 - **Base**: Originally a fork of Kepler, evolved to support v31. - **Client**: Supports dual connection: - **Shockwave**: For v31 specific features. - **Flash**: For r39+ era connections. ## 🚀 Key Features - **Hybrid Support**: One of the few emulators attempting to bridge the gap between late Shockwave and early Flash. - **Ecotron**: Working recycling system. - **Games**: BattleBall, SnowStorm, Wobble Squabble. - **CMS Integration**: Comes with a deeply integrated Java-based "Web" component (Havana-Web) acting as the CMS backend. ## 📂 Project Structure Located in `/havana`, the structure is: ``` havana/ ├── Havana_Repo/ │ ├── Havana-Server/ # Game Server Source │ ├── Havana-Web/ # Integrated CMS/Web Source │ └── tools/ # Assets and DB schemas └── start_havana.sh # Helper script ``` ## 🔌 Ports | Port | Description | | ------ | -------------------------------------------------------------------------- | | `80` | Web Interface/CMS (Note: Conflicts with AtomCMS if running simultaneously) | | `3307` | Dedicated DB Port (if not using unified) | ## 🛠 Setup & Running **Important**: Havana usually demands port `80`. Ensure other web services (like AtomCMS in `/retro` or Apache/Nginx on your host) are stopped. ```bash ./docker-manage.sh start havana ``` Or using the specific script in the folder: ```bash cd havana ./start_havana.sh ``` ## 🌐 Access - **Website**: `http://localhost` (Register/Login here) - **Client**: Launched from the website after login. Requires Shockwave-compatible browser.