= Action Quake 2: how to setup and start playing [[https://en.wikipedia.org/wiki/Action_Quake_2|Action Quake 2]] is game that is a predecessor for a popular game "[[https://en.wikipedia.org/wiki/Counter-Strike|Counter-Strike]]" made by [[https://en.wikipedia.org/wiki/Minh_Le|the same developer]]. It is mostly free software now, so it is a good game to play if you prefer using mostly free software. Gameplay is something in between Counter Strike and Quake 2, I would describe it as "It is CS, but fun and it is also an arena shooter", by "arena shooter" I mean there is no tasks such as planting the bomb, freeing the hostage and so on, the game uses Quake 2 gamemodes such as DM (Deathmatch), TDM (Team Deathmatch), CTF and so on. == How to setup There are two ways to play the game. Easy and proprietary one and mostly free, but a bit harsh (not so harsh, but it might require a compiling software depending on distribution you are using). === q2pro + aq2-tng + baseq2 + @zevlg config I ([[https://w96k.dev/|~w96k]]) got involved into playing Action Quake by @zevlg. [[https://github.com/zevlg|@zevlg]] is Emacs (package and XEmacs) developer who plays action quake for 20+ years. His config is good for competitive playing. If you are not comfortable playing quake, it might feel awkward, but it is easy to modify everything for your style of playing. === Compiling q2pro Q2PRO ([[https://github.com/skullernet/q2pro|Source Code]]) is enhanced client for quake 2. It might be not packaged or outdated for your linux distribution, so you need to compile it yourself. It is easy and done using several commands as [[https://github.com/skullernet/q2pro/blob/master/INSTALL.md|q2pro documentation states it]]: {{{#!bash sudo apt install meson gcc libc6-dev libsdl2-dev libopenal-dev \ libpng-dev libjpeg-dev zlib1g-dev mesa-common-dev \ libcurl4-gnutls-dev libx11-dev libxi-dev \ libwayland-dev wayland-protocols libdecor-0-dev \ libavcodec-dev libavformat-dev libavutil-dev \ libswresample-dev libswscale-dev git git clone https://github.com/skullernet/q2pro.git meson setup builddir meson configure builddir meson compile -C builddir sudo ninja -C builddir install }}} It should work for Debian-based systems (Debian, Ubuntu, Linux-Mint and so on). If you have different system only part with `apt install` (dependencies) should change. After running this command you should be able to call `q2pro` binary in your terminal. For example: `q2pro --version`. === baseq2 Run `q2pro`. By running this it should create `.q2pro` folder in your home directory (`~`). It should complain about lack of the baseq2: {{{ $ q2pro ------- FS_Init ------- Current search path: /home/w96k/.q2pro/baseq2 /usr/share/q2pro/baseq2 ----------------------- ------- R_Init ------- Using video driver: x11 Using GLSL rendering backend. ******************** FATAL: Couldn't load pics/colormap.pcx: No such file or directory ******************** }}} `baseq2` is the quake 2 game itself. Quake 2 is proprietary game, but the source code of the engine was released long time ago. Yet the source of the art, sounds, models and so on is not free. Some games share this model like [[https://warsow.net/|Warsow]]. So, you need to aquire baseq2 yourself by buying the game. Or basically downloading it elsewhere, but I didn't say this. You can buy Quake 2 here: - [[https://www.gog.com/en/game/quake_ii_quad_damage|GOG]] (DRM-free) - [[https://store.steampowered.com/agecheck/app/2320/|Steam]] By the way Enhanced Quake 2 is good in case if you never played Quake 2 before. Look for installed folder and copy paste baseq2 folder to `~/.q2pro/baseq2`. For steam version on linux it would be `~/.steam/debian-installation/steamapps/common/Quake\ 2/baseq2`. So if you run `q2pro` in your terminal you should get q2 game running on different client. It should look like this so far: [[Image(q2pro_baseq2.gif)]] Press `` to access game menu. You can run Quake 2 campaign from there, or use a console by pressing `~` and running `/map ` command. Autocompletion works by pressing `` key. Since source code was released many years ago, we now have many different clients. Another example of such client can be [[https://www.yamagi.org/quake2/|Yamagi Quake 2]]. === aq2 Once you got Quake 2 working using Q2PRO client you are ready to install Action Quake. Action Quake is a mod for Quake 2, so previous steps were required to get it working. Download Action Quake 2 using these links: - Minimal aq2-tng: https://disk.yandex.ru/d/7UUEX2ic2i7Bvg - Minimal aq2-tng + maps: https://disk.yandex.ru/d/W-7ixUGT-aVzlQ - Full set with all textures and maps: https://disk.yandex.ru/d/HtmBA8CEcWDRaA (Download this) Unpack the archive and move `action` folder to `~/.q2pro/`. You might need to install `p7zip` package for extracting 7z archives: {{{ sudo apt install p7zip 7za x aqtp_files.7z -o/home//.q2pro/ 7za x aqtp+maps.7z -o/home//.q2pro/ cp -R ~/.q2pro/aqtp/action ~/.q2pro/action rm -r aqtp/ }}} So the results of `ls ~/.q2pro/` would print the following: {{{ $ ls ~/.q2pro action aqtp baseq2 }}} Now if you run `q2pro` and then run `set game action` in game console by pressing `~`, you will switch to Action Quake game. But it is not playable without loading a config first. [[Image(q2pro_aq2.gif)]] === @zevlg config - @zevlg config: https://github.com/zevlg/dot.q2pro We need to copy config files to action folder. For that run the following commands in your terminal: {{{ cd ~/.q2pro/baseq2 git clone https://github.com/zevlg/dot.q2pro.git }}} `dot.q2pro` folder contains config files (.cfg, .aqtp): {{{ lg-dv.aqtp, lg-qwerty.aqtp }}} `dv` means Dvorak which is alternative keyboard layout. I assume you are using Qwerty layout, so we copy only Qwerty config: {{{ mv dot.q2pro/lg-qwerty.aqtp ./ mv dot.q2pro/lg-qwerty.cfg ./ cat < ../aq2.sh #!/bin/sh q2pro +exec lg-qwerty.aqtp +map rok EOF cd ../ chmod +x aq2.sh }}} Run `./aq2.sh`. ==== Modify mouse movement === aQtion using Steam The most easiest way to setup is the dedicated game page on Steam which is basically ready to use setup of Action Quake 2. I don't know which exactly components it uses. It has q2pro addon which needs to be installed into aQtion folder. More about aQtion on [[https://www.aq2world.com/|their website]]. You can install it in Steam, it is completely free and user friendly: https://store.steampowered.com/app/1978800/AQtion/ Also it provides its own packages, that can be run without Steam: https://github.com/actionquake/distrib (check Releases). Just install package on your system and play.