Not a member yet? Why not Sign up today
Create an account  

Thread Rating:
  • 2 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
2019-01-10 Version Upgrades, Qt Libraries

#1
Ubuntu makes a long term support release every two years. Xubuntu is my preferred development environment so I try to stay in sync with the LTS releases. The most recent LTS release was 4/2018. The server version was not ready for installation right away so I waited to do the upgrades, until now.

Upgrading always takes a lot of work and the best ending is to have everything working again when it's over. It is best done when other tasks are not demanding attention. This week has been spent doing that work.

Qt Libraries on Linux
SoH distributions for Linux no longer contain any Qt libraries. This should result in better compatibility. It also makes the SoH distribution for Linux a bit smaller.

The launcher now consists of just three files: the executable, an icon, and a tiny data file. You should remove all lib files from the Shores of Hazeron/Launcher folder or unpack the new launcher into a new folder.

Similarly, the Shores of Hazeron/Programs folder may contain old Qt libraries. They all begin with libQt; remove them. The only lib files remaining in the Programs folder should begin with libAu; those belong to SoH.

UPDATE: Be sure to delete the qt.conf file from the Launcher and Programs folders.

Ubuntu 18
The current Ubuntu LTS release is 18.0.4. The Qt5 package available is 5.9.5 LTS. The apt package name is qt5-default.

Hazeron Commander also requires the qtmultimedia5 package. One of its objects is used to make sounds.

Mint 19
The current Mint release is 19.1. The Qt5 package available is 5.9.5 LTS. The apt package name is qt5-default.

Hazeron Commander also requires the qtmultimedia5 package. One of its objects is used to make sounds.

Debian 9
The current Debian release is 9.6.0. The Qt5 package available is 5.7.1. The apt package name is qt5-default.

Hazeron Commander also requires the libqt5multimedia5 package. One of its objects is used to make sounds.

Manjaro 18
The current Manjaro release is 18.0.2. Qt 5.12.0 LTS is installed with the base system, a pleasant surprise.

This is the first Arch Linux distro for SoH. I found it to be very nice.

openSUSE Tumbleweed
The rolling release version of openSUSE is Tumbleweed. It offers no Qt5 binary package.

If you have Qt5 setup on openSUSE, I will configure my openSUSE with the same Qt version and build SoH for you. Just ask.

Fedora 29
The current Fedora release is 29. The vintage Qt package available is 4.8.7, released December 2011. I will stop building SoH for Fedora, unless someone asks.

Other Linux Distros
For now, our front line support for Linux will rest on those distros that bundle a usable version of Qt5. If your distro is not represented here and it has a Qt5 package, let me know. I will gladly add it to the build list.

To find out what version of Qt you have, enter 'qmake -v' at a command prompt.

If a binary Qt5 package is not available for your Linux distribution, SoH can be built for you, as long as I can set up a virtual machine with that distro. Then you would have to build your own Qt libraries. The process of building Qt is moderately difficult, not always easy. The Qt source code is free for all Linux distros, I think. Let me know if you want to do this.

Windows 64 bits
Windows 64 bit build of SoH will now be built using Qt 5.9.5 LTS. Qt libraries (DLLs) are distributed with SoH. The Qt libraries are the ones distributed by The Qt Company.

Windows 32 bits
Windows 32 bit build of SoH will continue to be built using Qt 5.8.0 for a little longer. Qt libraries (DLLs) are distributed with SoH. The Qt libraries are the ones distributed by The Qt Company.

MacOS
MacOS build of SoH will continue to be built using Qt 5.8.0 for a little longer. It requires an OS upgrade on our Mac Pro, planned for later today.

The Qt package available is Qt 5.12.0 LTS. The app store package install downloads the Qt source code and builds it. The build failed on my Mac Pro because the OS version is too old.

I plan to have the MacOS build of SoH updated next week.

UPDATE

The macOS build is updated and ready to go. SoH for macOS includes the Qt 5.12.0 libraries. They are the ones from the app store package, the same ones SoH is built against. After upgrading my macOS, I don't think the package installer had to build the Qt libraries. They may be pre-built binaries, which would be nice.

