An emulator for Habbo servers made in PHP. In order to learn how to build concurrent applications using threads and memory management.
PS: This will never be a production project, so don't try to use this in your hotel. This project is for learning only!
- PHP ^8.1
git clone https://github.com/nicollassilva/hydraphp
cd hydraphp
composer install
Configure the config.json file and run the emulator with:
- Windows with Windows Terminal:
./start.bat
- Linux:
bin\sh ./start.sh
Or if none of the above work, run directly via PHP:
php bootstrap.php
PS: The emulator only works with SWF. So it doesn't support Nitro HTML5 version.
- Parse the configuration file and get all emulator settings via MySQL
- Create a TCP server with client management
- Parse incoming/outgoing packets
- Create a MySQL connection handler
- Create a Cross-Domain Policy handler
- Login with real user data (via MySQL)
- List all rooms in the navigator (publics, populars, and my rooms)
- Enter and exit a room
- Room chat with bubble types
- Room movement (pathfinding)
- Search rooms in the navigator
- List all catalog pages/items
- Load all placed items in the room
- Create a room
- WIP: Room item placement/movement/interaction
- Buy catalog items
- Save room data in MySQL
- Create a Nitro connection handler (HTML5 client)