mirror of
https://github.com/billsonnn/nitro-imager
synced 2024-11-26 17:30:52 +01:00
111 lines
3.8 KiB
Markdown
111 lines
3.8 KiB
Markdown
# Nitro Imager
|
|
|
|
This tool serves as a server-side habbo-imager using the same avatar generator from nitro-renderer. It will download & cache in memory ``.nitro`` assets. Rendered figures will also save to a local folder to prevent re-renders. You will use the same process as your nitro-client to update assets for the imager.
|
|
|
|
## Configuration
|
|
|
|
You must configure your urls in `config.json`
|
|
|
|
Your figuredata, figuremap, effectmap, & HabboAvatarActions can safely point to a remote URL without worrying about performance.
|
|
|
|
You should set all download urls to local absolute paths on your system, this will allow for faster downloading of figures. However, you may point to remote urls as well.
|
|
|
|
You must also set an absolute path to a location where rendered figures can save to. This can be a private folder that is not accessible from the web.
|
|
|
|
## Running the server
|
|
|
|
**Make sure you run ``npm i`` before first use.**
|
|
|
|
You must compile the server by running ``npm run build``
|
|
|
|
To start the server you must run ``npm start``
|
|
|
|
The server will run on the desired host & port as set in the config. You must setup a reverse proxy on your server to make the imager publicly accessible.
|
|
|
|
NGINX Example
|
|
|
|
server {
|
|
listen 80;
|
|
listen [::]:80;
|
|
|
|
listen 443;
|
|
listen [::]:443;
|
|
|
|
server_name habbo-imaging.website.com;
|
|
|
|
location / {
|
|
proxy_pass http://localhost:1338;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
}
|
|
}
|
|
|
|
|
|
## URL paramaters
|
|
|
|
Their are a few different options you may pass as URL parameters to generate figures with different actions. All parameters are optional.
|
|
|
|
| key | default | description |
|
|
| ------ | ------ | ------ |
|
|
| figure | null | The figure string to be rendered |
|
|
| action | null | The actions to render, see actions below |
|
|
| gesture | std | The gesture to render, see gestures below |
|
|
| direction | 2 | The direction to render, from 0-7 |
|
|
| head_direction | 2 | The head direction to render, from 0-7 |
|
|
| headonly | 0 | A value of ``0`` or ``1`` |
|
|
| dance | 0 | A dance id of 0-4 to render |
|
|
| effect | 0 | An effect id to render |
|
|
| size | n | The size to render, see sizes below |
|
|
| frame_num | 0 | The frame number to render |
|
|
| img_format | png | A value of ``png`` or ``gif``. Gif will render all frames of the figure |
|
|
|
|
## Actions
|
|
|
|
You may render multiple actions with a comma separater
|
|
|
|
Example: ``&action=wlk,wav,drk=1``
|
|
##### Posture
|
|
| key | description |
|
|
| ------ | ------ |
|
|
| std | Renders the standing posture |
|
|
| wlk,mv | Renders the walking posture |
|
|
| sit | Renders the sitting posture |
|
|
| lay | Renders the laying posture |
|
|
|
|
##### Expression
|
|
| key | description |
|
|
| ------ | ------ |
|
|
| wav,wave | Renders the waving expression |
|
|
| blow | Renders the kissing expression |
|
|
| laugh | Renders the laughing expression |
|
|
| respect | Renders the respect expression |
|
|
|
|
##### Carry / Drink
|
|
To hold a certain drink, use an equal separator with the hand item id. You can only render one of these options at a time
|
|
|
|
| key | description |
|
|
| ------ | ------ |
|
|
| crr,cri | Renders the carry action |
|
|
| drk,usei | Renders the drink action |
|
|
|
|
## Gestures
|
|
| key | description |
|
|
| ------ | ------ |
|
|
| std | Renders the standard gesture |
|
|
| agr | Renders the aggravated gesture |
|
|
| sad | Renders the sad gesture |
|
|
| sml | Renders the smile gesture |
|
|
| srp | Renders the surprised gesture |
|
|
|
|
## Sizes
|
|
| key | description |
|
|
| ------ | ------ |
|
|
| s | Renders the small size (0.5) |
|
|
| n | Renders the normal size (1) |
|
|
| l | Renders the large size (2) |
|
|
|
|
## Known Issues
|
|
* GIFs are only able to render 1 bit alpha channels, therefore most effects will not correctly render due to using many different alpha values.
|
|
* The rendered canvas size may not match habbos imager exactly, we will hopefully have this addressed soon.
|