Go Back   Epic Games Forums > Unreal Tournament 2003/2004 > Troubleshooting & Technology

Reply
 
Thread Tools Display Modes
Old 12-02-2006, 01:34 AM   #1
type98
Junior Member
 
Join Date: Dec 2006
Posts: 10
Default Manual installation of ut2004 on Linux WITHOUT linux_installer.sh

The following were the steps taken to install the Midway DVD version of UT2004 [I]under a linux OS without a linux_installer.sh script. The system used for this installation was a 32bit debian distribution.

Caveat, YMMV based on your Linux distribution, your UT2004 edition, and how stubborn you are in regards to playing ut2004 under linux.

Prep work
----------

The Midway DVD version of ut2004 does not have a loki linux_installer.sh script. The files on the DVD are installshield cab files that needs to be extracted.

Obtain a copy of "unshield" using you package manager or from

http://synce.sourceforge.net/synce/unshield.php

######Caveat######

The unshield program included in the debian 64 bit binary
depositary is not 64 bit save and will fail with a
"...MD5 checksum failure".." unless the source is modified
and recompiled. See suggestion at the following URL:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=350210

Obtain the unshield sources from varius locations, for example:

http://packages.debian.org/unstable/source/unshield

Decompress, patch to 0.5-3, and make the following changes:

For lib/md5/global.h
add:

#include <stdint.h>

change line 17
typedef unsigned short int UINT2;
to
typedef uint16_t UINT2;

change line 20
typedef unsigned long int UINT4;
to
typedef uint32_t UINT4;

in lib/md5/md5c.c, change line 71 from:
#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
to:
#define ROTATE_LEFT(x, n) ((((x) << (n)) & 0xffffffffU) | ((x) >> (32-(n))))


do ./configure, make.

Compiled it with gcc version 4.1.2 and it worked.

Also see posting below from Drantin for patch at:

http://bugs.gentoo.org/show_bug.cgi?id=149235

######end Caveat########


Next, obtain the latest linux ut2004 patch (v3369 as of this writing)

http://treefort.icculus.org/ut2004/u...ch3369.tar.bz2

You will need approximately 9GB of free disk space for the install.


Extract Files
------------

Mount the DVD (For example, if the DVD drive is /dev/hdb and the
mount point is /mnt):

# mount -r -t iso9660 /dev/hdb /mnt

Copy the compressed files over to a temporary location to decompress.
The cab files are spread under the Disk directories.

# mkdir junk; cd junk
/junk# cp /mnt/Disk?/data?.* .

Decompress/install the files into the install directory location.

/junk# unshield -d /install/directory -D3 x data1.cab

( -D 3 turns debugging on)
The compressed data files are about 2.9GB.
Delete them after the installation.

/junk# rm data?.*

The decompressed files are about 6082188Kbytes.



File Structure
--------------
The v3186 of the loki linux_installer.sh extract the follwing top level
directory (from old demo version IIRC).

Animations/ (*.ukx.uz2)
Manual/
Maps/ (*.ut2.ux2)
Music/ (*.ogg)
Sounds/ (*.uax.uz2)
StaticMeshes/ (*.usx.uz2)
System/
Textures/ (*.utx.uz2)

The Midway windows installer creates a different top level
directory structure.

Animations/
Benchmark/
Directx/
ForceFeedback/
Help/
KarmaData/
Manual/
Maps/
Music/
Sounds/
Speech/
StaticMeshes/
System/
Textures/
Web/

Change over to the installed directory:

/junk# cd /install/directory
/install/directory# ls -1

All_Animations
All_Benchmark
All_ForceFeedback
All_Help
All_KarmaData
All_Maps
All_Music
All_StaticMeshes
All_Textures
All_UT2004.EXE
All_Web
_DirectX_(9.0c)_NS_NSR_NPL_1_0009___2
_DirectX_(9.0c)_NS_NSR_NPL_1_0009___3
_DirectX_(9.0c)_NS_NSR_NPL_1_0___1
_DirectX_(9.0c)_NS_NSR_NPL_1____1
_DirectX_(9.0c)_NS_NSR_NPL_1____2
_DirectX_(9.0c)_NS_NSR_NPL_1____3
_DirectX_(9.0c)_NS_NSR_NPL_1____4
_DirectX_(9.0c)_NS_NSR_NPL_1____5
_DirectX_(9.0c)_NS_NSR_NPL_1____TARGETDIR_
_Engine_EngineCommonPlaceHolder
_Engine_EngineCommonPlaceHolderSelfReg
_Engine_Kernel_Placeholder
English_Manual
English_Sounds_Speech_System_Help
_Support_Build_Generated_Support_Files
_Support_English_Files
_Support_English_OS_Independent_Files
_Support_English_String_Tables
_Support_Language_Independent_OS_Independent_Files
_Support_Misc_Support_Files
_Support_Non-SelfRegistering