I am still building an SoH that supports OpenGL 3.2 and one that supports OpenGL 4.1. You have to pick which one you want in the launcher settings. The way OpenGL is handled on the Mac, an app has to target a specific OpenGL standard when it is built and the programmer must not stray a step from the gl functions available under the targeted OpenGL standard. I suppose that is why stuff on the Mac tends to work so well.

Server Upgrades
The game servers run Ubuntu Server operating systems. They will be upgraded to 18.0.4 LTS starting Monday.

After going through the process on the debug servers, I think I can get all of the game servers done in one day. I'll keep the server status page updated as it goes.

The game universe will not be available for game play for parts of the day Monday, possibly most of the day.

One of the servers is currently dead in its rack. I will upgrade the OS on the other servers before going to Denver to revive it, in case more than one of them needs reviving.
Reply

#2
Hi Haxus,

after the update, the launcher starts fine, but the client won't. See attached screenshot for details.

   

I have downloaded the new launcher, installed the libraries required and the once mentioned in this thread. I have also installed xcb and xcb-randr packages manually. Still no success.

Any ideas?

Cheers
Reply

#3
Oh, my favorite "teardown and rebuild" process…
Good luck!
Reply

#4
Did you clean out the old installation as Haxus recommended?  It sounds like if you just swap in the new launcher, it won't clean out the old Qt libraries and they might confuse the game.  The easiest solution is to just remove the game's Programs folder entirely and let the launcher download a fresh copy; that's what I did.

Do you have /usr/lib/libxcb.so?  You said you installed 'xcb' and 'xcb-randr', but depending on your distro there may also be a separate 'libxcb' package (Arch Linux does this).
Reply

#5
Quote:Did you clean out the old installation as Haxus recommended?  It sounds like if you just swap in the new launcher, it won't clean out the old Qt libraries and they might confuse the game.  The easiest solution is to just remove the game's Programs folder entirely and let the launcher download a fresh copy; that's what I did.

Do you have /usr/lib/libxcb.so?  You said you installed 'xcb' and 'xcb-randr', but depending on your distro there may also be a separate 'libxcb' package (Arch Linux does this).

I did download the new launcher and in the process, I deleted the old one as well as the SoH folder. I have checked, there are plenty of xcb files, but there is no libxcb.so listed. I will check however if it is on the system and download it if necessary. I also did a clean reinstall of the OS (for some other reasons and because with a separate home directory it is really easy). I am still setting SoH up and will report back about it in a bit.

Addition:

After reinstalling Mint and then downloading the whole game and launcher as well as reinstalling the required packages as listed, fixed the issue apparently. I am in game again. Back to work and thanks for the help!

Cheers
Reply

#6
I forgot to mention the qt.conf file. Delete it from the Programs and from the Launcher folders.

I updated the original post with this information.

Reinstalled Mint? Not due to SoH I hope. No files that belong to SoH reside anywhere outside the 'Shores of Hazeron' folder. We do not install any libraries or anything else onto your computer in other places. One exception is on Windows, where the Launcher lives in its own folder in the Program Files folder. The other exception is on Linux where the settings file resides in the .config folder of your home folder but that file is not binary and it does not indicate the location of any libraries; it is just settings.
Reply

#7
(01-12-2019, 12:14 AM)Haxus Wrote: Server Upgrades
The game servers run Ubuntu Server operating systems. They will be upgraded to 18.0.4 LTS starting Monday.

After going through the process on the debug servers, I think I can get all of the game servers done in one day. I'll keep the server status page updated as it goes.

The game universe will not be available for game play for parts of the day Monday, possibly most of the day.

One of the servers is currently dead in its rack. I will upgrade the OS on the other servers before going to Denver to revive it, in case more than one of them needs reviving.

How goes the server updating? The http://hazeron.com/status.php page still seem to be a little broken and no update since 2018/01/14 20:07UTC.
Hazeron Forum and Wiki Moderator
hazeron.com/wiki/User:Deantwo
Reply

