Страница 1 из 3

Battlefield 2 Server

Добавлено: 2008-04-07 17:01:17
Jan
Сделал всё, согласно статьи http://www.lissyara.su/?id=1605
Система:

Код: Выделить всё

uname -a
FreeBSD 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri Dec 14 11:38:16 MSK 2007 i386
Поддержка Линуха есть:
Id Refs Address Size Name
1 7 0xc0400000 71b018 kernel
2 1 0xc0b1c000 1ada4 linux.ko
3 1 0xc0b37000 59f20 acpi.ko
После запуска /home/bf2/start.sh вываливается ошибка:
ln: pb: File exists
exec: /usr/ports/lang/python/bin/bf2: not found
Таакс, вроде считаем себя умным с торчащими откуда надо руками и ее никто не отменял:

Код: Выделить всё

#! /bin/sh
MACH=""
case `uname -m` in
        i[3456]86) MACH="ia-32"
        ;;
        x86_64) MACH="amd-64"
        ;;
esac
if ! [ -d pb ]
then
        ln -s pb_$MACH pb
fi
BINARY_DIR="$(pwd)/bin"
if [ -d "$BINARY_DIR/$MACH" ]
then
        BINARY_DIR="$BINARY_DIR/$MACH"
fi
# Make the OS give us .core-dumps if the server crashes
ulimit -c unlimited
export LD_LIBRARY_PATH=$BINARY_DIR
exec $BINARY_DIR/bf2 "$@"
меняем BINARY_DIR="/home/bf2/bin" запускаем повторно:
Система долго думает, а потом вываливается с ошибкой:
ln: pb: File exists
и
ImportError: No module named bf2
FATAL ERROR: Debug assertion failed!
Version: 1.1.2965-797.0 Build date:implement unix date here
Module: Python
File: Game/Python/PythonHost.cpp
Line: 257
Text: couldn't import the bf2 module:
Current confile:
на этом мысль останавливается и начинается поиск граблей :((( :twisted:
Кто подскажет, в каком месте искать эти грабли?

Re: Battlefield 2 Server

Добавлено: 2008-04-10 17:46:06
weec
почитай комментарии к статье, а лучше сделай все сам

Re: Battlefield 2 Server

Добавлено: 2008-04-10 17:57:32
Jan
weec писал(а):почитай комментарии к статье, а лучше сделай все сам
Исчерпывающая рекомендация. Тыкни носом, где ты в коментах нашёл хоть что-нибудь похожее на решение проблем?????
Товарищщи! Это поля для ввода комментариев к статье, а не для вопросов. Сюда пишите найденные баги, или какие-то фичи :)
Для вопросов есть форум!
Читай внимательно коменты те же

Re: Battlefield 2 Server

Добавлено: 2008-04-11 9:51:47
weec
ИМХО оно на статью никак не тянет
не мудрено, что у Вас ничего не работает
все вопросы к автору, пусть допиливает инструкцию

Re: Battlefield 2 Server

Добавлено: 2008-04-18 11:23:58
_Serega_
Народ а вот этот сервак рабочий? "http://www.1337-server.net/bf2/serverfi ... staller.sh" Если кто качал подскажите пожалуйста. Ищу сервак под Линукс версии 1.41

Re: Battlefield 2 Server

Добавлено: 2008-04-18 13:33:03
Jan
_Serega_ писал(а):Народ а вот этот сервак рабочий? "http://www.1337-server.net/bf2/serverfi ... staller.sh" Если кто качал подскажите пожалуйста. Ищу сервак под Линукс версии 1.41
Я ставил - рабочий.
Кстати, по поводу сервера, спасибо всем ;))) - разобрался сам, вот чичас думаю писать ли статейку :?

Re: Battlefield 2 Server

Добавлено: 2008-04-18 13:54:25
weec
конечно пиши, а выложишь тут, покритикуем, дополним ...

Re: Battlefield 2 Server

Добавлено: 2008-04-20 20:40:18
_Serega_
Jan писал(а):
_Serega_ писал(а):Народ а вот этот сервак рабочий? "http://www.1337-server.net/bf2/serverfi ... staller.sh" Если кто качал подскажите пожалуйста. Ищу сервак под Линукс версии 1.41
Я ставил - рабочий.
Кстати, по поводу сервера, спасибо всем ;))) - разобрался сам, вот чичас думаю писать ли статейку :?
Спасибо. Статейку давай я почитаю и настройки в студию.

Re: Battlefield 2 Server