Note that the new directory structure is quite ugly.
_* directories are self explanatory and we
don't think we need them. All_UT2004.EXE
is for windows binary.


/install/directory# rm -rf _* All_UT2004.EXE


Move the sub directories Sounds Speech System from
under English_Sounds_Speech_System_Help to the top level

/install/directory# cd English_Sounds_Speech_System_Help
/install/directory/English_Sounds_Speech_System_Help# mv Sounds/ Speech/ System/ ..

or

/install/directory/English_Sounds_Speech_System_Help# tar cf - . |( cd .. ; tar xvf -)


Rename the top level directories:

/install/directory# mv All_Animations Animations
/install/directory# mv All_Benchmark Benchmark
/install/directory# mv All_ForceFeedback ForceFeedback
/install/directory# mv All_Help Help

The Help directory may generate a conflict during the renaming.
In that case just copy the files from All_Help to Help and then erase All_Help.


/install/directory# mv All_KarmaData KarmaData
/install/directory# mv All_Maps Maps
/install/directory# mv All_Music Music
/install/directory# mv All_StaticMeshes StaticMeshes
/install/directory# mv All_Textures Textures
/install/directory# mv All_Web Web

or use the following bash shell script after moving the All_Help directory first:

for file in All_*
do
newname=`echo $file | sed -e 's/All_//'`
mv $file $newname
done


/install/directory# ls -1
Animations
Benchmark
English_Manual
English_Sounds_Speech_System_Help
ForceFeedback
Help
KarmaData
Maps
Music
Sounds
Speech
StaticMeshes
System
Textures
US_License.int
Web


Patch
-----

Unpack the ut2004 linux patch

/install/directory# tar -jxf ut2004-lnxpatch3369.tar.bz2

Copy the all files+dir under UT2004-Patch into the top level
directories

/install/directory# cd UT2004-Patch
/install/directory/UT2004-Patch# tar cf - . |( cd .. ; tar xvf -)


Graphics/Sound/CDkey
--------------------

ut2004-bin needs libstdc++5, libSDL-1.2.so.0 and openal.so.
Make sure that the /install/directory/System has a local copy
of libSDL-1.2.so.0 and openal.so.

/install/directory/System# cp /usr/lib/libSDL-1.2.so.0 ./libSDL-1.2.so.0
/install/directory/System# cp /usr/lib/libopenal.so.0.0.0 openal.so

libSDL-1.2.so.0 is needed for the graphics.
openal.so is needed for sound.

The binary in /install/directory/System/ut2004-bin will now work
except now it looks for the CDkey and promply dies.

Create CDkey by changing directory to the System and create a CDkey file.

/install/directory/System# vi CDkey


Edit the CDkey file and put the key by itself.

For example:

xxxxx-xxxxx-xxxxx-xxxxx

Save the Cdkey file.

Start the game.

# cd /install/directory/System
/install/directory/System# ./ut2004-bin

Good luck & have fun.

If this doesn't work for your ut2004 edition take two aspirins/beers and keep watching for a linux_installer from liflg.org.

Last edited by type98; 12-28-2006 at 01:28 PM. Reason: clean ups, typo; add caveat, shell script & Drantin pointer to unshield patch
type98 is offline   Reply With Quote
Old 12-02-2006, 04:27 PM   #2
Spaz
Senior Member
 
Spaz's Avatar
 
Join Date: Feb 2001
Location: Wichita, KS
Posts: 3,644

Gamertag: Spazalot
Send a message via MSN to Spaz Send a message via Skype™ to Spaz
Default

Good Work!
__________________
UT2004 Registry Fixer - http://spazspot.googlepages.com/
Ubuntu 9.04 x64 - http://www.ubuntu.com/
Spaz is offline   Reply With Quote
Old 12-23-2006, 03:06 AM   #3
leetcharmer
Junior Member
 
Join Date: Dec 2006
Posts: 4
Default

can you linkme to that openal.so file? Also, after running your entire walkthrough:
Quote:
john@study:/usr/local/games/ut2004/System$ ./ut2004-bin
Failed to enter Entry: Can't find file 'Entry

History:

Exiting due to error
I'm stuck.

EDIT: It'll run if I run it as root, know how I can get it to run in /usr/local/games/ut2004 without root access? Still need that openal.so though thx. Also, I can't run any automatic patchers like loki installers for the megapack because it doesn't think the game is installed still (no .ut2004 directory in home with normally installed files). Know how to make one of those directories successfully?

Last edited by leetcharmer; 12-23-2006 at 03:31 AM.
leetcharmer is offline   Reply With Quote
Old 12-23-2006, 12:51 PM   #4
coffeeadikt
Junior Member
 
Join Date: Dec 2006
Posts: 5
Default

