A Habbo asset workstation that bundles every step of a hotel pipeline behind
a single binary: download Habbo's official CDN assets, import custom packs,
merge furnidata / clothesdata / productdata, convert SWF → Nitro, generate
the SQL inserts for items_base + catalog_items, and fix the database in
place.
It ships with four interchangeable UI shells (same workflows behind each) plus a self-contained binary for Windows and Linux.
| Runtime | .NET 11 Preview 6, cross-platform (Windows x64, Linux x64) |
| Spritesheet engine | SixLabors.ImageSharp 3.x (replaces System.Drawing) |
| Terminal UI | Terminal.Gui 1.19 (mouse + keyboard) |
| Desktop UI | Avalonia 12 (Professional MVVM dashboard + legacy Mainframe / Matrix) |
| Database | MySql.Data 9.7 (MariaDB / MySQL) |
| SWF decompiler | JPEXS Free Flash Decompiler (Tools/ffdec/) |
| Data formats | Strict single-file JSON |
The same menus and tools sit behind each shell, so anything you learn in one carries over.
-
Professional — the recommended native Avalonia MVVM dashboard. Provides module navigation, operation cards, live status and logs, native prompt input, database safety confirmations, and the operating-system theme.
-
TUI — mouse-driven mainframe terminal (Terminal.Gui). IBM 3270 / CICS look, mouse + keyboard, F-keys, captured output in a scrollable log pane.
-
CLI — same mainframe theme rendered with plain
Console.WriteLine. Keyboard only. Useful over SSH, piped, or in restricted terminals. -
GUI — native desktop window (Avalonia). Two themes:
- Mainframe — cyan header bar, phosphor green body, red BACK/EXIT, classic bank-terminal feel.
- Matrix — pure phosphor green on black, with a digital-rain background of digits cascading behind the menus.
When the Windows binary is double-clicked from a file manager, a native
selector offers all four interfaces. The Linux .desktop entry opens its
terminal selector so TUI and CLI remain usable. A terminal launch offers the
same four choices. The existing shells retain the s menu entry for switching
mode without restarting the process.
Habbo Downloader # four-interface selector
Habbo Downloader --professional # Professional MVVM dashboard
Habbo Downloader --tui # mouse mainframe TUI
Habbo Downloader --cli # keyboard-only mainframe CLI
Habbo Downloader --gui # desktop window (prompts theme)
Habbo Downloader --help # flags + commands
Habbo Downloader --version # fetched current Habbo client version
Every menu has an auto-injected ? entry that documents what each item
does and what input it expects — read it from inside the tool, no need
to keep notes.
- Habbo Original Downloads — pull every official asset from the Habbo
CDN: badges, clothes (figuredata + figuremap), effects, furnidata,
furniture SWF, icons, MP3, productdata, quest images, reception art,
texts, variables.
allruns the full bootstrap. - Nitro Custom Downloads — multi-source import of custom furniture / clothes packs.
- Hotel Tools — Merge Furnidata / Productdata / Clothesdata using
strict single JSON files, Generate SQL for
items_base+catalog_items, Decompile / Compile.nitrobundles, Convert Nitro PNG → WebP Lossless, Decompile.swfassets (images, XMLs, symbols, ActionScript.as, audio), and SWF → Nitro for Furniture / Clothes / Pets / Effects. - Database Tools — show DB version, optimize tables, fix offer_id,
fix sit/lay/walk in
items_base, fix sprite_id / item_id from JSON.
Every Merge tool and the SQL Generator accepts one strict .json file per
dataset. Directory manifests, split tiers, comments, trailing commas and
alternative JSON extensions are rejected.
- Drop
.nitro(or.swf) files intoGenerate/Furniture/(recursive). - Drop
FurnitureData.jsonintoGenerate/Furnidata/. - Run Hotel Tools → Generate SQL.
- The tool reads width / length / height / interaction count straight
from each
.nitroand asks for:- Starting ID for
items_baseandcatalog_items(e.g.select * from items_base order by id desc limit 1). Catalog_PageID where you want the items.
- Starting ID for
- Output goes to
Generate/Output_SQL/with a timestamp, one INSERT per item.
These directories are created next to the binary on first run (do not commit them):
Habbo_Default/ downloaded official Habbo assets
Merge/ Original_/Import_/Merged_ for Furnidata, Productdata, Clothes
Generate/ Furnidata/, Furniture/, Output_SQL/
NitroCompiler/ compile/, compiled/, extract/, extracted/, convert_webp/, converted_webp/
SWFCompiler/ import/, decompile/, decompiled/, plus output directories per asset class
Database/Variables/ drop FurnitureData.json here for the DB fix tools
custom_downloads/ multi-source custom downloader output
cd SourceCode
dotnet build "Habbo Downloader.csproj" # debug build
dotnet run -- --professional # run the Professional UIPrerequisites: .NET SDK 11 Preview 6 + Java (for FFDec, used by every SWF → Nitro path) + Node.js (for some helpers).
./publish-win.bat # → publish/win-x64/Habbo Downloader.exe (~70 MB)
./publish-linux.sh # → publish/linux-x64/Habbo Downloader (~70 MB) + .desktop entryBoth scripts produce a self-contained single-file binary (no .NET runtime
required on the target machine) with the FFDec tooling next to it. The
Linux script also drops an all-in-1-converter.desktop so file managers
can double-click straight into the GUI.
.github/workflows/build.yml— on push / PR / manual dispatch, builds both Windows and Linux targets and uploads them as 30-day artifacts..github/workflows/release.yml— on tagv*(or manual dispatch with a tag input), builds both targets, zips / tar.gzs them, and publishes a GitHub Release with the binaries attached.
git tag v2.0.0 && git push origin v2.0.0 # cuts a Release with both binariesDrop-in custom effects live in Addons/Custom Effects/ — read the README
there for the file naming convention. The Among Us pack and the Leet pack
are included as references.
- Life — .NET 11 upgrade, strict JSON-only migration, removal of the JSON5 split layout, and the Professional Avalonia MVVM dashboard.
- medievalshell — .NET 10 modernization, cross-platform refactor, ImageSharp migration, the earlier JSON5 split-mode layer, three UI shells (CLI / TUI / GUI), Mainframe + Matrix themes, and GitHub Actions pipeline.
- duckietm — original all-in-1 downloader, SWF → Nitro pipeline, SQL generator, database tools, upstream maintainer.
- Nitro Team — pets converter base (
discord.gg/yCXcMqrT). - AtlasOmega — "Among Us" effects (enable 880-903).
- Leet — enables 500-688.
- The whole Habbo retro community.
Discord: https://discord.gg/txfNucJv
Everything here is free — don't get scammed.