Вопрос статистики в сетевом БФ2 решен с кровью и соплями и вот этим
форумом games.cnews.ru
Ниже дублирую статью с вышеуказанного форума
---------------------------------------------------------------------------
Итак, в этой теме собраны плоды коллективного (и личного) разума.
Всем, кто делился знаниями на форуме - огромное спасибо.
================================================
Q.: Будет ли работать статистика для ОФФЛАЙН-аккаунтов и главное, будут ли открыватся АНЛОКИ для ОФФЛАЙН-аккаунтов?
A.: Статистика работать будет. Анлоки для Оффлайн аккаунтов открыватся не будут они доступны только для Online аккаунтов.
Q.: Будет ли работать BFHQ у Оффлайн аккаунтов?
A.: Нет не будет. BFHQ работает только у Online аккаунтов.
=================================================
=================================================
Q.: Я хочу сделать свой сервер с учётом локальной статистики. Каков необходимый набор "инструментов", утилит, (железа?)?
A.: Для этого Вам понадобится
AppServ- Виртуальный сервер
bf2statistics_1.4.2 – статистика
bf2statistics-web – Web Интерфейс
Q.: Как установить статистику
А.: Установка bf2statistics на Windows XP SP1-SP2
Для этого нам понадобится:
AppServ- Виртуальный сервер
appserv_win32_2.5.5.zip
( 19.68 мегабайт )
bf2statistics_1.4.2 – статистика
bf2statistics_1.4.2.zip
( 427.43 килобайт )
bf2statistics-web – Web Интерфейс
bf2statistics_by_virtualisanity.zip
( 9.69 мегабайт )
И так приступим.
Под "синглом" подразумевается установка статы на тот же компьютер что и сервер, а под "мультиплеером" - установка статы и самого сервера БФ2 на разные компьютеры.
Сначала устанавливаем AppServ. Ставим по умолчанию
и следуем инструкциям по установке.
Настройка для multiplaer
Заходим в
и открываем через блокнот файл httpd.conf
И правим ручками строчку
#Listen 169.254.57.220:80 – пишите свой IP
Listen 169.254.57.220:80 – пишите свой IP
Если Вам для сингла то править ничего не нужно.
Открываем Opera или Internet Explorer и вводим
Откроется страница где нажимаем кнопку phpMyAdmin Database Manager Version 2.8.2 и вводим имя по умолчанию root без пароля
Дальше создаем базу данных например bfstats она будет пустой. Дальше жмем на кнопку домик в верхней части экрана (возврат к началу)
Дальше на главной странице жмем кнопку Привилегии -> Добавить нового пользователяОткрываеца страница
Цитата
Информация логина
Имя пользователя: Просто вводим свое имя
Хост: имя хоста (localhost)
Пароль: Придумай себе пароль
Подтверждение:повтор пароля
Строку Generate Password не трогаем
Чуть ниже Глобальные привилегии:
Жмем отметить все
И в самом низу странице кнопка Пошел жмем ее
Вы сделали себя админом базы данных. Здесь пока все.
Распаковываем архив bf2statistics_1.4.2. например сюда
Код
С:\bf2statistics_1.4.2.
Копирум отсюда папку ASP и вставляем по адресу
должно получиться
Дальше заходим в
и правим ручками файл _config.php
Для сингла IP адреса по умолчанию
<?php
/***************************************
* Battlefield 2 Private Stats Config *
****************************************
* All comments have been removed from *
* this file. Please use the Web Admin *
* to change values. *
***************************************/
$db_expected_ver = '1.4.2';
$db_host = 'localhost'; или ваш IP адрес
$db_name = 'имя базы данных которую создавали к примеру bfstats';
$db_user = 'ваше имя'; -которое создавали в базе данных
$db_pass = 'пароль';
$admin_user = 'ваше имя';
$admin_pass = 'пароль';
$admin_hosts = array('ваш IP адрес','ваш IP адрес/24');
$admin_log = 'logs/_admin_event.log';
$admin_backup_path = 'c:/appserv/www/ASP/_backups/';
$admin_backup_ext = '.bak';
$admin_page_size = 25;
$admin_ignore_ai = 1;
$stats_ext = '.txt';
$stats_logs = 'logs/';
$stats_logs_store = 'logs/_processed/';
$stats_move_logs = 1;
$stats_min_game_time = 0;
$stats_min_player_game_time = 0;
$stats_players_min = 1;
$stats_players_max = 600;
$stats_rank_check = 1;
$stats_rank_tenure = 7;
$stats_awds_complete = 1;
$stats_lan_override = 'ваш IP адрес';
$stats_local_pids = array('LocalPlayer01','ваш IP адрес','LocalPlayer02','ваш IP адрес ');
$debug_lvl = 1;
$debug_log = 'logs/_stats_errors.log';
$game_hosts = array('ваш IP адрес ','ваш IP адрес /24');
$game_custom_mapid = 700;
$game_unlocks = 0;
$game_unlocks_bonus = 1;
$game_unlocks_bonus_min = 1;
$game_awds_ignore_time = 0;
$game_default_pid = 29000000;
?>
Открываем Opera или Internet Explorer и вводим
http://localhost/ASP или http://свой Ip адрес/ASP
Вводим логин и пароль тот что вы указали в конфиге. Далее жмете Install DB затем Upgrade DB. Все ваша база данных заполнилась таблицами.
Далее создаем папку
и распаковываем содержимое bf2statistics-web там же открываем файл BF2Stats-config.php и правим
// If you want this to use a MySQL server, populate these fields:
$this->db_name = 'bfstats'; // Имя базы данных
$this->db_user = 'Alien_'; // Имя
$this->db_pass = 'omon'; // пароль
$this->db_srvr = 'Localhost или свой IP'; // Probably (99%) 'localhost'
$this->prefix = ''; // should be fine.
Дальше там же редактируем файл config.php
Далее заходим
Заходим
и редактируем файл BF2StatisticsConfig.py
Для сингла править не надо
Для мултиплеера
# ------------------------------------------------------------------------------
# Backend Web Server
# ------------------------------------------------------------------------------
http_backend_addr = 'свой IP адрес'
http_backend_port = 80
http_backend_asp = 'http://свой IP адрес/ASP/bf2statistics.php'
# Player Manager
# ------------------------------------------------------------------------------
pm_backend_pid_manager = 1
pm_local_pid_txt_file = 'python/bf2/pid.txt' # Relative from BF2 base folder
pm_ai_player_addr = 'адрес для ботов в сингле' # Not recommended to change
# Backup Central Community Web Server (OPTIONAL)
# ------------------------------------------------------------------------------
http_central_enable = 0 # Use settings above (0, 1, 2)
http_central_addr = 'cbd.xxx.aaa' #Address Central STATS Server
http_central_port = 80
http_central_asp = 'http://свой IP адрес/ASP/bf2statistics.php'
Далее открываем файл snapshot.py который находится по адресу С:\bf2statistics_1.4.2\python\bf2\stats и правим для сингла
#HOST = 'localhost'
#PORT = 80
#PATH = '/ASP/bf2statistics.php'
Для мултиплеера
#HOST = 'ваш IP адрес'
#PORT = 80
#PATH = 'http://ваш IP адрес/ASP/bf2statistics.php'
После этого берем эту папку bf2 которая находиться по адресу
Код
С:\bf2statistics_1.4.2\python\bf2
и копируем ее туда куда установлена батла по вот этим адресам
и
с
заменой файлов
Далее редактируем файл hosts который находиться по адресу
в
самом конце добавляем
Для сингла
localhost BF2web.gamespy.com # BF2 Statistics Redirect
Для мултиплеера
свой IP адрес BF2web.gamespy.com # BF2 Statistics Redirect
Так же для мултиплеера клиенты тоже должны копировать отредактированную папку bf2 туда куда установлена батла по вот этим адресам
\Battlefield 2\python\bf2
и
\Battlefield 2\Python_Xpack
с заменой файлов
Знания собрал воедино DJ Alien
- Подпись автора
---