Документация по ОС FreeBSD Пятница, 07.02.2025, 02:59
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Установка и настройка

Quake III Arena [2009]
Представляю установку всеми любимого игро-мясо-экшена Quake III Arena именно так и никак не иначе! Будет чем заняться Васе и Пете (и всему отделу) во время работы, т.е. вместо нее :) Как вы догадались, будем ставить на UNIX + требование к оси и железу снижаются ведь сервер обсчитывает только моделированием и взаимодействием клиентов меж собой.
А обсчитывание графики и т.д. дело клиентов :) Да и постабильней *BSD будет в отличие от Windows (не всегда конечно все можно сломать но...) (По железу читаем ниже.) По просьбам трудящихся здесь будет описано два вида сервера Q3 linux-quake3 и *BSD quake3 принципиально различий по установки их на *BSD нет, но в последнем как уже понятно не надо никаких линукс совместимостей и прочей лабуды в виду этого выигрышь в производительности. Первым рассматриваем Linux-quake3 соответственно вторым "родной" quake3 со ссылкой на все конфиги и настройки первого. Устанавливая quake3 выделяем "Dedicated server". У кого двухголовый проц. то прошу SMP.

Установка linux-quake3
Он сказал, поехали...
1) Ставим из портов
#cd /usr/ports/games/linux-quake3/ && make install clean

linux-quake3-1.32c ~ 2.8Mb
(Требует linux_base-fc-4_9 ~ 30Mb, quake3-data-1.32.b.3_1 ~ 26Mb)
(я себе сначала все, что нужно скачал (чтобы в будущем не качать) потом #pkg_add)
В конце установки нам показывают (если все нормально)
====================================================================
To complete the installation of this port you need to copy the file
"baseq3/pak0.pk3" from the original Quake III Arena distribution to
"/usr/local/share/quake3/baseq3".

If you have the expansion pack then you have to copy the file
"missionpack/pak0.pk3" from the original Quake III Team Arena
distribution to "/usr/local/share/quake3/missionpack".
====================================================================

1.1) Далее копируем паки.
# cp -r /usr/local/share/quake3/baseq3 /usr/local/libexec/linux-quake3

.2) Из прочтенного Ищем любой дистрибутив Quake 3 и копируем pak0.pk3 в
# /usr/local/libexec/linux-quake3/baseq3

.3) Теперь надо сделать совместимость с Linux приложениями.
В /etc/rc.conf добавляем
linux_enable="YES"

2) Теперь пробуем запустить сервак кваки.
Создадим конфиг игры + скрипт по запуску в фоне (чтобы консоль не занята, и ненужно километры команд вбивать)
2.1) Конфигов можно делать несколько
# cd /usr/local/libexec/linux-quake3/baseq3 #перейдем
# touch q3dead.conf # создадим конфиг с нужным именем
# ee q3dead.conf # отредактируем конф.

.2) Настройки могут очень сильно лаврироватся я приведу свой конфиг q3dead.conf
g_gametype 0 # 0-deadmatch 1-1v1 3-teamplay и т.д.
fraglimit 100 # кол-во фрагов
timelimit 50 # лимит времени
sv_maxclients 10 # на сколько клиентов
server zombie-q3
sv_hostname "Kill'em All by RaVen" # название игры (сессии)
g_motd ">Facking Life<" # стартовое приветствие
sv_privateClients 0
sv_privatePassword "" # пароль для закрытых серверов
rconpassword "911alex" # админский пас на консоль (rcon)
# это для управления сервером проги-
# Server Watch, The-All-Seeing Eye.
sv_maxRate 10000

#Admin
set "Administrator" "Vasa"
set "Email" "Pipkin@mail.ru"
set "URL" "http://192.168.0.1"
set "Location" "HomeNet Game Servers"
set "CPU" "QUAKE3 Rules"

#Map Смена карт (сами выбираете карты и последовательность запуска)
set d1 "map q3dm6 ; set nextmap vstr d2"
set d2 "map q3dm3 ; set nextmap vstr d3"
set d3 "map q3dm4 ; set nextmap vstr d4"
set d4 "map q3dm5 ; set nextmap vstr d5"
set d5 "map q3dm2 ; set nextmap vstr d6"
set d6 "map q3dm7 ; set nextmap vstr d7"
set d7 "map q3dm8 ; set nextmap vstr d8"
set d8 "map q3dm9 ; set nextmap vstr d9"
set d9 "map q3dm10 ; set nextmap vstr d10"
set d10 "map q3dm11 ; set nextmap vstr d1"
vstr d1

