Ставим QUAKE III под UBUNTU 7.10
Quake III — это наверно культовая игра, на которой выросли многие. После 2005 года, когда код движка стал общедоступным, появилась возможность играть в Q3 и под Linux. Эту возможность обеспечил ioquake3. Сегодня я постараюсь подробно рассказать как установить и настроить игру под Ubuntu на EEE PC.
Пошаговый мануал по установке Quake III.
Что нам понадобится:
- SD карта памяти
- Установочный диск с Quake III, нам потребуется файл pak0.pk3
- ioquake3-1.34-rc3.run
- autoexec.cfg оптимизированный под EEE PC
Также нам понадобится библиотека libopenal0a, запускаем в консоли:
sudo apt-get install libopenal0a
Создаем директорию q3inst. Переходим на карту памяти и качаем файл ioquake3-1.34-rc3.run
Где /media/data/ — путь, куда у нас смонтирована карта памяти.
Запускаем ioquake3-1.34-rc3.run
sudo sh ioquake3-1.34-rc3.run
Появится окно инсталлятора. (У меня русифицированная версия Ubuntu, в инсталляторе не корректно отображалась кириллица).
Принимаем условия использования лицензии, жмем далее.
На следующем шаге, нам надо изменить инсталляционный путь на:
Жмем далее, после того как установка успешно закончилась. Нам надо скопировать с pak0.pk3 с оригинального диска. На основном ПК копируем его на флешку, находится он в каталоге /baseq3/
Вставляем флешку в EEE PC копируем файл в каталог /media/data/games/ioquake3/baseq3/
cd /media/disk-1/
cp pak0.pk3 /media/data/games/ioquake3/baseq3/
Где /media/disk-1/ — путь, куда у нас смонтировалась флешка.
Качаем autoexec.cfg
Копируем его тоже в папку /media/data/games/ioquake3/baseq3/
cp autoexec.cfg /media/data/games/ioquake3/baseq3/
Все готово, запускаем Приложения>Игры>ioqake3
FPS в игре в среднем 50-70. Оригинал статьи и фото:EEE-Блог.Ру
ramer
Делай добро и бросай его в воду
(убей всех людей)
Quake 3 Arena сервер на Linux
Культовая компьютерная игра в жанре многопользовательского шутера от первого лица, изданная компанией id Software 2 декабря 1999 года, третья в серии игр Quake и первая, не имеющая полноценного однопользовательского режима.
Disclaimer
Этот документ предоставляется «как есть». Автор не несёт ответственности за любой вред (моральный или физический), который может быть нанесён оборудованию или людям в результате прочтения этого документа.
Системные требования
Linux с ядром версии 2.2.9 или выше, glibc-2.1 или выше
Процессор от Pentium II 266MHz
128 MB памяти
500 MB места на жестком диске
Соединение с интернетом и/или выход в локальную сеть
Если вы хотите играть с того же компьютера, на котором запущен сервер — требования к компьютеру будут намного выше.
Дистрибутив
Поставьте ваш любимый дистрибутив Linux. Какой именно — практически не имеет значения. Главное — проследите, чтобы это была одна из последних его версий. Инструкции по установке вы всегда можете получить на сайте выбранного дистрибутива. Для новичков могу порекомендовать Slackware, SuSE, Red Hat.
Установка quake3
Лирическое отступление о правах доступа
В Linux права доступа организованы отлично от того, что вы могли видеть раньше в других ОС. Существует суперпользователь (root), и права доступа для него не проверяются. То есть root имеет полный доступ ко всей системе. Для каждого файла существуют три правила доступа: владелец (owner), группа пользователей (group), и все остальные (others). В каждом из этих правил есть права на чтение файла (read), запись в него (write), и запуск файла на исполнение (execute).
Мы будем проводить установку из-под пользователя root, а запуск сервера из-под обычного пользователя (назовём его «user»).
Установка дистрибутива quake3
Скачать дистрибутив можно с разных серверов. Он включает в себя только обновления и исполняемые файлы для запуска клиента и сервера под нужной нам ОС. Эти файлы распространяются совершенно бесплатно, и мы возьмём их с официального сервера id Software. Размер инсталлятора — около 30 МБ.
# wget ftp://ftp.idsoftware.com/idstuff/quake3/l inux/linuxq3apoint-1.32b-3.x86.run
Даём скачанному файлу права для запуска. Запускаем его.
# chmod +x linuxq3apoint-1.32b-3.x86.run
# ./linuxq3apoint-1.32b-3.x86.run
В зависимости от того, в каком режиме (графическом или консольном) вы работаете, вы увидите различное представление одного и того же инсталлятора.
Устанавливая quake3, убедитесь, что выделена опция «Dedicated server«.
Установка карт, модов, дополнений
Как говорилось выше — в релизе есть далеко не всё, что нам надо. Папку baseq3 можно взять с официального диска с игрой. Не бойтесь переписать её поверх той, что была только что поставлена. Все остальные файлы и папки — osp, cpma — можно взять из любой работающей копии игры (моды обычно распространяются бесплатно).
В дальнейшем будем считать, что Quake III установлен в /usr/local/games/quake3
Запуск сервера
Дальнейшие действия проводим из-под аккаунта обычного пользователя. Хотя мы и полностью уверены, что quake3 не нанесёт никакого вреда системе, будучи запущенным от суперпользователя, но всегда, когда расширенные права не нужны, лучше ими не пользоваться.
Простейший случай
Заходим в /usr/local/games/quake3, и запускаем сервер с нужными нам параметрами.
$ cd /usr/local/games/quake3
$ ./q3ded +set fs_game osp +set sv_strictauth 0 +set sv_pure 0 +map q3dm6
В консоли вы увидите полный лог сервера, и после загрузки появится возможность вводить команды. Терминал, из которого был запущен сервер станет обычной консолью, к которой вы уже привыкли.
О хранении файлов и логов сервера
Linux Quake III хранит файлы совсем не так, как его windows-версия. Если в windows всё хранится в том месте, куда проинсталлирована игра, то в Linux есть два места, откуда можно брать конфиги, моды и прочие нужные файлы. Первое — как всегда. Второе — домашняя директория пользователя. В ней при первом запуске создается директория «.q3a«.
Допустим, вы запустили сервер с модом osp, и выполняете на сервере конфиг myServer.cfg. Вы пишете в консоли сервера «exec myServer.cfg«. Сервер ищет его в следующем порядке:
Если вы (в той же ситуации) записываете конфиг командой «writeconfig newServer.cfg«, то он будет записан только в «/home/user/.q3a/osp/newServer.cfg«.
Регистр символов имеет значение. Конфиги myserver.cfg и myServer.cfg — совершенно разные файлы. По той же причине файл pak0.PK3 не будет найден, и сервер вылетит с ошибкой.
Пути надо писать только с использованием прямого слеша (/).
/usr/local/games/quake3 — правильно.
usrlocalgamesquake3 — ошибка.
Тонкая настройка
Скрипт для запуска
Вам наверняка надоест каждый раз печатать кучу параметров для командной строки сервера. Этот процесс можно легко автоматизировать, создав простой скрипт. У пользователя нет прав писать в директорию /usr/local/games/quake3, поэтому создадим скрипт в домашней директории. Назовём его q3.sh (не забудьте дать ему права на исполнение). Содержимое должно быть таким:
./q3ded +set com_hunkmegs 32 +set net_port 27960 +set dedicated 1 +set vm_game 2 +set vm_cgame 2 +set vm_ui 2 +set fs_game osp
+set sv_strictAuth 0 +set sv_punkbuster 0 +set sv_lanForceRate 1 +set sv_maxrate 15000 +exec 1v1.cfg
Во второй строке мы переходим в то место, где лежат файлы для сервера. q3ded ищет файлы данных в домашней директории, затем в текущей директории. Поэтому нам надо перейти туда, чтобы программа всё нашла.
Для переноса параметров на новую строку можно поставить обратный слеш в конце предыдущей строки.
Продвинутые параметры
Чего не хватает в простом скрипте? Во-первых, при закрытии консоли, в которой скрипт был запущен, закроется и сервер. Это неудобно, если вы хотите, чтобы ваш сервер работал 24/7. Во-вторых, если таки скриптом мы запустим два сервера, то их логи будут писаться в один и тот же файл. Впоследствии их будет невозможно разобрать.
Первая проблема решается очень просто. Мы будем запускать сервер в фоновом режиме. Предварительно надо убедиться, что в конфигах и параметрах командной строки есть всё, что нам нужно. В конфиге необходимо прописать rconPassword, потому что это будет единственный способ управления сервером. Сервер запускается в фоновом режиме добавлением » #!/bin/bash
start)
nice -n 0 ./q3ded +cvar_restart
+set com_hunkmegs 32
+set net_port 27960
+set dedicated 1
+set vm_game 2
+set vm_cgame 2
+set vm_ui 2
+set fs_game osp
+set fs_homepath /home/quake3/.q3a-server1
+set sv_strictAuth 0
+set sv_punkbuster 0
+set sv_lanForceRate 1
+set sv_maxrate 15000
+exec 1v1.cfg >&/dev/null &
exit
;;
stop)
killall q3ded
;;
*)
echo «Usage: »
exit 1
esac
exit 0
Теперь сервер запускается и останавливается командами:
$ /home/user/q3.sh start
$ /home/user/q3.sh stop
Эти команды ничего не выводят на экран. О деятельности сервера можно судить по логам, которые находятся в /home/user/.q3a-server1/osp/games.log. Соответственно, конфиги сервера теперь надо класть в его новую домашнюю директорию, то есть /home/user/.q3a-server1/osp.
Запуск нескольких серверов
В этом случае имеет смысл изменить названия исполняемых файлов, которые запускаются скриптом. Нужно создать файлы q3ded.somethingnew, которые будут содержать то же, что и исходный q3ded. Сделаем это с помощью механизма «символических ссылок».
# cd /usr/local/games/quake3
# ln -s q3ded q3ded.27961
Это удобно тем, что если вам понадобится изменить q3ded (например, при выходе новой версии), то будет достаточно изменить только один файл, а все ссылки на него менять не надо. Кроме того, такой метод сохраняет место на жестком диске.
Не забудьте изменить q3ded на q3ded.27961 в двух местах в скрипте, который запускает сервер. Также можно сменить порт, домашнюю директорию и конфиг для каждого из скриптов.
Клиенты не могут приконнектиться к серверу.
Проверьте, чему равны переменные sv_pure, sv_punkbuster, sv_strictauth. Их лучше всего выставлять равными нулю.
Проверьте, работает ли на компьютерах firewall. Возможно, сервер работает корректно, но Linux не принимает соединения на 2796x порты. Также могут быть проблемы с подключением к интернету как на клиенте, так и на сервере.
Добавляем мод Excessive Plus.
Скачать мод можно отсюда.
Посмотреть все фичи мода — здесь.
На момент написания статьи свежая версия мода 2.0a.