This is an old revision of the document!
На дворе 2021 год. Я захотел поиграть в quake2 с ботами.
Система - Ubuntu 20.10
Устанавливаем Quake2 и то что нужно, чтобы его запустить:
sudo apt-get install quake2 game-data-packager innoextract
Собираем пакет с данными:
game-data-packager quake2 --package quake2-full-data ~/Games/q2/
И устанавливаем его
sudo apt-get install ~/quake2-full-data_65_all.deb
В результате установится Yamagi Quake2.
Исполняемый файлик будет тут: /usr/lib/yamagi-quake2/quake2
Директория с данными - /usr/share/games/quake2/
CTF + Deathmatch на базе 3zb2
https://github.com/DirtBagXon/3zb2-zigflag
git clone https://github.com/DirtBagXon/3zb2-zigflag.git cd 3zb2-zigflag/ sudo cp -R 3zb2 /usr/share/games/quake2/3zb2 make sudo cp release/game.so /usr/share/games/quake2/3zb2/game.so sudo cp release/game.so /usr/share/games/quake2/3zb2/gamex86.so sudo cp release/game.so /usr/share/games/quake2/3zb2/gamex64.so
Всё. Можно запускать deathmatch:
/usr/lib/yamagi-quake2/quake2 -datadir /usr/share/games/quake2/ +set basepath /usr/share/games/quake2/ +set game 3zb2 +set deathmatch 1 +set autospawn 10 +exec game.cfg
3zb2
Вероятно лучшие боты для quake2 - https://github.com/yquake2/3zb2
crbots
Боты crbot (с исходниками) - https://www.angelfire.com/mt2/quakebots/crbotandsrc.tar.gz
Для того, чтобы можно было запустить ботов нужно скопировать папку с ботами в директорию с данными игры:
sudo cp -R./crbot /usr/share/games/quake2/
Исполняемый файл с ботами должен иметь имя game.so. Я попробывал перемиеновать уже собранный файл gamei386.so в game.so, но ожидаемо получил сообщениео не несовместимости:
/usr/share/games/quake2/crbot/game.so
Устанавливаем немного зависимостей
sudo apt-get install libc6-dev build-essential
Дальше берем Makefile для сборки под linux (из папки crbot/crbotsource/RESOURCE/Linux Makefile/ ) и копируем его в папку пробуем собрать. И они нормально собираются, но файлик gamex86_64.so нужно переименовать в game.so.
Вот подправленные crbot, который нормально собираются современными компиляторами: crbot_patched.tar.gz
Discussion