Type98 - you're a saint. I just got the Anthology DVD edition and the lack of Linux installer would have driven me completely bonkers if not for your walkthrough. The procedure is slightly different for the Anthology DVD but you gave me a thorough push in the right direction. I'd buy you a beer if I could.

edit -- oh, I did have one problem: if you're running Beryl on the NVIDIA driver, you'll want to change window managers (I dropped to Metacity). Beryl got stuck and I lost keyboard input somehow, which effectively locked up my computer :P

Quote:
Originally Posted by leetcharmer View Post
can you linkme to that openal.so file?
If your distro disks don't have OpenAL on them as packages you can download the rpm or compile the source from here:

http://www.openal.org/downloads.html

That will give you openal.so.0

Last edited by coffeeadikt; 12-23-2006 at 12:56 PM.
coffeeadikt is offline   Reply With Quote
Old 12-23-2006, 01:07 PM   #5
coffeeadikt
Junior Member
 
Join Date: Dec 2006
Posts: 5
Default

Quote:
Originally Posted by leetcharmer View Post
EDIT: It'll run if I run it as root, know how I can get it to run in /usr/local/games/ut2004 without root access?
Check the permissions:

/usr/local/games $ ls -lt

You should see something like:

drwxr-xr-x 17 justin users 512 2006-12-23 03:52 ut2004

This is showing that I own it (my name and login is "justin") and that anyone in group "users" can also read and execute it.

If it's not like that, you can change it by switching to root and issuing the following (replace my name with yours):

This will set you as the owner and "users" as the group. This means you will be able to patch/delete the program and everyone else will be able to play it. The "-R" makes it work recursively, which means it'll go into all the subdirectories and work in there too.

/usr/local/games # chown -R justin:users ut2004/

This will change the permissions so that the owner has full control and everyone else can read and execute:

/usr/local/games # chmod -R 755 ut2004/
coffeeadikt is offline   Reply With Quote
Old 12-23-2006, 02:22 PM   #6
leetcharmer
Junior Member
 
Join Date: Dec 2006
Posts: 4
Default

Quote:
Originally Posted by coffeeadikt View Post
If your distro disks don't have OpenAL on them as packages you can download the rpm or compile the source from here:

http://www.openal.org/downloads.html

That will give you openal.so.0
I don't know how to compile from source on Ubuntu >:| -- and they use .deb's
leetcharmer is offline   Reply With Quote
Old 12-23-2006, 04:10 PM   #7
Drantin
Junior Member
 
Join Date: Dec 2006
Posts: 4
Default problems

unshield keeps giving errors on my computer, something like

[unshield_file_save:710] MD5 checksum failure for file 7 (ISBEW64.exe)
Failed to extract file 'ISBEW64.exe'.

happens for nearly every file, a du -ch shows 8.5K in the install folder... I've tried downgrading unshield and neither 0.4 or 0.5 work with it (0.4 aborts immediately after showing some diagnostic stuff)

could this be amd64 related?

Update:
Apparently this is a known bug with unshield 0.5 on amd64...

Last edited by Drantin; 12-23-2006 at 04:21 PM.
Drantin is offline   Reply With Quote
Old 12-23-2006, 04:14 PM   #8
Drantin
Junior Member
 
Join Date: Dec 2006
Posts: 4
Default apt-get is a debian-based distro's friend

Quote:
Originally Posted by leetcharmer View Post
I don't know how to compile from source on Ubuntu >:| -- and they use .deb's
tried apt-get install openal ?
Drantin is offline   Reply With Quote
Old 12-23-2006, 04:40 PM   #9
leetcharmer
Junior Member
 
Join Date: Dec 2006
Posts: 4
Default

I typed both libopenal and openal in Adept (Kubuntu) -- nothing appeared.
leetcharmer is offline   Reply With Quote
Old 12-23-2006, 05:13 PM   #10
Spaz
Senior Member
 
Spaz's Avatar
 
Join Date: Feb 2001
Location: Wichita, KS
Posts: 3,644

Gamertag: Spazalot
Send a message via MSN to Spaz Send a message via Skype™ to Spaz
Default

The *buntu family of Linux systems uses Debian software management. A lot other Linux distros use Red Hat Package Manager. The problem is that RPM is more common system so Deb files can be harder to get.

Here is the development source for OpenAL.
http://packages.debian.org/unstable/.../libopenal-dev
http://packages.debian.org/unstable/...enalpp-cvs-dev
__________________
UT2004 Registry Fixer - http://spazspot.googlepages.com/
Ubuntu 9.04 x64 - http://www.ubuntu.com/
Spaz is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Video Game Voters Network
 
All times are GMT -4. The time now is 06:01 PM.


Powered by vBulletin
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Copyright ©2009-2010 Epic Games, Inc. All Rights Reserved.