1
Fork 0
mirror of https://github.com/Quackster/Minerva.git synced 2025-06-29 21:07:45 +00:00

Update github workflow and readme

This commit is contained in:
Quackster 2023-01-14 15:54:01 +10:00
parent f4b0f2f856
commit bd4a484d9c
2 changed files with 115 additions and 30 deletions

View file

@ -31,19 +31,47 @@ jobs:
- name: Build Linux 64-bit - name: Build Linux 64-bit
run: dotnet publish -c Release -r linux-x64 --output linux-x64 Minerva.sln --self-contained false run: dotnet publish -c Release -r linux-x64 --output linux-x64 Minerva.sln --self-contained false
- name: Unzip figuredata file
uses: montudor/action-zip@v1
with:
args: unzip -qq ./tools/figuredata-shockwave.zip -d linux-x64
- name: Unzip badges file
uses: montudor/action-zip@v1
with:
args: unzip -qq ./tools/badges.zip -d linux-x64
- name: File release preparation
run: |
sudo cp tools/badge_resource.json linux-x64
- name: Compress release files - name: Compress release files
uses: montudor/action-zip@v1 uses: montudor/action-zip@v1
with: with:
args: zip -qq -r ./Minerva-${{ steps.sha-short.outputs.sha-short }}-linux-x64.zip linux-x64 args: zip -qq -r ./Minerva-linux-x64.zip linux-x64
# Publish Windows 64-bit executable # Publish Windows 64-bit executable
- name: Build Windows 64-bit - name: Build Windows 64-bit
run: dotnet publish -c Release -r win-x64 --output win-x64 Minerva.sln --self-contained false run: dotnet publish -c Release -r win-x64 --output win-x64 Minerva.sln --self-contained false
- name: Unzip figuredata file
uses: montudor/action-zip@v1
with:
args: unzip -qq ./tools/figuredata-shockwave.zip -d win-x64
- name: Unzip badges file
uses: montudor/action-zip@v1
with:
args: unzip -qq ./tools/badges.zip -d win-x64
- name: File release preparation
run: |
sudo cp tools/badge_resource.json win-x64
- name: Compress release files - name: Compress release files
uses: montudor/action-zip@v1 uses: montudor/action-zip@v1
with: with:
args: zip -qq -r ./Minerva-${{ steps.sha-short.outputs.sha-short }}-win-x64.zip win-x64 args: zip -qq -r ./Minerva-win-x64.zip win-x64
# Create latest tag # Create latest tag
- uses: "marvinpinto/action-automatic-releases@latest" - uses: "marvinpinto/action-automatic-releases@latest"
@ -53,5 +81,5 @@ jobs:
prerelease: true prerelease: true
title: "Development Build ${{ steps.sha-short.outputs.sha-short }}" title: "Development Build ${{ steps.sha-short.outputs.sha-short }}"
files: | files: |
Minerva-${{ steps.sha-short.outputs.sha-short }}-linux-x64.zip Minerva-linux-x64.zip
Minerva-${{ steps.sha-short.outputs.sha-short }}-win-x64.zip Minerva-win-x64.zip

109
README.md
View file

@ -1,40 +1,97 @@
# Minerva # 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.
# Installing 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.
Locate the .zip files in /tools/ It supports rendering both figures/avatars and group badges.
Extract in same directory as what the project is running on. When used, the following endpoints will be available:
Extract *figuredata-shockwave.zip* if you plan to use 2012-2007 era clothing.
Extract *figuredata-2013.zip* if you plan to use 2013 era clothing.
You can add your own SWFs by simply replacing the SWFS in /figuredata/compiled/ and also replace the figuredata.xml.
If the **xml** and **images** folder doesn't exist, Avatara will automatically create the folders and extract the SWFs on first run, so that each subsequent run is quicker.
Run the project.
(On Linux for example)
``./Minerva --urls=http://*:8090/``
(On Windows for example)
``Minerva.exe --urls=http://*:8090/``
The endpoints will be available:
``/habbo-imaging/avatarimage`` ``/habbo-imaging/avatarimage``
``/habbo-imaging/badge/{badge-code}.gif`` ``/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`` ``/habbo-imaging/badge-fill/{badge-code}.gif``
## How do I use it for my site? # Installing
The latest builds for Linux and Windows are found on the [latest](https://github.com/Quackster/Minerva/releases/tag/latest) tag.
| OS | Download |
|---|---|
| Linux (64-bit) | [Minerva-linux-x64.zip](https://github.com/Quackster/Minerva/releases/download/latest/Minerva-linux-x64.zip) |
| Windows (64-bit) | [Minerva-windows-x64.zip](https://github.com/Quackster/Minerva/releases/download/latest/Minerva-windows-x64.zip) |
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](https://user-images.githubusercontent.com/1328523/212457834-67011df8-db85-41da-ad71-129bd1fadd33.png)
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](https://user-images.githubusercontent.com/1328523/212458081-6f3d390b-48de-4401-bb56-8beab3250269.png)
## 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. You can proxy it.