Добавлено: 2008-04-29 17:47:04
Jan
Итак, сильно не пинайте, могу ошибиться.... :?
Подготовка системы:
Сервер линуксовый, поэтому необходим линукс эмулятор - 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
Отлично, продолжаем.Создаём директорию для нашего сервера:

Код: Выделить всё

# mkdir -p /home/bf2
Добавляем группу и пользователя в одноимённую группу

Код: Выделить всё

# pw group add bf2
# pw user add bf2 -g bf2 -s /sbin/nologin -d /home/bf2
Ставим рекурсивно права для этого пользователя

Код: Выделить всё

# chown -R bf2:bf2 /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
Запускаем инсталлятор

Код: Выделить всё

# 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 для лучшей производительности
Окончание
Стругаем скрипт запуска сервера:

Код: Выделить всё

# touch /usr/local/etc/rc.d/bf2_server
В который забиваем

Код: Выделить всё

#!/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"
Не забываем дать права на запуск:

Код: Выделить всё

# chmod 755 /usr/local/etc/rc.d/bf2_server
Тщательно шлифуем напильником

Код: Выделить всё

# echo "bf2_enable="YES"" >> /etc/rc.conf
И вуаля! получаем готовый игровой сервер с управлением, ака стоп - пуск - рестарт ;)

Код: Выделить всё

# /usr/local/etc/rc.d/bf2_server start
Спасибо всем, кто помог ;))))
Ещё раз, прошу не сильно пинать, так как первая статья, которая не претендует на man.

Вот только проблема одна осталась.
Захожу шелом на сервер, запускаю. Всё ок - сервер работает, захожу на сервер, всё ок. Как только шел тушу, отключаюсь, серв падает :((((
Интуитивно догадываюсь, что сервис запустился не отдельным доменом, но ... на этом мысль останавливается :(

Re: Battlefield 2 Server

Добавлено: 2008-04-30 11:53:07
Jan
Да, забыл, если использовать режим Интернет, то в фаерволе необходимо добавить правило:

Код: Выделить всё

allow tcp from any to me dst-port 80,1024-1124,4711,16567,16569,29900,29901
allow udp from any to me dst-port 1024-1124,1500-4999,16567,16569,27900,28910,29900,55123-55125

Re: Battlefield 2 Server

Добавлено: 2008-05-03 19:16:00
Pez!
К сожалению ваш скрипт запуска не очень удобен, если например запускаются 2 сервера на разных портах =)

Re: Battlefield 2 Server

Добавлено: 2008-05-04 16:22:54
Jan
Pez! писал(а):К сожалению ваш скрипт запуска не очень удобен, если например запускаются 2 сервера на разных портах =)
В таком случае лучше всего использовать отдельный демон BF2CC (http://www.bf2cc.com).
Данный демон использует технологию .NET
Ставим mono:

Код: Выделить всё

# cd /usr/ports/lang/mono/ && make install clean
После этого ставим screen:

Код: Выделить всё

# cd /usr/ports/sysutils/screen && make install clean
Внимательно читаем мануал к этому демону, а именно:
  1. Скачиваем BF2CC Daemon + ModManager Scripts 1.4
  • Распаковываем в директорию, где у нас находится сервер, сохраняя пути
Стругаем новый скрипт:

Код: Выделить всё

# touch /usr/local/etc/rc.d/bf2_serv

Код: Выделить всё

#!/bin/sh
BF2_DIR=/home/bf2
BF2_USER=bf2
cd $BF2_DIR
screen mono 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.

И вуаля, получаем то, чего добивались. А именно - гибкая настройка нашего сервера.

Re: Battlefield 2 Server

Добавлено: 2008-12-11 22:13:14
poison
Люди поделитесь инфой. сервак то поднял а как дальше чето не понял, региться то где надо? на EA'шном серваке? или где?
если онлайн аккаунт не активирован то подлючаться к IP не дает.

Re: Battlefield 2 Server

Добавлено: 2009-01-17 20:10:12
niko
Сделал все по мануалу Jan-a, (спасибо большое, отличный ман) и столкнулся с такой проблемой: при попытке подключиться к запущенному серверу, клиент пишет дословно 'ваша версия более старая чем сервер', перепробовал уже нескольки клиентов, и ни один не подходит. Собственно хочу спросить, где вы брали клиент, работающий с данным сервером?
Заранее благодарен за ответ.

Re: Battlefield 2 Server

Добавлено: 2009-01-19 15:23:38
poison
надо взять последнюю на текущий момент версию сервера, дальше для клиента качается патч и патчитсяи проблема решается, взять все можно на torrents.ru там есть и отучалка клиента от проверки валидности ключа, но тут возникает проблема, сервер выкидывает клиента с сообщением что типа модифицированная версия клиента, решается это переименованием файлов на сервере с расширением md5 в директории bf2.
Есть челы которые делают проверку контрольных сумм специальными утилитами в частности md5tool
Вот тут очень много инфы:
http://live.cnews.ru/forum/index.php?s= ... owforum=93

Re: Battlefield 2 Server

Добавлено: 2009-02-11 11:07:50
Jan
niko писал(а):Сделал все по мануалу Jan-a, (спасибо большое, отличный ман) и столкнулся с такой проблемой: при попытке подключиться к запущенному серверу, клиент пишет дословно 'ваша версия более старая чем сервер', перепробовал уже нескольки клиентов, и ни один не подходит. Собственно хочу спросить, где вы брали клиент, работающий с данным сервером?
Заранее благодарен за ответ.
Проблема не в клиенте (это на Лайн Эйдж), точнее надо более-менее официальный клиент и патчить обновлениями с сайта ЕА, так как сам сервер последней версии.

Re: Battlefield 2 Server

Добавлено: 2009-02-19 20:34:33
Pez!
А 2142 сервачек никому не попадался ?

Re: Battlefield 2 Server

Добавлено: 2009-03-09 0:21:14
niko
Проблема действительно была в старой версии клиента, и решилась установкой поверх клиента патча v1.41. Некоторое время все работало прекрасно, но начала появляться ошибка 'Segmentation fault (core dumped)'. Скажите, кто с этим сталкивался, и как с ней бороться?
P.S. 2142 сервер где то видел, если найду дам ссылку. Вас ведь интересует такой же dedicated server?

Re: Battlefield 2 Server

Добавлено: 2009-03-09 13:53:45
niko
Тут и вин и лин сервера бф2142. http://ftp.4players.de/pub/hosted/shoot ... rverfiles/

Re: Battlefield 2 Server

Добавлено: 2009-04-09 18:03:16
Jan
В продолжении темы.
Многие задают мне вопрос:
При входе мол пишет invalid cd key. оно и понятно, ведь все таки не лицуха ;-) читал что лечение от проверки ключа, чтобы могли зайти все, это блокировка '29910' порта...

Нет, блокировка порта ничем не поможет. Серв лицензионный, сам клиент без лицензии значит, но.... выход есть всегда )))
Всего-навсего подправленный бинарник воткнуть.
Тянем http://bf2.sumy.ua/down/bf2.tar.gz и распаковываем с заменой:
/home/bf2/bin/тип платформы(amd-64 или ia-32)/

