hydraphp icon indicating copy to clipboard operation
hydraphp copied to clipboard

A Habbo emulator made with ReactPHP and PHP (without frameworks)

HydraPHP - Habbo Emulator

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!

Requirements

  • PHP ^8.1

Installation and Running

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.

TODO:

  • [x] Parse the configuration file and get all emulator settings via MySQL
  • [x] Create a TCP server with client management
  • [x] Parse incoming/outgoing packets
  • [x] Create a MySQL connection handler
  • [x] Create a Cross-Domain Policy handler
  • [x] Login with real user data (via MySQL)
  • [x] List all rooms in the navigator (publics, populars, and my rooms)
  • [x] Enter and exit a room
  • [x] Room chat with bubble types
  • [x] Room movement (pathfinding)
  • [x] Search rooms in the navigator
  • [x] List all catalog pages/items
  • [x] Load all placed items in the room
  • [x] Create a room
  • [ ] WIP: Room item placement/movement/interaction
  • [ ] Buy catalog items
  • [ ] Save room data in MySQL
  • [ ] Create a Nitro connection handler (HTML5 client)

Discover the Orion project