Итак, сильно не пинайте, могу ошибиться....
Подготовка системы:
Сервер линуксовый, поэтому необходим линукс эмулятор - 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
Ставим рекурсивно права для этого пользователя
Таакс, готово.
Установка
Качаем последний сервер
Код: Выделить всё
# wget "http://www.1337-server.net/bf2/serverfiles/bf2-linuxded-1.1.2965-797.0-installer.sh"
И ставим на него права на запуск
Код: Выделить всё
# chmod 755 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 для лучшей производительности
Окончание
Стругаем скрипт запуска сервера:
В который забиваем
Код: Выделить всё
#!/bin/sh
. /etc/rc.subr
name="bf2"
rcvar=`set_rcvar`
start_cmd="bf2_start"
restart_cmd="bf2_restart"
stop_cmd="bf2_stop"
[ -z "$bf2_enable" ] && bf2_enable="NO"
bf2_start ()
{
checkyesno bf2_enable &&
{
echo "Starting bf2."
su -l bf2 -c "exec /home/bf2/start.sh"
}
}
bf2_restart ()
{
checkyesno bf2_enable &&
{
echo "Restarting bf2."
killall -9 bf2
su -l bf2 -c "exec /home/bf2/start.sh"
}
}
bf2_stop ()
{
checkyesno bf2_enable &&
{
echo "Stoping bf2."
killall -9 bf2
}
}
load_rc_config $name
run_rc_command "$1"
Не забываем дать права на запуск:
Тщательно шлифуем напильником
И вуаля! получаем готовый игровой сервер с управлением, ака стоп - пуск - рестарт
Спасибо всем, кто помог

)))
Ещё раз, прошу не сильно пинать, так как первая статья, которая не претендует на man.
Вот только проблема одна осталась.
Захожу шелом на сервер, запускаю. Всё ок - сервер работает, захожу на сервер, всё ок. Как только шел тушу, отключаюсь, серв падает

(((
Интуитивно догадываюсь, что сервис запустился не отдельным доменом, но ... на этом мысль останавливается