#8
(01-14-2019, 09:20 PM)Haxus Wrote: I forgot to mention the qt.conf file. Delete it from the Programs and from the Launcher folders.

I updated the original post with this information.

Reinstalled Mint? Not due to SoH I hope. No files that belong to SoH reside anywhere outside the 'Shores of Hazeron' folder. We do not install any libraries or anything else onto your computer in other places. One exception is on Windows, where the Launcher lives in its own folder in the Program Files folder. The other exception is on Linux where the settings file resides in the .config folder of your home folder but that file is not binary and it does not indicate the location of any libraries; it is just settings.

No, it was something I had planned for a longer time, to get rid of some stuff and issues I had. Anyway, since I run a separate home partition, it was not much of trouble. I just had to go through the installer, which took about 5 minutes and then install some packages and software back, that's stored on / instead of /home. So it was all fairly easy and it was worth it.

The file you forgot to mention, might explain why it worked again, after reinstalling. Though of course the OS reinstall did nothing to the SoH install, I deleted the launcher and the SoH Program folder entirely. Then downloaded the new version. All good now.
Reply

#9
I'm glad it worked out. I misunderstood your use of the term "reinstall". It sounds like you upgraded the OS, like what I just experienced with the servers, which mostly went quite well.

I was a bit worried with this SoH update. Over the years I have slowly reduced the libraries distributed with SoH, as they become available in the package library or, in some cases, I am able to eliminate them. It was glorious to discover good versions of Qt libraries available as packages in the most popular Linux distros. Now the only libraries or programs distributed by me are the ones made by me, on Linux anyway. It felt like a new level was reached.

The macOS and Windows distros still must include the Qt libraries.

The Windows version also gets the installers for OpenAL and the MSVC runtime libraries. They are sort of like packages. They must be included in the SoH distribution; it is the Windows way.

macOS has a nice way of encapsulating all the libraries a program needs. Unfortunately it means the commander program has a duplicate of almost all of the same libraries as the game client. That makes the download quite a bit bigger. I may make downloading the commander optional in the launcher, at least for macOS.
Reply

#10
Hi Haxus,

no, I don't think you missunderstood me. I lately had some performance issues with my Mint installation and I had some issues with some of the drivers and some packages. So I went and deleted the whole installation and then I did install it from the scratch. However, I have my OS on a 100GB Partition. My home directory is on a separate drive (500GB). I also have a boot partition for UEFI and a small Swap Partition.

All I had to do when I reinstalled was to mark the existing /home as my home without formatting it, while assigning the root partition as root and formatting it. After the brand new installation, everything from a user side was as I left it. I got my personal settings, I even kept my desktop wallpaper and everything. All my games from Steam (which places its library in a hidden folder inside of the home directory) and even SoH, which sits in my home directory, were all still there. In others words, everything on home still remained... personal settings, configs, etc.

The only thing, that was lost, was all information that was on root. So all packages, programs and applications, etc. were gone. I had to reinstall Steam (though not the games), my code editors and IDEs, the drivers and of course all updates again. Still, the whole installation process took like 15 minutes plus maybe one hour to get all the packages and programs back. This solved my driver issue and it solved my issue with SoH, while also increasing performance and allowed me to work on some stuff on a clean install.

I salute you for that SoH upgrade you did. I know that this was a quite challenging task and a lot could have gone wrong. I think however, that it was for a great benefit. The good thing here of Linux is that indeed comes with most important libraries and if one is missing you can usually download it pretty quick and easy. I do not know a lot about Mac though. I have been working with Windows until some time ago and for about 3 years I am only using Linux. Though I do deal with Windows Clients and times.

Offering the Commander separately on Mac might be an idea. I have not checked anyway that installer, but I have noticed that the Linux one is fairly small and so is the Windows one. That said, I have just some days ago tried to run SoH with the Windows Client, using Wine. It worked like a charm and it was of equal performance. :) I did that, when the game would not start on Linux, to log in and to see if the Windows version works. It did.

Great job with all of this.
Reply



Forum Jump:


Users browsing this thread:
2 Guest(s)