#Bots
set bot_enable 1 # Включаем ботов
addbot uriel 3 100 # Добавляем бота + его хар-ки
addbot slash 2 100
addbot anarki 3 100
addbot bones 2 100
addbot klesk 3 100
addbot orbb 2 100
addbot sorlag 3 100
addbot doom 2 100
addbot xaero 3 100
addbot xaero 3 100
bot_minplayers 10 # Заменяет бота клиентом когда тот подключится
# Сдесь потдерживатся 9 ботов автоматом. При двойке кол-во ботов
# будет уменьшатся (кикатся) до 1го.

g_allowvote 1
g_quadfactor 3
g_syncronousClients 1
g_weaponrespawn 20
g_log q3dead.log #у меня логируется в /usr/compat/linux/root/.q3a/baseq3
# или osp
смотря, что пускаете и от кого.
# Если что # find / -name q3.log :)

Тут представлено лишь очень малая часть конфига этого мне хватает, если понадобится доп. настройки или конфиг, то это легко найти в инете.

2.3) Теперь создадим скрипт запуска можете сразу в консоль вбивать %)
# cd /usr/local/libexec/linux-quake3/ # переходим
# touch startq3.sh № создадим скрипт
# chmod +x startq3.sh # дадим возможность исполнения
# ee startq3.sh # отредактируем

обавляем в скрипт.
#!/bin/sh
killall q3ded
cd /usr/local/libexec/linux-quake3
./q3ded +set com_hunkmegs 35 +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_pure 0 +set sv_strictAuth 0 +set sv_punkbuster 0 \
+set sv_lanForceRate 1 +set sv_maxrate 15000 \
+exec q3dead.conf >/dev/null 2>&1 &

Смотрим строчки.
killall q3ded - убиваем запущенные сервера q3
+exec q3dead.conf - какой конфиг берем
>/dev/null 2>&1 - говорит чтобы все выводы фтопку т.е. запуск в бекграунде

2.4) Запускаем Q3 сервер.
#sh startq3.sh

ли так
#/usr/local/libexec/linux-quake3/startq3.sh

роверяем стартанул ли
# ps ax |grep q3
5687 p0 S 0:14.71 [q3ded]
5694 p0 S+ 0:00.01 grep q3

# sockstat |grep q3ded
root q3ded 5687 12 udp4 *:27960 *:*

Все теперь можно забить на работу и играть :)

2.3)В ручную "стопарнуть" все серверы Q3 можно так.
# killall q3ded

ли запустив наш скрипт, он убьет предыдущие все серверы, и запустить свои.

3) Теперь о запуске 2-3-10 серверов на 1 машине
Тоже самое, что и 1 сервер + добавляем еще одну (сколько нужно) строчку возьмем, например,
сделаем скрипт для 2х кваковских сервера.
Если необходимо делаем второй конфиг и дополнительный стартовый скрипт.
# touch startq32X.sh # создадим скрипт
# chmod +x startq32X.sh # дадим права запуска
# ee startq32X.sh # отредактируем

нем нужно указать собственно запуск 2 серверов
#!/bin/sh
killall q3ded
cd /usr/local/libexec/linux-quake3
./q3ded +set com_hunkmegs 35 +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_pure 0 +set sv_strictAuth 0 +set sv_punkbuster 0 \
+set sv_lanForceRate 1 +set sv_maxrate 15000 \
+exec q3dead.conf >/dev/null 2>&1 & \
./q3ded +set com_hunkmegs 35 +set net_port 27961 +set dedicated 1 \
+set vm_game 2 +set vm_cgame 2 +set vm_ui 2 +set fs_game osp \
+set sv_pure 0 +set sv_strictAuth 0 +set sv_punkbuster 0 \
+set sv_lanForceRate 1 +set sv_maxrate 15000 \
+exec 1v1.conf >/dev/null 2>&1 &

Да и главное порты в net_port недолжен совпадать! иначе фак.
Можно конфиги разные указывать т.е. один сервак для деадматча, а второй для дуэли.

