Jump to content

Welcome to the Heroes of Newerth forums

The forums have received a complete makeover. Click the button below to read more about it.
Read more

Recommended Posts

Posted (edited)

Greeting fellow Linux-users,

since I've seen a couple of Linux people having problems with HoN, I've decided to try to package it.
I haven't done that before, so it'll probably have issues which I might or might not be able to fix.

Anyways, let me summarize what an AppImage is:
Basically it combines all the libraries together with an application so you don't have to manually install the required libraries on your system.
It's a distribution-independent Tool that should run almost everywhere - you could even run it on Windows via WSL!

Since the image would be really big if it contained the entire client, I have left most of HoNs files out (especially resource-files). This has the side-effect of you having to download basically the entire client via repair-install (which starts automatically until it finds at least some resource-files).
Right now there are files missing on the HoN-servers, so repair-install will not succeed! Which means, this image doesn't work on it's own right now. However I've informed FB about it, and they'll probably fix that eventually.
For the time being, you have to manually install HoN somewhere and follow a couple of additional steps - and you might want to follow these steps anyways, if you already have HoN downloaded (and don't want to download it again). So here they are:

Spoiler
  1. Switch into your current HoN-Folder - that should contain a file called "hon.sh"
  2. Open a terminal at that folder
  3. Execute the following command here:
    
    rm -rf ~/.Heroes\ of\ Newerth/.bin; cp -r . ~/.Heroes\ of\ Newerth/.bin/

     

  4. Run the AppImage - it should start HoN right away

Currently known problems (fixing takes some time since building the image and uploading it takes time):

  • It requires 64bit linux - this won't be fixed
  • Repair install doesn't finish - this is actually a FB-issue, but there's workaround (read above)

So here's the download (~ 23 MB):
https://manu311.de/Heroes_Of_Newerth-x86_64.AppImage

To (normally) run it, you simply have to mark the downloaded file as executable and run it.
You will never have to run it as root, so no sudo or su commands required.


If you have any issues, please let me know.

Planned improvements/features:

Spoiler
  • Custom downloader, which downloads the files faster than the official one
  • Additional hosting of missing files on my server, so missing files on official server are no longer an issue
  • Adding metadata to the AppImage
  • Adding AppImage-Updating

Potential features - if they get requested:

Spoiler
  • Usb-image with a minimal Linux-distribution tuned for running HoN
  • Docker-images for servers to be better HoN-download-servers (better, because they have all the files and can run https)
  • File-validation for the custom-downloader
  • Custom downloader using (multiple) custom servers

 

Edited by Manu311
Updated file-size
  • Like 5
Link to post
Share on other sites
Posted (edited)

Changelog

0.1 - 2020/05/29
Initial Release

0.2 - 2020/05/29
Fixed these bugs:

  • GLIBC_2.28 is required
  • Systemd needs workaround (I know how to fix this in the next version)

1.0 - 2020/06/05 (checksum: d0c2f2225c2f7750a4f733924a142558)

  • Rework of how the image works.
  • Drastically decreased image size (6.2 GB to 45 MB)
  • It is now possible to update HoN via the HoN-updater
  • Additional files have to be downloaded on first start

1.1 - 2020/06/07 (checksum: 860d9a98b8b321369c7b7c052ad1b700)

  • Switch from Debian-based to Gentoo-based
  • Added more libraries
  • Reduced build-flags of every required library as much as possible
  • Hopefully fixes udev and libgconf-issues

1.2 - 2020/06/08 (checksum: aa8d74a816983f1b0da8ed981d0c6c43)

  • Removed all files (but the desktop-icon) from HoN and replaced them with custom downloading code
  • Reduced image size to 8.6 MB
  • Hopefully also fixed udev-bug now

1.3 - 2020/06/17 (checksum: 9515cb448d72c8abd0e2bc7bd93f220f)

  • Increased Image-Size to 23 MB
  • Added a bunch of libraries
  • Additionally tested on (and fixed for) Manjaro Linux
Edited by Manu311
Added 1.3
  • Like 3
Link to post
Share on other sites
Posted (edited)

Release 1.0 is currently getting tested.

Changelog has been updated, however download-link is not yet updated. It will probably also move away from torrent since the file-size is now way more manageable.

On 5/29/2020 at 3:33 PM, Manu311 said:
  • Rework of how the image works.
  • Drastically decreased image size (6.2 GB to 40 MB)
  • It is now possible to update HoN via the HoN-updater
  • Additional files have to be downloaded on first start

//EDIT:

Apparently the patch-server doesn't provide all the files which are missing. I'll figure something out, but it'll take some time.

//EDIT 2:

The patch-server still doesn't provide all the required files, but manually copying the files where they would be copied to should work, so I included a small tutorial for that.
I also informed Frostburn about the missing files and they'll probably fix them eventually ? .

Edited by Manu311
Link to post
Share on other sites

Release 1.1 is ready

I switched the "distribution" inside the image from Debian to Gentoo and hopefully included all the required libraries.
I tested it on multiple Gentoo systems and Linux Mint - so with or without systemd should work.

Image size has been increased to 58MB - primarily because I added more libraries. There's still room for improvement here, since right now it contains libraries from hon which are (uncompressed) 80MB - if I figure out where to download those, I'll reduce the image-size again.

This should fix the libgconf-issue - and I've also edited HoNs startup file to include the new default path /lib64 for udev, which hopefully fixes the udev-issue.

Link to post
Share on other sites

Release 1.2 is ready

Once again I drastically reduced the image size and fixed bugs.
Image-Size is now down to 8.6 MB! and contains basically no file from HoN itself. The only file that is still included is the desktop-icon (which I haven't even tested, since I don't have a desktop).

The image will now download everything at first start. It will download a little more than it requires to run the hon-repair-tool and initiate that after.
However there are a couple of files which it can't download, but which aren't necessary - however it will print out messages about those, so just ignore those 4 "Couldn't download ..." messages for now.
Also it still requires the separate download since the repair tool can't find all the files either.

Link to post
Share on other sites

Release 1.3 is ready

This time image-size increased again, since I had to include a couple of big libraries, to make the image run on more systems.
There are still libraries that aren't included in the image, but as long as they are provided by every linux-system, that should be fine. However if anyone has a system that doesn't run the AppImage, please tell me the distribution and version, so I can look for the problem. This time it was Manjaro Linux which I fixed.

Link to post
Share on other sites
  • 4 weeks later...
  • 2 months later...
On 9/23/2020 at 1:14 PM, albitos said:

Hey man. Do you have a source for this? I would love to tinker with it - it stopped working for me on Manjaro ?

I'm a little bit busy right now. But I might clean it up and put in on Github in 1½ weeks if you can wait for that ? .

You'll might need to know at least parts of the following technologies I guess:

  • Gentoo Linux
  • Docker
  • Ansible
  • Shell Scripts
  • AppImage ?
Edited by Manu311
Link to post
Share on other sites
  • 3 weeks later...
On 9/23/2020 at 1:14 PM, albitos said:

Hey man. Do you have a source for this? I would love to tinker with it - it stopped working for me on Manjaro ?

Took me a little time, but is the source-code: https://github.com/Manu311/HoN-AppImage

I should probably write some instructions, but I haven't done that yet ? . Iirc you should be able to just go into the ansible directory, run `ansible-playbook site.yml` and wait for a AppImage to appear.

The Code is not really cleaned up, but it works. In case you want to run it based on Debian instead of Gentoo, I put my entire git-history there, so you can read through that as well.

Edited by Manu311
Link to post
Share on other sites
  • 2 weeks later...

Hello,

as Im not able to start the original Linux client because of some lib incompatibility.. is there way how to update the game using ur appImage? I happily started the game, pressed "update", hon closed but the update dialog havent appeared.

 

Edit: sorry, it actually updated the game and started it again, there just wasnt any updating dialog :))

 

