Topic: [GUIDE] Unreal World Outdated Free Version On Modern Ubuntu Linux  (Read 7743 times)


ineedcords

« on: January 22, 2023, 12:16:40 AM »
[GUIDE] Unreal World Outdated Free Version On Modern Ubuntu Linux

This guide attempts to help successfully run Unreal World outdated free version on a modern Ubuntu Linux system.
It is a rough step by step guide so if you have never installed a software package/game with a deb package, it might help.

There is a line somewhere in the middle of this post, marked with xxxxx (not kisses).
If you have already installed UrW or other software with deb packages before, you probably already know anything ABOVE the xxx line.

What's BELOW the xxx line is the main purpose I added this guide here.
It tries to help troubleshoot the missing dependencies issue so that more people can fix these issues quickly and locally.
Even though all of this can already be found in other web pages, YouTube videos etc. without knowing what to search for and without an overall structure, for some, it can be a daunting task to even start looking for help.

Please DO SEND any constructive criticism by replying directly to this message. Let me know if anything is wrong/unclear & needs further elaboration/important but missing from the guide etc.

Please DO NOT post technical issues by replying directly to this message - I will be happy to try and help you but best to open a new thread for your specific case, under General Discussion board. See the last bit of this message for a few hints on what to include in your help request.

Information on Ubuntu O/S
You can download Ubuntu linux operating system here: https://ubuntu.com
Installing Ubuntu is outside the scope of this guide but I will give a hint below so that, if interested but unsure where to start, you can look into it on the web.

Information on VirtualBox - The free virtualization software to keep your Windows or Mac and have your linux too (on the same PC)
If you do not wish to install Ubuntu linux on your existing hardware, you can use the free virtualization software VirtualBox https://www.virtualbox.org
You probably already knew this but this suggestion is for that one person who never tested (or heard of) virtualization software.
Assuming you have reasonably powerful/modern PC hardware VirtualBox software completely for free will let you run a "Ubuntu linux virtual machine" under your actual system.
Even if you completely "break" the linux, nothing will happen to your actual Windows system.
If you do use VirtualBox, ensure you provide adequate system resources to your new gaming virtual machine; e.g.: memory=4 GB, cpu=4x, display=128 MB VMSVGA & acceleration=enable 3d acceleration.

START
Step: Using Other Guides/Resources, Set Up Ubuntu Desktop 22.04 LTS
Ideally at first as a Virtual Machine so that you are used to it, a bit and feel more at home before you start diving deeper. Only then, start following this guide.

Step:  Update O/S, bring in the latest updates, fixes, dependencies etc and reboot
Code: [Select]
apt update && apt upgrade -y && reboot
Step:  Elevate to superuser & create temporary directory
Log back in after reboot, launch a terminal, become superuser, create a temporary location to set things up, store temporary log/output files etc.
Code: [Select]
sudo -i
mkdir /aaa && cd /aaa

Step:  Install pre-requisite software SDL2 library
SDL2 library is a software Unreal World requires, you can read more about it here: https://en.wikipedia.org/wiki/Simple_DirectMedia_Layer
Install SDL2 libs, with the command below.
Warning --yes flag means "Automatic yes to prompts; assume 'yes' as answer to all prompts and run non-interactively". I've added it here for speed, but if undesired, remove it.
Code: [Select]
apt --yes install libsdl2-2.0-0 libsdl2-image-2.0-0 libsdl2-mixer-2.0-0 libsdl2-net-2.0-0
Unreal World - Free Vs Paid Version Notice
I encourage everyone to purchase the game via itch.io or Steam so that you can enjoy the BEST Unreal World there is.
If you do not have the financial bandwidth at the moment (or just do not want), thankfully the very generous devs allow you to still enjoy the game legally (except the very latest goodies).

Step:  Download the Unreal World game package.
As of today (2023-January) v.3.63 is the free-but-not-latest version of the game and this link goes directly to that file.
This wget command should save the file urw_3.63_amd64.deb in your current directory, which is /aaa
Code: [Select]
wget http://www.unrealworld.fi/dl/3.63/linux/deb-ubuntu/urw_3.63_amd64.deb
Posterity Notice In the future when devs update the free version, the direct link below probably will not work, so you will need to go to the official website https://unrealworld.fi > Downloads > Ubuntu > 64-bit, right click on the download button/link, copy the shortcut/link, then update the wget command above with the new link.

Step:  Install the game
dpkg -i urw_3.63_amd64.deb

