«Войны в свободное время» или BF2 сервер + статистика в офисе

Сегодня я расскажу вам как установить и настроить игровой сервер BattleField 2 и прикрутить к нему локальную статистику игроков.

Сервер:

  • НР ProLiant ML350 G5
  • Intel® Xeon® 5160
  • 8 Gb RAM ECC
  • Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)

Вот такая свободная машинка попалась на глаза. Посмотрев на конфигурацию решил что Web сервер, база данных и соответственно игровой сервер уживутся на одной машине.

Описывать установку ОС не буду, начну с необходимых пакетов.

Для работы Web сервера, базы данных и web обвязки сервера нам понадобится Apache, MySQL и PHP, так же для работы статистики, модуль для apache поддерживающий выполнение ASM скриптов.

Для своего удобства, все что касается серверной части я храню в отдельном каталоге в корне системы.

Установка сервера Web,PHP,MySQL

Итак, приступим к установке:

Во время установки, сервер MySQL попросит вас ввести пароль.

Настроим виртуальные хосты

На данный момент у нас должен получится вполне рабочий Web сервер. Проверяем путем перехода на IP адрес сервера через любой браузер с компьютера в вашей локальной сети. На экране, если все правильно работает, появится надпись "It, works!".

Изменяем фаил конфигурации виртуальных хостов:

Стираем содержимое файла и вставляем наш новый виртуальный хост:

Теперь папка где лежит наш сайт будет /server/site.

Установка и настройка BattleField 2 сервера

На данном этапе у меня возникла проблема. Т.к. найти на сайте EA серверной части батлы я не смог, пришлось рыскать по интернету в писках файла bf2-linuxded-1.5.3153.0-installer.sh.

Качаем фаил bf2-linuxded-1.5.3153.0-installer.sh:

После завершения закачки установка:

После установки правим конфиг сервера:

Примерное содержание файла конфигурации и необходимые правки в нем:

Вот в принципе и все... К запуску готовы!

Сейчас вы можете запустить сервер и начать играть на нем. Но если вам нужны ранги, и полная статистика по игрокам, читайте дальше...

Установка статистики на сервер

Для ведения статистики нам помогут скрипты, которые можно скачать с сайта bf2statistics.com. Нам необходимо скачать фаил BF2Statistics 1.5.1 (единственное, нужно зарегестрироватся на сайте для получения доступа к файлам).

Содержание архива:

  • Client Files
  • Server Files
  • Web Files

Начнем с самого простого. Настройка базы данных.

База готова!

Настройка python-части

Из папки Server Files копируем содержимое в папку с нашим сервером (/server/bf2) с заменой файлов соотв.

Редактируем файл /server/bf2/python/bf2/BF2StatisticsConfig.py:

Сохраняем.

Настройка ASP части

Копируем папку ASP, а так же все файлы из каталога bf2sclone из каталога Web Files в нашу директорию с сайтом (/server/site), я это делал при помощи FTP сервера и файлового менеджера mc.

Чтобы не парится с правами, на папку /server/site я установил права доступа 777:

Если вам важна безопасность, то вот список файлов с правами доступа 777 которые необходимы для сервера:

  • /ASP/_config.php
  • /ASP/_config.php.bak
  • /ASP/_backup
  • /ASP/logs
  • /ASP/logs/_processed

Настроим ASP часть статистики.

Редактируем /server/site/sys-games/ASP/system/config/config.php:

Далее открываем браузер, переходим по адресу /ваш.ip.адрес/ASP. Откроется админка, заходим с учетными данными которые вы ввели при редактировании конфигурационного файла. В левом меню нажимаем Install DB.

После установки базы, вам будет предоставлен отчет о пройденном тесте БД. Если все нормально то напроив каждого пункта будет значение Passed.

Далее перейдя в левом меню "System" -> "Edit Configuration", вы можете более детально рассмотреть конфигурацию сервера.

Настрйока Web обвязки

Далее открываем браузер, переходим по адресу /ваш.ip.адрес/. Откроется страница установки web обвязки сервера статистики, выполните указания установочного скрипта.
После удачной установки можете отредактировать конфигурационный фаил обвязки:

На данном этапе установка статистики завершена. Как обычно, берем большой напильник и допиливаем наш "паровоз до состояния корабля"...

Работа с напильником

Чтобы наш сервер не проверял валидность ключей:
Устанавливаем пакет iptables:

Далее я добавил в конфигурацию "при подключении к сети" такие строки с блокировкой портов:

Для смены карт на сервере необходимо отредактировать фаил /server/bf2/mods/bf2/settings/maplist.con:

Политика безопасности нашего домена не разрешает использовать vbs скрипт который предлагают нам на сайте bf2statistic.com. Поэтому я пошел другим путем.

В папке %SystemRoot%/Drivers/etc я создал фаил hosts.ics в который добавил строку:

Данная строка позволяет редиректить нашу игру к нам на сервер.

Запуск сервера

Думаю все. Можно запускать сервер:

или через screen:

Отвязываемся от screen комбинацией клавиш Ctrl+A затем нажимаем D.

На этом статья завершена.

Ищите как составить договор залога? Вы найдёте всю нужную информацию здесь.