TITLE: Tactical Ops: Assault on Terror LFS VERSION: All (that use glibc 2.3.x) AUTHOR: Gard Spreemann SYNOPSIS: Install, update and play "Tactical Ops: Assault on Terror" on an LFS system using glibc 2.3.x. HINT: Version: 0.0.1 - 01/09/2003 (dd/mm!) Changelog: 0.0.1 - 01/09/2003 First version. 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 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://tactical-ops.to - it truly 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 given. However, this solution did not work for me. If it works for you, then you don't need to read on. 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. Requirements: - TacOps retail(!) CD - XFree86 with OpenGL support - GNU/Linux system with glibc 2.3.x I. INSTALLING WINE 1) We need a Wine linked against our own glibc. If you do not already have Wine installed, 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 winehq.org. II. DOWNLOADIG, 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, so just exit it if it does. 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 n00b, 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 and replace with symlinks to their system-wide equivalents. At least "wine" and "wineserver" should be available, or something is severly b0rked with your Wine install. 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 aswell. Enter the console installer's directory and remove the installer: cd setup.data/bin/Linux/x86 rm setup Download a working (hopefully) console installer, place it in 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. 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. 6) Make sure to always fear "=ARNA=GoE" (me) on whatever server you're on! ------- 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. System used for testing the described approach: - Kernel 2.6.0-test4 - XFree86 4.3.0 - Nvidia 4496 drivers - glibc 2.3.2 (If you need a nice server to play on, try 62.97.225.216:7777).