TITLE: Tactical Ops: Assault on Terror LFS VERSION: Any that uses glibc 2.3.x AUTHOR: Gard Spreemann DATE: 2003-10-23 LICENSE: GNU Free Documentation License version 1.2 SYNOPSIS: Install, update and play "Tactical Ops: Assault on Terror" on an LFS system using glibc 2.3.x. PRIMARY URL: http://gspr.dyndns.org/~gspr/lfs-hints/tacops.txt DESCRIPTION: Background: Tactical Ops ("TacOps" from now on) was originally an Unreal Tournament mod, but is today a standalone game using the Unreal Tournament engine. Luckily, this makes it playable under GNU/Linux. Support for this is rather good (see http://www.icculus.org/~ravage/tacops/), but systems that use glibc 2.3.x (for which the Linux installer and updaters were not compiled) will run into problems with the straightforward approach described on the previously mentioned page. I thought I'd explain a quick and easy way to get it working. If you don't know what TacOps is, check out http://www.tactical-ops.to - it is a great game. The problem: The installer needs Wine to unpack certain files, and comes with a precompiled Wine for this purpose. The problem is that this Wine is linked to an older glibc, and will not work with glibc 2.3.x. The problem is described at http://icculus.org/~ravage/tacticalops/faq.html where a solution is also presented. However, this solution did not work for me. If it works for you, then you don't need to read on. PREREQUISITES: * TacOps retail(!) CD * XFree86 with OpenGL support * GNU/Linux system with glibc 2.3.x * Basic tools, such as wget HINT: Notes: Whatever you do related to this hint is your own responsibility. If your hard drive gets wiped, or your computer explodes, that is your own responsibility. I have no responsibility for whatever damages may result from following this hint. Nor am I affiliated with the TacOps developers or Icculus. I. Installing Wine: 1) We need a Wine linked against our own glibc. If you do not already have Wine installed, compile and install it now. Follow the documentation at http://winehq.org or the Wine hint if you are in doubt about what to do. 2) Make sure root has a working Wine configuration. As root, try: wine notepad If you get an error message about /root/.wine not being available, you need to set up a working Wine configuration for root. This is described in the good documentation provided at http://winehq.org. II. Downloading, fixing and running the installer: 1) First, you will obviously need the TacOps Linux installer. Get it at http://icculus.org/~ravage/tacticalops/files/tacticalops-3.1.5-install -x86.run (one line). 2) Mount the TacOps CD wherever you wish, e.g: mount /dev/cdrom /mnt/cdrom 3) Extract the files from the installer: sh ./tacticalops-3.1.5-install-x86.run --keep The installer will fail right away with a pretty segfault if X is not available, but not to worry, the contents of the intaller is now available to us (hence the --keep option). If X is available, the installer will start - just exit it. 4) Enter the directory created by the command in the previous step: cd tacticalops-3.1.5-install From here on, you have two options; your choice will depend on whether X is available for the installation or not. The "b" option is untested by me, and is only for those who do not have X available during the install. If you're going to follow the "b" option, you still need to do step 5. If you are a newbee, it is preferable not to follow the "b" option. 5) This is where this hint and the FAQ differ. Why? Simply because the FAQ's way didn't work for me. I might have done stuff the wrong way, but hey... Enter the Wine directory in the dir created by the installer in step 3: cd wine Now, for each of the binary files here, locate your system-wide Wine's equivalent. Not all files are available system-wide, but the ones that are, you delete from the installer's wine dir and replace with symlinks to their system-wide equivalents. At least "wine" and "wineserver" should be available, or something is severely wrong with your Wine installation. The installer will now use your system-wide Wine, linked against your glibc, which is what we want. 5b) __Only if X is not available during the install! UNTESTED!__ The console installer itself, unlike the graphical installer, needs patching to work with glibc 2.3 as well. Enter the console installer's directory and remove the installer: cd setup.data/bin/Linux/x86 rm setup Download a working (hopefully) console installer to that directory, and make it executable: wget http://zerowing.idsoftware.com/linux/setup-RH9/setup chmod 755 setup Let's hope it works... If not, try the regular way, using the X-based installer. I'd appreciate feedback on this, by the way. 6) If you did not follow the "b" option, make sure X is available to the installer - this is vital! In the top level directory of the tacticalops-3.1.5-install dir, run the installer: SETUP_CDROM=/path/to/cd ./setup.sh Install the game. If you see errors regarding the extraction of the files then Wine is not doing its thing correctly, or you didn't properly mount the CD, or the CD is damaged. III. Downloading the patches and patching the game: 1) Did you think you were done? Oh no! We're now moving into territory which, at the time of writing, was not covered by the Icculus FAQ. You may delete the directory created in step II.3. Download each and every Linux patch for the game, from 3.3.2 and up to the latest one. At the time of writing, you would be getting these patches: http://icculus.org/~ravage/tacticalops/files/tacticalops-3.3.2-x86.run http://icculus.org/~ravage/tacticalops/files/tacticalops-3.4.0-x86.run 2) The patches too need to some patching to work with glibc 2.3.x. They do not need Wine though. Extract the contents of the first patch (not inside the TacOps dir): sh ./tacticalops-3.3.2-x86.run --keep The patch will segfault "nicely". Enter the dir left by the patch: cd tacticalops-3.3.2 Enter the subdirectory in which the patcher program is located: cd bin/Linux/x86 Remove the glibc 2.3 incompatible patcher: rm loki_patch Download the glibc 2.3 compatible patcher: wget http://gspr.dyndns.org/~gspr/lfs-hints/files/loki_patch (It would be very nice if someone could mirror this, as my connection is not too fast, and the site from which I got the file is even slower). Make it executable: chmod 755 loki_patch 3) Return to the top level directory (tacticalops-3.3.2) and run: ./update.sh It should patch your game nicely. 4) Repeat step 2 and 3 for each patch up the chain. You must make sure to apply every patch in the chain. 5) Run the game. It damn well better work. CHANGELOG: [2003-09-01] * First version. [2003-09-02] * Minor grammatical and spelling errors corrected. * Other minor changes. [2003-10-22] * Adapted the hint to the new format. * Seems I had accidentally removed the loki_patch file from my server. It's back now. [2003-10-23] * Some more adaption for the new format. Hopefully everything is ok now. ------- I hope this hint was of some help. Thanks to the Icculus people for making TacOps and so many other nice games work with Linux. And of course thanks to the LFS people!