Step:  Launch the game
Click on the desktop icon or just issue the command listed below to launch the game.
Code: [Select]
urwIt would be great if it "just worked" when the game is launched.
Newest version of the game (3.72), as expected, does just work.
However as reported earlier (link below), older version of the game may rely on dependencies that are not clearly listed in the dpkg installation screen ( report: https://www.unrealworld.fi/forums/index.php?topic=6845.0 ).
Furthermore when user attempts to launch the game no clear instruction is given other than a cryptic message as detailed in the topic linked above.
This is the core issue: when launch game instruction doesn't work, it is not clear what is expected of the user to fix the problem. Install something? What exactly?

Step:  The right thing to do approach
The right thing to do now is to identify what missing software components are needed and install those, and only those.
This approach is not detailed / covered in this tutorial.
As far as I know there is no such list, it is not clear, it is not only system dependent, probably also version dependent. It is detective work and can be time consuming because:
* Game UrW is dependent on lib1, lib2, lib3.
** lib1 is dependent on libA1 and A2.
*** LibA1 is dependent on libX27 which is then dependent on libYYY341 and libYYY342.
***LibA2 is dependen...
Sometimes, it goes on and on. It is possible to get to the bottom of it but may need dedication...

xxxxxxxxxx

xxxxxxxxxx

Step:  Quick Hack: install 'em all
As a quick workaround, we can: 1) quickly determine what libraries are mentioned, AND 2) in a quick/scripted manner, try to install all "mentioned" libraries.
This is the not a precise approach at all and probably should be avoided on your actual/primary computer.

What to do on your actual/primary computer
a) It is probably best to just purchase the full game which is based on a recent build, using modern software (library) versions, and in my experience works flawless.
b) Alternatively, you can dedicate large amounts of time to systematically try libs and eventually find the working combination.
(If you go this route and eventually succeed, perhaps post a reply here sharing your O/S  exact version, game version, and what software packages you installed to get it working which can be seen with "grep Commandline /var/log/apt/history.log". I already have the paid version but it can help another person save time).

What to do on your gaming PC/gaming Virtual Machine
You can follow the instructions below to automatically add any and all missing software without careful consideration. You may end up with too much so perhaps do not do this on your main computer.
It may be OK to do this on a dedicated-gaming-virtual-machine which can be snapshotted/re-created with relative ease.
WARNING This can screw up your computer
WARNING Snapshot the virtual machine before doing this, in case it breaks something, you can revert back to the previous state with a single click.


Step: Install software package pax-utils
We will use lddtree utility which is distributed with the pax-utils so we need to install it.
Quote
apt --yes install pax-utils

Step: List dependencies and their dependencies using the lddtree utility, save output to a text file
Code: [Select]
lddtree /usr/bin/urw3-bin > lddtree.1.raw_output.txt
Step: Post-process the output to create filenames
Code: [Select]
cat lddtree.1.raw_output.txt | awk {'print $1'} > lddtree.2.filenames.txt
Step: Post-process the filenames to get base filenames (roughly)
Code: [Select]
cat lddtree.2.filenames.txt | sed -e 's/.so.[0-9]//' > lddtree.3.baseishfilenames.txt
Step: Automatically try to install any and all missing software
WARNING This can cause issues. If executing on a virtual machine, consider creating a snapshot before running this command, and otherwise, consider running a new backup just to be on the safe side.
The 1st command below just shows on screen what it will attempt to automatically install.
The 2nd command below will actually attempt the software installation, for each package.
SHOW command
Code: [Select]
cat lddtree.3.baseishfilenames.txt | while read line; do echo apt -y install $line-dev; doneINSTALL command
Code: [Select]
cat lddtree.3.baseishfilenames.txt | while read line; do apt -y install $line-dev; doneNote: This will not install every single missing library which is why it is called a 'Quick Hack' but based on my limited testing it is good enough, it did the job of converting a cannot-run-old-urw Ubuntu box to one that can run it and did it pretty quickly.

Step:  Once more, try launching the game
Now that a bunch of additional software is installed, there is a (high) chance, the missing dependency is now addressed so what failed earlier may work now.
Click on the desktop icon or just issue the command listed below to launch the game.
Code: [Select]
urw
What to do if it still doesn't work
Don't worry, take deep breath, relax. Remember nothing has changed & concept is the same, we still need to identify and install what is missing then it should work...

When relaxed adequately, go to the GENERAL DISCUSSION board, start a new discussion thread so that other linux users can try and help.

Please invest a few seconds to clearly naming the thread because what you put in the Subject field can pull or push technical people.
It is good to see something like "Getting 'Inconsistency detected by ld.so' error when launching v.3.88 under Ubuntu 52".
It tells us what O/S you have, which version of the game you are running, and what error message you are getting. That's a pretty good start.

Hope this helps someone, some day.
This could be a good day to utilize your squirrels hides.

greggy

« Reply #1 on: April 29, 2023, 11:29:32 AM »
Hi ineedcords, I was having the same problem as the one you linked to. I tried this whole guide but still had the same error message in the end. I decided to purchase the latest version of the game (it's hardly expensive after all) and it works great!

So I was wondering if you could tell me the terminal command to reverse all the installations I made from the command line? Thanks for your time.

werepacman

« Reply #2 on: July 21, 2023, 11:07:28 AM »
The topic should have keywords:  :)
Quote
error while loading shared libraries: libSDL2_mixer-2.0.so.0: cannot open shared object file: No such file or directory
This is what I looked on the internet.
I hope engines will pick it up.


Name of packages
for Slackware based distros
Quote
slackpkg install SDL2_image SDL2_mixer SDL2_net

I needed them for new version of the game as well.
« Last Edit: July 21, 2023, 11:15:20 AM by werepacman »