Навигация
Категории
Top Hьюсмекеров
zenj68
Репутация: 0
Пол: Мужчина
Новости: 5396
Miracle
Репутация: 5
Пол: Мужчина
Новости: 4494
Gunpowder
Репутация: 0
Пол: Мужчина
Новости: 4024
x7Post7x7x
Репутация: 7
Пол: Женщина
Новости: 2784
Magik
Репутация: 0
Пол: Мужчина
Новости: 2567
Рекламка
Тут ваша реклама
Помощь сайту
webmoney





Рекламодатели
Главная » »
Представляю установку всеми любимого игро-мясо-экшена 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



1.2) Из прочтенного Ищем любой дистрибутив Quake 3 и копируем pak0.pk3 в

# /usr/local/libexec/linux-quake3/baseq3



1.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.2) Настройки могут очень сильно лаврироватся я приведу свой конфиг q3dead.confg_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/


6.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!!




1158     21:43 24.12.2024     0
Всего комментариев: 0

Kомментарии
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]


Последние сообщения на форумах
Календарь
Реклама
Здесь может быть ваша реклама
Top 5 Коментаторов
lanx
Репутация: 211
Пол: Мужчина
Комментoв:  17
mars
Репутация: 0
Пол: Мужчина
Комментoв:  3
denis
Репутация: 0
Пол: Мужчина
Комментoв:  2
royss
Репутация: 2
Пол: Мужчина
Комментoв:  2
cube
Репутация: 28
Пол: Мужчина
Комментoв:  2
Кто с нами
Онлайн всего: 3
Гостей: 3
Пользователей: 0

Друзья сайта
Рекламодатели

Хостинг от uCoz