Всё )))
П.С.: Лис, извини, но я никак не могу попасть на свою написанную статью на сайте + не вижу её слева в менюшке. Видна только предыдущая статья по батле (((( мож пофиксить?;)))

Re: Battlefield 2 Server

Добавлено: 2009-04-12 13:36:39
Alex Keda
непонял

Re: Battlefield 2 Server

Добавлено: 2009-05-15 18:22:14
Pez!
поднял сервачек, а никому не попадалось описание конфигов ? Икстати боты существуют под эту игрушку?

Re: Battlefield 2 Server

Добавлено: 2009-05-15 19:00:22
Jan
Pez! писал(а):поднял сервачек, а никому не попадалось описание конфигов ? Икстати боты существуют под эту игрушку?
Боты существуют в режиме корпорал )))

Re: Battlefield 2 Server

Добавлено: 2009-05-16 11:07:05
niko
чтобы на картах появились боты, нужно в maplist.con дописать карты следующим образом:
mapList.append daging_oilfields gpm_coop 16
и так все карты, которые есть в сингле в клиенте. Ну и в конфиге bot count количество ботов, там же рядом будут сложность и распределение по командам. сложность и распределение оставь по 50. кажется все

Re: Battlefield 2 Server

Добавлено: 2009-05-20 8:09:47
geniusms
Все поставил, правда на gentoo
но это не суть важно :)

Ребят появилась проблема я настроил и запустил как ранговый с офф статистикой в инете.
но!
сервер упрямо не дает выставить опцию sv.UseGlobalRank 1 возвращает ее в 0
sv.internet стоит 1
Анлоки работают.

Может кто сталкивался ?! Подскажите решение.
Заранее благодарен.