Battlefield 2 Dedicaded Ranked Server v1.50 + bf2statistics на FreeBSD
Содержание
Установка и настройка Battlefield 2 Dedicaded Ranked Server v1.50 + bf2statistics на FreeBSD
Исходные данные. Предполагается, что Вы уже имеете базовые навыки работы в ОС FreeBSD 7.2 i386, т.к. файловые операции и им подобные не расписаны. В локальной сети имеется сервер с IP XX.XX.XX.XX, из Internet`а доступен через NAT. На нем крутятся несколько игровых серверов. Необходимо установить Battlefield 2 Dedicaded Ranked Server v1.50. В дальнейшем рассказе будем использовать IP XX.XX.XX.XX, как принадлежащий нашей машине. Вы замените его на свой во всех конфигах и все. Также нам понадобятся файлы: bf2-linuxded-1.5.3153.0-installer.tgz — архив с сервером, bf2_linuxded150x32crk — исполняемый файл для игры. Прямые ссылки не указаны, т.к. автор их не помнит, Google найдет вам их.
Включаем режим совместимости с Linux.
Добавляем в /etc/rc.conf
Добавляем или заменяем строку в /etc/sysctl.conf
Устанавливаем эмулятор Linux из портов:
Если у вас уже стоит эмултяор Linux, то выполняем
Скорее всего подойдут и более старшие версии linux_base. Если же у вас уже установлен эмулятор более младшей версии, то прежде всего следует деинсталлировать его и только потом производить установку linux_base-fc6.
Устанавливаем и настраиваем сервер Battlefield 2 Dedicaded Server
Создаем в системе нового пользователя bf2 с помощью команды
Логинимся под юзером bf2
Скачиваем сервер bf2-linuxded-1.5.3153.0-installer.tgz (смотри первый абзац статьи).
Распаковываем архив с сервером
Тем самым получим разархивированный шелл файл bf2-linuxded-1.5.3153.0-installer.sh. Запускаем его (Внимание: шелл скрипт надо запускать под bf2 аккаунтом, а не root-ом)
Вам надо будет подтвердить 2 лицензионных соглашения, а затем уже можно будет указать path для установки Battlefield 2 сервера.
Укажите /home/bf2/, тогда сервер установится в каталог /home/bf2/bf/
После установки вы можете подправить конфиг файл /home/bf2/bf2/mods/bf2/settings/serversettings.con. Приведем основные опции и их расшифровки
Остальные параметры можно понять и настроить исходя из их названия.
Скачиваем крякнутый исполняемый файл bf2_linuxded150x32crk для того чтобы играть без лицензионной версии игры. Кладем его в папку bin\ia-32\ в каталоге с сервером.
Редактируем файл start.sh
ищем в нем
Не забудьте сделать файл bf2_linuxded150x32crk выполняемым и указать его владельцем юзера bf2.
Вроде с сервером все, теперь надо разобраться со статистикой.
Прикручиваем статистику
Все действия выполняем от root. Если Вы умеете устанавливать Apache+php+MySQL, то сразу переходим к пункту 3.5. Настройка Apache
Установка MySQL
Добавляем в конец /etc/rc.conf
Запуск и настройка MySQL.
Стартуем и устанавливаем пароль рута:
Запускаем утилиту mysql
Создаём базу под bf2statistics, назовём ее bf2stats.
Создаём пользователя и наделяем правами.
Установка web-сервера Apache
Мы установим Apache версии 1.3, его возможностей будет с лихвой хватать для наших задач.
для автозапуска добавляем в /etc/rc.conf>
Запуск осуществляем командой
Установка php5 с расширениями
Запуск и настройка web-сервера Apache
Немного проясню ситуацию с настройкой Apache. Т.к. на этой же машине крутилось еще несколько игровых серверов, то надо было сделать несколько виртуальных доменов, по одному для каждого сервера, и оставить как виртуальный домен XX.XX.XX.XX. Впрочем, в любом случае удобнее будет сделать, как сделано здесь.
Создаем два каталога. В /usr/local/www/bf2 будет находиться web-морда сервера, например REW. В /usr/local/www/logs будут храниться логи доступа и ошибок домена.
Устанавливаем их владельца www:www
Редактируем файл настроек Apache
Добавляем в конец файла
Первый домен нужен для web-морды сервера. Второй для ведения статистики. Перезагружаем сервер Apache
Настройка статистики bf2statistics
Качаем последнюю версию bf2statistics отсюда. На момент написания статьи последняя версия 1.42.
Распаковываем скаченный архив. Файлы из него нам пригодятся в двух следующих пунктах.
Настройка web-части
Папку ASP копируем в каталог /usr/local/www/data
Устанавливаем CHMOD 777 на следующие файлы и папки:
/ASP/_config.php
/ASP/_config.php.bak (for config backups)
/ASP/_backup
/ASP/logs
/ASP/logs/_processed
Редактируем /usr/local/www/data/ASP/_config.php в соответствии с листингом
Открываем браузер и вводим http://XX.XX.XX.XX/ASP. Вводим логин и пароль тот что вы указали в конфиге. Далее жмете Install DB затем Upgrade DB. Все, ваша база данных заполнилась таблицами.
Настройка python-части
Переходим в каталог /home/bf2/bf2/python/bf2
Копируем все из распакованного ранее каталога «/python/bf2» в «/home/bf2/bf2/python/bf2» (включая поддиректории), с заменой файлов. Редактируем BF2StatisticsConfig.py
в соответствии с листингом
Отредактируем maplist.con. Приведен пример для четырех карт размером 16.
Добавляем в /etc/hosts строку
Клиентам тоже надо прописать в файл hosts аналогичную строку. Для Windows-клиентов полный путь c:\Windows\System32\drivers\etc\hosts
Уже сейчас можно запускать сервер командой
Установка редиректа портов для локальных пользователей
Если ваши пользователи не имеют анлимитного или бесплатного доступа в сеть Internet для подключения к серверу Online-аккаунтов, то можно предоставить им возможность подключаться используя наш сервер. Надо осуществлять портмаппинг портов 29900 и 29901 с нашего сервера на IP 207.38.11.34. Для этого можно воспользоваться разными способами (NAT, ipnat, ipfw, pf и т.д.), но самым простым будет использование маленькой программы под названием rinetd. Установим и настроим ее
Редактируем конфигурационный файл
Вставим в конец /etc/rc.conf
Запускаем собственно демон
И прописываем в клиентском файле hosts следующие строки
Теперь клиенты без использования интернета смогут подключиться к online-аккаунту.
Можно пробовать коннектиться к серверу и играть!
Отдельно хочется упомянуть форум Боевого народа. Не задавая ни одного вопроса там можно найти ответы на все вопросы, а также web-морды и user/server-bar`ы для серверов.
Battlefield 2
Доброго времени суток.
Товарищи, не получается запустить Battlefield 2. выдает черный экран, убирает черный экран, меняет разрешение рабочего стола и совсем не ругается. что мне надо сделать. добавить библиотеки? переустановить драйвера на видео карту.
Какую тему удалить — первую или вторую?
проблема еще в силе?
Скорее всего человек просто не разобрался и не смог поставить directX через winetricks
У меня вот Star Wars: Battlefield2 просто летает. Только по сети играть не могу — говорит ключика нету. Ну и пофиг, я пока кампанию не прошёл то 8)
Ну и BioShock первый запустил, тоже развлекаюсь 8)
Кто бы подсказал как в NFS любой по сети вдвоём поиграть.
Или в PuzzleQuest =\
я nfs только mostwanted, редко но играю. по сетке думал сыграть с кем нибудь в supreme comander FA.
а в чем собственно проблема играть оп сети? сам не пробовал..
Мультиплеер не работает 8) Потестируйте 8)
Я и через hamachi локалку создавал, и так в локалке пробовал. В общем даже создать вроде б не получалось.
На winehq молчат, не пробовали они multiplayer.
по возможности попробую на разных игрухах.. по идее должно работать, браузеры работают.
Ага 8) Буду ждать. Потом расскажите как там оно.. 8) Чем раньше тем лучше 8)
попробовал так — есть комп, мой, кубунта 12.04, и ноут с седьмой виндой. комп имеет прямое подключение к инету, раздает его же по вайфаю DWA125 A3 этому же ноуту.
игра из под линуха видит сервак созданый нфс под виндой. подключается, при попытке найти гонку выбрасывает с ошибкой приложения. сервер линуха не виден из под винды.
буду копать дальше, возможно кривая сама игра, так как ломаная.
8) Вот и у меня было точно также. Будем ждать результатов — может у Вас получится 8)
вообще не одну игру запустить не удалось по локалке? (инету)
По инету (именно по инету) серию NFS ни одну начиная с Underground 2
Серию PuzzleQuest тоже. Правда первый удалось сконнектить с виндой (сервер запускала винда), создать сервер через wine не являлось возможным.
nfs, при попытке подключиться к игре выдает в терминале:
err:winediag:WSASocketW Failed to create a socket of type SOCK_RAW, this requires special permissions.
err:winediag:WSASocketW Failed to create a socket of type SOCK_RAW, this requires special permissions.
wine: Unhandled page fault on read access to 0x00000004 at address 0x844715 (thread 0033), starting debugger.
И тут же падает игра. теже ошибки при создании сервера, разве что нет вылета.
копать в сторону сети.. в самом вайне? я в линуксе человек новый, сам не нарою наверно)
Failed to create a socket of type SOCK_RAW, this requires special permissions.
такой тип сокета в линуксе может создавать тока рут. правда что делать в данном случае непонятно. вайн от рута запустить?
offtop mode on спрашивается, и нафига разрабам игры понадобилось такой сокет создавать? то есть обычный tcp и udp их не устроил? или это такой выпендреж?offtop mode off
тоже читал, что от рута запустить надо.. но совсем мало желания грузить вайн от рута)
чорд, попробывать ручки теперь чешуться.
Upd1:
В общем сделал так:
sudo chown root:root .wine
И оно заработало.
Кто хочет поиграть со мной и моей девушкой в NFS — пишите 8) Попробуем сконнектиться. Если получиться конечно. в локалке играеться легко.
Теперь wine можно было запускать через sudo:
sudo wine explorer
Поиграв, возвращаем всё как было:
sudo chown -R USER:GROUP .wine
Позже попробую Puzzle Quest
На данный момент думаю что делать с ArmA2: DAYZ mod
Кому нужен ключик — обращайтесь. Остановился на том что в меню не работают устройства ввода. Пока патчу wine и пробую запустить в PlayOnLinux
upd2:
Puzzle Quest не завёлся. В смысле сетевая игра не робит =\
Но зато теперь в НФС можно гамать по сети. Правда с девушками трудно играть. Теперь истерик в 2, а то и в 3 раза больше!