4) Автозапуск при загрузке FreeBSD
Собственно копируем скрипт в /etc/rc.d и все :)
Теперь q3 сервер при загрузке системы стартанет.
Да и в скрипте killall q3ded можно для "чистоты" удалить.

5) Безопастность
Создайте директорию /games на сервере, куда и будете устанавливать
все игры. И на будущее ОБЯЗАТЕЛЬНО создать пользователя и группу (например, gamesman),
чтобы устанавливать и запускать игры не под root-пользователем. Соответственно,
директорию /games делаем домашней для этого пользователя. Можно конечно ставить и
«по умолчанию», но это не гуд, и нарушает безопасность системы в целом.

6)Установка Quake3
Теперь займемся "чистым Q3" установка и настройка все одинаково только папка установки поменялась и все.
6.1) Установим Q3
# cd /usr/ports/games/quake3/ && make install clean

алее скопируем паки и pak0.pk3 с любого дистрибутива в (подобное см пп 1.1 и 1.2 linux-q3)
# /usr/local/share/quake3/baseq3/

.2) Запускаем сервер
q3ded +set com_hunkmegs 35 +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_pure 0 +set sv_strictAuth 0 +set sv_punkbuster 0 \
+set sv_lanForceRate 1 +set sv_maxrate 15000 \
+exec q3dead.conf >/dev/null 2>&1 &

6.3) При необходимости делаем скрипты запуска как было описано выше по Linux-quake3 в пп 2.3
Я сделаю сразу для 3х кваковских сервера с последующей автозагрузкой.
#touch /etc/rc.d/startq33X.sh
#ee /etc/rc.d/startq33X.sh

писываем
#!/bin/sh
/usr/local/bin/q3ded +set com_hunkmegs 35 +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_pure 0 +set sv_strictAuth 0 +set sv_punkbuster 0 \
+set sv_lanForceRate 1 +set sv_maxrate 15000 \
+exec q3dead.conf >/dev/null 2>&1 & \
/usr/local/bin/q3ded +set com_hunkmegs 35 +set net_port 27961 +set dedicated 1 \
+set vm_game 2 +set vm_cgame 2 +set vm_ui 2 +set fs_game osp \
+set sv_pure 0 +set sv_strictAuth 0 +set sv_punkbuster 0 \
+set sv_lanForceRate 1 +set sv_maxrate 15000 \
+exec q3team.conf >/dev/null 2>&1 & \
/usr/local/bin/q3ded +set com_hunkmegs 35 +set net_port 27962 +set dedicated 1 \
+set vm_game 2 +set vm_cgame 2 +set vm_ui 2 +set fs_game osp \
+set sv_pure 0 +set sv_strictAuth 0 +set sv_punkbuster 0 \
+set sv_lanForceRate 1 +set sv_maxrate 15000 \
+exec 1v1.conf >/dev/null 2>&1 &

6.4) Смотрим если все ли стартануло.
ps ax | grep q3
610 con- R 2:12.72 [q3ded]
611 con- R 1:45.19 [q3ded]
612 con- R 9:56.28 [q3ded]

FAQ) А теперь вопросы/проблемы (решаются по мере поступления)
В) Какое железо понадобится для игрового сервера
О) Смотря пропорционально нагрузки на сервер (эх как сказал, а инфы нифига :))
Я у знакомого видел на ПК 300МГц 128RAM+*BSD+CounterStrike= сносно шло с  5-6 игроками.
Если игроков будет больше и серверов тоже желательно от 800-1000МГц(AMD XP) + 256RAM(DDR)
т.е. чем больше, тем лучше.
У меня на тестовом серваке, где апатчь, фтп, джаббер, прокси + парсеры разные
ПК 900МГц 256RAM+*BSD+Quake3 = 3 кваковских сервера, где постоянное мясо и нагрузка на
проц ~35% своп занят на 18% так что еще контру туда поставлю :)

В)При подключение клиента не находит сервер, если принудительно указать и подключится
к серверу пишет SERVER USES PROTOCOL VERSION 68
О)Старая версия игры в новой версии протокол изменился.
Качаем патчь для кваковского клиента и все пучком (q3a_v1.32)

И так Kill'em All!!



Источник: http://www.lissyara.su/?id=1432
Категория: Установка и настройка | Добавил: oleg (29.05.2009) | Автор: Raven2000
Просмотров: 1266 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2025