Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
linux_faq:run_quake2_on_ubuntu_with_bots [2021/02/06 18:57] adminlinux_faq:run_quake2_on_ubuntu_with_bots [2021/11/16 07:09] (current) – [Апгрейд графики Quake2] admin
Line 7: Line 7:
 И устанавливаем его И устанавливаем его
   sudo apt-get install ~/quake2-full-data_65_all.deb   sudo apt-get install ~/quake2-full-data_65_all.deb
-Дальше - я скачал ботов **crbot** (с исходниками) - https://www.angelfire.com/mt2/quakebots/crbotandsrc.tar.gz \\+ 
 +В результате установится **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 
 +   
 +====== Апгрейд графики Quake2 ====== 
 +https://www.moddb.com/mods/quake-2-xp \\ 
 +http://quakegate.ru/forum/topic741/ \\ 
 +https://sourceforge.net/projects/quake2xp/files/linux%20release/ \\ 
 +https://github.com/thro/quake2xp \\ 
 + 
 +Заставить работать на встроенной карте **AMD Ryzen 4800H не удалось** о чем честно написано тут: http://quakegate.ru/forum/topic893/
 +Собрать **quake2xp** на текущей версии **Ubuntu 21.10** удалось не сразу. Понадобилось обновить скрипт **waf** и поставить старенький **gcc8**. \\  
 +С текущим **gcc11** возникала ошибка линкера **collect2**: 
 +  [ 49/244] Linking build/baseq2/gamexp.so 
 +  ... 
 +  collect2: error: ld returned 1 exit status 
 + 
 + 
 + 
 +Ставим то что понадобится для сборки: 
 +  sudo apt-get install build-essential libvorbis-dev libdevil-dev libsdl1.2-dev libopenal-dev 
 +Ставим **gcc8**: 
 +  sudo apt-get update && sudo apt-get install build-essential software-properties-common -y && sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && sudo apt-get update && sudo apt-get install gcc-8 g++-8 -y && sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-8 && gcc -v   
 +Клонируем исходники: 
 +  git clone https://github.com/thro/quake2xp 
 +И свежий **waf**:   
 +  git clone https://gitlab.com/ita1024/waf.git 
 +Собираем **waf**:   
 +  cd waf/ 
 +  python3 ./waf-light configure build 
 +Копируем свежий **waf** в директорию с исходниками **quake2xp** 
 +  cp ./waf ../quake2xp/waf 
 +Конфигурируем сборку. При необходимости указываем нужный префикс для инсталляции (дефолтный - **/usr/local**) с помощью параметра 
 +  python waf configure 
 +или 
 +  python waf configure --prefix=$HOME/local 
 +Собираем: 
 +  python waf -v -j1 
 +Устанавливаем исполняемые компоненты: 
 +  python waf install 
 +В итоге по-дефолту все установится в /usr/local: 
 +<code>+ install /usr/local/share/quake2xp/baseq2/gamexp.so (from build/baseq2/gamexp.so) 
 ++ install /usr/local/share/quake2xp/xatrix/gamexp.so (from build/xatrix/gamexp.so) 
 ++ install /usr/local/share/quake2xp/rogue/game.so (from build/rogue/game.so) 
 ++ install /usr/local/bin/quake2xp (from build/quake2xp)</code> 
 +Скачиваем файлики необходимые для работы quake2xp: https://disk.yandex.ru/d/RP5yRSM-sx5ck или https://disk.yandex.ru/d/OtMgvf03VDXcew \\ 
 +Распаковываем и копируем куда надо: 
 +  sudo cp ~/Downloads/quake2xp/* /usr/local/share/quake2xp/ 
 +Копируем файлы из оригинальной игры: 
 +  sudo cp -R /usr/share/games/quake2/baseq2/* //usr/local/share/quake2xp/baseq2/ 
 +Клонируем и копируем шейдеры 
 +  svn checkout svn://svn.code.sf.net/p/quake2xp/code/glsl glsl 
 +  sudo cp -R ./glsl /usr/local/share/quake2xp/baseq2/ 
 +Клонируем и копируем карты освещения: 
 +  svn checkout svn://svn.code.sf.net/p/quake2xp/code/maps maps 
 +  svn checkout svn://svn.code.sf.net/p/quake2xp/code/mapsx mapsx 
 +  sudo cp -r ./maps/* //usr/local/share/quake2xp/baseq2/maps/ 
 +  sudo cp -r ./maps/* /usr/local/share/quake2xp/baseq2/maps/ 
 +Фиксим права на листинг директорий: 
 +  sudo chmod a+x /usr/local/share/quake2xp/baseq2/ 
 +  sudo chmod a+x /usr/local/share/quake2xp/baseq2 
 +  sudo chmod a+x /usr/local/share/quake2xp/baseq2/infantry 
 +  sudo chmod a+x /usr/local/share/quake2xp/baseq2/maps 
 +  sudo chmod a+x /usr/local/share/quake2xp/baseq2/models/ 
 +  sudo chmod a+x /usr/local/share/quake2xp/baseq2/pics 
 +  sudo chmod a+x /usr/local/share/quake2xp/baseq2/players 
 +  sudo chmod a+x /usr/local/share/quake2xp/baseq2/soldier 
 +  sudo chmod a+x /usr/local/share/quake2xp/baseq2/video 
 + 
 + 
 +====== 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/   sudo cp -R./crbot /usr/share/games/quake2/
 Исполняемый файл с ботами должен иметь имя **game.so**. Я попробывал перемиеновать уже собранный файл **gamei386.so** в **game.so**, но ожидаемо получил сообщениео не несовместимости: Исполняемый файл с ботами должен иметь имя **game.so**. Я попробывал перемиеновать уже собранный файл **gamei386.so** в **game.so**, но ожидаемо получил сообщениео не несовместимости:
-  /usr/share/games/quake2/game.so+  /usr/share/games/quake2/crbot/game.so
 Устанавливаем немного зависимостей  Устанавливаем немного зависимостей 
   sudo apt-get install libc6-dev build-essential   sudo apt-get install libc6-dev build-essential
-Дальше берем **Makefile** для сборки под **linux** (из папки **crbot/crbotsource/RESOURCE/Linux Makefile/** ) и копируем его в папку пробуем собрать  +Дальше берем **Makefile** для сборки под **linux** (из папки **crbot/crbotsource/RESOURCE/Linux Makefile/** ) и копируем его в папку пробуем собрать. И они нормально собираются, но файлик **gamex86_64.so** нужно переименовать в **game.so**. \\ 
 +Вот подправленные crbot, который нормально собираются современными компиляторами:  {{ :linux_faq:crbot_patched.tar.gz |}}
  
  • linux_faq/run_quake2_on_ubuntu_with_bots.txt
  • Last modified: 2021/11/16 07:09
  • by admin