Подготовка системы : Сервер линуксовый, поэтому необходим линукс эмулятор - linux_base-fc. Если у Вас не установлен linux_base-fc, тогда инсталлируем.
# cd /usr/ports/emulators/linux_base-fc4/ && make install clean
Установим запуск линукс эмулятора при загрузке системы.
# echo "linux_load="yes"">> /boot/loader.conf
# echo "linux_enable="YES"" >> /etc/rc.conf
Перезагрузимся и проверим наличие необходимых модулей в памяти.
# kldstat
Id Refs Address Size Name
1 7 0xc0400000 71b018 kernel
2 1 0xc0b1c000 1ada4 linux.ko
3 1 0xc0b37000 59f20 acpi.ko
Отлично, продолжаем.Создаём директорию для нашего сервера:
Добавляем группу и пользователя в одноимённую группу
# pw group add bf2
# pw user add bf2 -g bf2 -s /sbin/nologin -d /home/bf2
Таакс, готово.Установка Качаем последний сервер
И ставим на него права на запуск
# chmod 755 bf2-linuxded-1.1.2965-797.0-installer.sh
Запускаем инсталлятор
# bf2-linuxded-1.1.2965-797.0-installer.sh
Вам надо будет подтвердить 2 лицензионных соглашения: один - на сам сервер, второй - на punkbuster. Указываем куда нам надо распаковать BF2 /home/bf2/
Verifying archive integrity... All good. Uncompressing Battlefield 2 Dedicated Linux Server 1.1.2965-797.0...............................
После установки вы можете подправить конфиг файл /atmods/bf2/settings/serversettings.con для лучшей производительности. Ставим рекурсивно права для этого пользователя
# chown -R bf2:bf2 /home/bf2/
Окончание Для мониторинга лучше всего использовать отдельный демон (BF2CC ). Данный демон использует технологию .NET Ставим mono:
# cd /usr/ports/lang/mono/ && make install clean
После этого ставим screen:
# cd /usr/ports/sysutils/screen && make install clean
Внимательно читаем мануал к этому демону, а именно: Скачиваем BF2CC Daemon + ModManager Scripts 1.4 Распаковываем в директорию, где у нас находится сервер, сохраняя пути Стругаем новый скрипт:
# touch /usr/local/etc/rc.d/bf2_serv
#!/bin/sh
screen mono /home/bf2/bf2ccd.exe -autostart
echo "BF2CC Server Started"
exit 0
И даём права на запуск:
# chmod 755 /usr/local/etc/rc.d/bf2_serv
После этого скачиваем сам клиент и запускаем скрипт на сервере:
# /usr/local/etc/rc.d/bf2_serv
При первичной инициализации демон спросит некую инфу, типа, где лежит стартующий скрипт сервера, пароль админа и прочая лабуда. Набираемся терпения и ждём минут 10, пока не увидим, что демон полностью поднялся. Запускаем клиент, вводим данные, а-ля IP Address, Username и Pass. И вуаля, получаем то, чего добивались. А именно - гибкая настройка нашего сервера. Для тех, у кого сервер глядит в инет устанавливаем права для фаервола:
ipfw add deny ip from any to any 29910
ipfw add allow tcp from any to me 80 ,1024 -1124 ,4711 ,16567 ,16569 ,29900 ,29901
ipfw add allow udp from any to me 1024 -1124 ,1500 -4999 ,16567 ,16569 ,27900 ,28910 ,29900 ,55123 -55125