Skip to content

Imager for Habbo Hotel versions in Shockwave and Flash written in C# .NET 8. Also supports badge imaging.

Notifications You must be signed in to change notification settings

Quackster/Minerva

Repository files navigation

Minerva

Imager for Habbo Hotel releases Shockwave and Flash. It uses the two projects (Badger, and Avatara) as libraries combined into one, to make the web server.

It supports rendering both figures/avatars and group badges.

When used, the following endpoints will be available:

/habbo-imaging/avatarimage

/habbo-imaging/badge/{badge-code}.gif

(This is for the client only due to the way Shockwave handles transparency)

/habbo-imaging/badge-fill/{badge-code}.gif

Download

The latest builds for Linux and Windows are found on the latest tag.

OS Download
Linux (64-bit) Minerva-linux-x64.zip
Windows (64-bit) Minerva-win-x64.zip

This project is using both Avatara and Badger as dependencies.

Setup

To run Minerva, you need to install .NET 8 runtime for your operating system.

Once downloaded, you may execute ./Minerva (Linux) or Minerva.exe (Windows).

As soon as it starts, it will extract all the SWFS in /figuredata/ and build the XML and image files, all this will be located in /xml/ and /images/ inside /figuredata/.

Once that's done, you should see the following console output.

Loading flash assets...
9762 flash assets loaded
Loading figure data...
301 figure sets loaded
11 figure set types loaded
3 figure palettes loaded
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path...

The the following path should give the expected output:

http://localhost:5000/habbo-imaging/avatarimage?figure=hd-180-1.hr-100-61.ch-210-66.lg-270-82.sh-290-80&size=b&direction=4&head_direction=4&crr=0&gesture=sml&frame=1

image

By default the port it listens on will be 5000 but this can be changed to 8080 (or any other port for your liking) with the command line arguments --urls=http://*:8080/

Group badges in-client setup

Minerva has a special path to use for the Shockwave client, ensure that "badge-fill" is being used.

In external_texts.txt (yes, the client reads from this file...)

Make sure the line is (with port 5000 being changed to what you are using):

group_logo_url_template=http://localhost:5000/habbo-imaging/badge-fill/%imagerdata%.gif

Note: if you are using Havana with the latest version (at minimum, released 14th Janurary 2023), then set as line below:

group_logo_url_template=http://localhost/habbo-imaging/badge-fill/%imagerdata%.gif

Group badges should now work in-game.

image

Adding custom clothes

  1. Adding more clothes is easy, ensure /xml/ and /images/ are either empty or don't exist in /figuredata/

  2. Put the SWFs that have these clothes inside /figuredata/compiled/

  3. Update figuredata.xml with the one that has the new clothes inside of it

Run Minerva and it should be supported.

How do I use it for my site written in a different language?

You can proxy it.

An example in PHP:

<?php
header ('Content-Type: image/png');
echo file_get_contents("http://127.0.0.1:8090/?" . $_SERVER['QUERY_STRING']);
?>

Cloning this repository

$ git clone --recursive https://github.com/Quackster/Minerva

or

$ git clone https://github.com/Quackster/Minerva
$ git submodule update --init --recursive

About

Imager for Habbo Hotel versions in Shockwave and Flash written in C# .NET 8. Also supports badge imaging.

Resources

Stars

Watchers

Forks

Packages

No packages published