Edited by Huholoman
Link to post
Share on other sites
2 hours ago, Huholoman said:

Edit: sorry, it actually updated the game and started it again, there just wasnt any updating dialog :))

 

That's strange. For updates I haven't build anything special, it should just use the normal update-program of HoN 🤔. Maybe it got minimized for some reason.

Anyways, glad it works for you 😉

Link to post
Share on other sites
  • 4 weeks later...

Just installed yesterday, thank you for putting in the effort to do this.  Devops is a thankless job at times. I do have one issue to report,

1. I installed the game from https://forums.heroesofnewerth.com/index.php?/topic/31-mac-linux-clients-unofficial-downloads/

2. I moved the game to .Heroes\ of\ Newerth instead of HoN

3. I went through your instructions

4. Launched, logged in, then updated the game.

4. Reloaded the game and played a game of midwars and noticed the recipe for spellshards was incorrect.  It was listing Arcana as the required item for the recipe when its the cogwheel.

Link to post
Share on other sites
52 minutes ago, pussyfingerz said:

Just installed yesterday, thank you for putting in the effort to do this.  Devops is a thankless job at times. I do have one issue to report,

1. I installed the game from https://forums.heroesofnewerth.com/index.php?/topic/31-mac-linux-clients-unofficial-downloads/

2. I moved the game to .Heroes\ of\ Newerth instead of HoN

3. I went through your instructions

4. Launched, logged in, then updated the game.

4. Reloaded the game and played a game of midwars and noticed the recipe for spellshards was incorrect.  It was listing Arcana as the required item for the recipe when its the cogwheel.

I recall having such issues in the past as well. However they should not be caused by the AppImage. There are two possible reasons:
1. FB forgot to patch the specific file for Linux (which might be the case, as I haven't played anything that buys Spellshard recently - and I can't check right now)
2. You got either a resourcesX.s2z which overrides the recipe or the raw file from within the resource-file.

Link to post
Share on other sites

So aside from the issue above, I was able to play a bunch of games last night without interruption.  But tonight while trying to play, I was getting kicked from games periodically for my client files not matching the servers.

 

Edit: Ran the installer again and wasn't getting kicked.

Edited by Pussyfingerz
Link to post
Share on other sites
  • 2 weeks later...
50 minutes ago, Huholoman said:

Hello,

can I ask you, does this appimage works for you after last update? I cant connect to any server, when it finds match or i want to mentor somebody it sais "no response" 😕

Sadly the answer to that question is: No (I only tried mentoring though)

However I've read somewhere, that there's an issue right now with Linux which will be fixed soon. I can't find the post, so I might be imagining things. Either way, this AppImage shouldn't be causing these issues. If you can play HoN on Linux without it, but not with it, I'll look deeper into it (even though I don't even know where the problem could be, and usually I have way too many possibilities I think of 😉).

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...