Установка HLstatsX CE "Шаг за шагом" в Windows (XAMPP)

Тема в разделе "HLstatsX:CE", создана пользователем Andrey, 19 сен 2009.

  1. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.507
    Установка HLstatsX CE "Шаг за шагом" в Windows (XAMPP)

    В этой статье показано, как настроить HLstatsX Community Edition "Шаг за шагом" в системе Windows.

    Прежде всего я хочу сказать, что это не единственный способ настройки HLstatsX Community Edition. Есть много способов достижения этой цели, но именно тот который я показываю считаю самым простым. Я не даю никакой гарантии, что это будет работать для вас в вашей системе и не несу никакую ответственность за ваши действия! :)

    Что нам понадобиться:
    - Apache, PHP, MySQL и знание основ работы в системе Windows
    - выделенная машина с системой Windows (2000/XP/2003/Vista/2008/7)
    - работающие на движках Goldsource / EP1 или Orange Box основные игровые серверы
    - дополнительные инструменты RDP или VNC / FTP Client / Notepad++

    Администраторские внутри игровые моды для ведения live-stats:
    - AMX Mod X (Goldsource)
    - SourceMod (ep1 + orange box) рекомендуем!
    - BeetlesMod (ep1 + orange box)
    - Mani Admin Plugin (ep1 + orange box)
    - (требуется только одно из всего перечисленного)

    SourceMod или AMX Mod X рекомендуются и должны быть уже установлены на вашем игровом сервере.

    Требуемые сервисы и программы:
    - HLstatsX Community Edition - Скачать
    - 7-zip - Скачать
    - ActivePerl - Скачать
    - XAMPP - Скачать
    - MaxMind GeoLiteCity.dat - Скачать

    Наша цель:
    - Хорошо работающая и настраиваемая система статистики HLstatsX Community Edition

    Обзор схемы:

    [​IMG]

    Если вы не имеете всего этого, тогда вы не сможете использовать HLstatsX Community Edition!!! -_-

    И так начнем наши шаги...

    Шаг 1:

    Скачиваем всё перечисленное программное обеспечение и сохраняем его на рабочем столе.

    [​IMG]

    Устанавливаем 7-zip, распаковываем HLX CE и GeoLiteCity.dat.gz с ним

    [​IMG]

    Создаем папку в c:\hlxce и копируем туда содержимое папки perl

    [​IMG]

    и GeoLiteCity.dat в C:\hlxce\GeoLiteCity

    [​IMG]

    Теперь идем назад в C:\hlxce\ и создаем Пакетный файл hlxce_start.cmd через редактор, добавим в него строку: perl hlstats.pl

    [​IMG]

    Сохраним и закроем его. На этом первый шаг закончен.

    Шаг 2:

    Устанавливаем ActivePerl который мы скачали здесь

    [​IMG]

    Сначала мы должны открыть окно командной строки. В меню Пуск (Start), выберите "Выполнить..." ("Run...") и введите "cmd"
    Далее введите ppm и установите требуемые расширения подтверждая согласие на их установку вводя y
    Далее напишите в одной строке:
    Код:
    install DBD::mysql
    install Geo::IP::PurePerl
    Если вы не владеете командной строкой, то на следующих скриншотах показано как установить пакеты через графический интерфейс Perl Package Manager

    Откройте меню пуск и найдите программу Perl Package Manager и запустите её

    [​IMG]

    Ведите в строке поиска название пакетов которые нужно установить как показано на следующем скриншоте:

    [​IMG]

    [​IMG]

    После установки пакетов закройте ppm
    Шаг 3:

    Установка XAMPP

    [​IMG]

    В c:\xampp

    [​IMG]

    И проверьте галки XAMPP Desktop & Start Menu Icon, Apache, MySQL и FTP если вы хотите запускать перечисленное как сервис.

    [​IMG]

    Теперь, после установки, должна быть запущена панель контроля, и нужные нам службы должны быть запущены

    [​IMG]

    Шаг 4:


    Откройте в вашем браузере ссылку http://localhost и выберите ваш язык

    [​IMG]

    В инструментах, слевой стороны, кликните phpMyAdmin

    [​IMG]

    Кликните на вкладку privileges и добавьте нового пользователя

    [​IMG]

    Теперь нам нужно импортировать файл install.sql в нашу базу данных

    [​IMG]

    [​IMG]

    [​IMG]

    Хорошо, запросы выполнены успешно, созданные таблицы импортированы в бд ;)

    Шаг 5:

    Создайте папку hlstatsx в c:\xampp\htdocs (ваша корневая Web папка)

    [​IMG]

    и скопируйте содержимое папки web сюда

    [​IMG]

    Теперь пришло время править файл C:\xampp\htdocs\hlstatsx\config.php и добавить в него имя вашего название бд, имя пользователя бд, пароль пользователя бд и адрес сервера бд

    [​IMG]

    и тоже самое в файле C:\hlxce\hlstats.conf

    [​IMG]

    сохраните эти файлы, и откройте в вашем браузере ссылку http://localhost/hlstatsx/

    WTF?!?! Не беспокойтесь, это потому что у нас нет ключа Google Maps API, мы получим его позже, кликните кнопку ok. :P

    [​IMG]

    Когда всё в порядке это выглядит гораздо лучше

    [​IMG]


    Шаг 6:

    Далее поработаем с perl daemon, смените директорию на c:\hlxce и дважды кликните на файле hlxce_start.cmd

    [​IMG]

    При этом во время работы hlxce_start.cmd уже должны быть запущены веб-сервер и игровой сервер.
    Если предыдущие шаги вы выполнили правильно, то perl daemon должен показать что он работает и прослушивает порт 27500

    [​IMG]

    Вы можете проверить это с помощью команды netstat -a в командной строке

    [​IMG]


    Шаг 7:

    Итак, позволим посмотреть себе что мы уже сделали и что нам надо сделать:

    - Apache и MySQL работают показывая страницу статистики онлайн
    - perl daemon работает и готов получать логи игры
    - Вы уже должны иметь открытыми необходимые порты в этом шаге

    Далее, мы подготовим конфиг игрового сервера и настроем админку, которая доступна по адресу http://localhost/hlstatsx/hlstats.php?mode=admin
    Первоначально логин:admin пароль:123456

    [​IMG]

    Теперь давайте изменим некоторые настройки

    [​IMG]

    Установим GeoIP положение GeoIP lookup через двоичный файл, это нужно нам чтобы отображались флаги стран!

    [​IMG]

    Теперь нам нужен Google Maps API ключ, перейдите по ссылке http://code.google.com/intl/eng/apis/maps/signup.html и войдите под своим gmail аккаунтом, если такового нет то создайте новый. В новых версиях этого делать не требуется.

    Добавьте полную ссылку на вашу статистику, пример. http://www.mywebsite.tdl/hlstatsx/

    [​IMG]

    и сгенерируйте API ключ

    [​IMG]

    и так вы получили ключ, сохраните настройки

    [​IMG]

    Теперь выберите вашу игру(ы)

    [​IMG]

    В нашем случае это Insurgency: Modern Infantry Combat, и скройте TF2 если вы не хотите его использовать

    [​IMG]

    Теперь добавим первый сервер

    [​IMG]

    заполните все поля и убедитесь в их правильности

    [​IMG]


    Шаг 8:

    В этом предпоследнем шаге мы подготовим игровой сервер и SourceMod для совместной работы с HLstatsX, перейдите к папке вашего сервера (в нашем случае сервер находиться на другой машине, поэтому мы используем FTP-клиент), далее перейдите в каталог cfg и отредактируйте или создайте новый файл autoexec.cfg если он не существует

    [​IMG]

    замените ip адрес на ваш
    Код:
    log on                                 // включение ведения логов
    logaddress_delall                 // удаляет все предыдущие логи
    logaddress_add 192.168.0.4:27500    // передает логи в HLstatsX CE daemon
    Для игр на движке Half-Life 1 не нужно ставить двоеточие перед портом, вместо него нужно поставить пробел, это будет выглядеть следующим образом:
    Код:
    log on                                 // включение ведения логов
    logaddress_delall                 // удаляет все предыдущие логи
    logaddress_add 192.168.0.4 27500    // передает логи в HLstatsX CE daemon
    Теперь перейдите к папке addons/sourcemod/plugins и вставьте 2 hlxce SM плагина сюда, которые вы найдете в HLXCommunityEdition1.x.x\sourcemod\plugins

    [​IMG]

    Плагин SuperLogs который будет сохранять логи расширенной статистики можно скачать по одной из следующих ссылок, в зависимости от используемого вами мода игры:
    SuperLogs: CSS
    SuperLogs: DODS
    SuperLogs: TF2
    SuperLogs: L4D
    SuperLogs: Insurgency
    SuperLogs: NeoTokyo
    SuperLogs: Age of Chivalry
    SuperLogs: Fistful Of Frags
    SuperLogs: GoldenEye: Source

    Теперь проверьте настройки в server.cfg
    sv_logbans 1
    sv_logfile 1
    sv_log_onefile 0
    mp_logdetail 3

    Если вы используете HLstatsX для игры на движке GoldSource (CS1.6 например) и используете AMX вам необходимо включить стандартный плагин stats_logging.amxx.

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

    [​IMG]


    Шаг 9:

    Заключительные проверки, подключитесь к игровому серверу и напишите в чате hlx, вы должны увидеть всплывающее меню

    [​IMG]

    Если у вас уже есть некоторые очки то он будет показывать статистику

    [​IMG]

    Теперь вы можете прыгать от радости, потому что вы сделали это! :lol:
    Русский перевод от Rain http://hlmod.ru/forum/showpost.php?p=3467&postcount=211 для версий линейки 1.6

    При использовании этого материала ссылка на hlmod.ru обязательна.
    Тема о том как увеличить скорость работы HLstatsX CE на веб-сервере:
    Ускорение Apache/PHP с помощью APC
     
    Последнее редактирование: 18 окт 2009
  2. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.507
    [​IMG]
    Чтобы запустить сервер и статистику автоматически можно использовать FireDaemon Service Manager: http://www.firedaemon.com/ http://tinyurl.com/myvu74 http://tinyurl.com/m5ua2q
    Создайте новый сервис в FireDaemon с этими параметрами настройки (все данные указывайте свои):
    Name: HLStatsX
    Working Directory: C:\hlxce\perl
    Executable: C:\Perl\inperl.exe
    Parameters: hlstats.pl
    Нажмите Instal
    Создайте другой сервис, чтобы запускать сервер в дальнейшем:
    Name: CSS Server
    Working Directory: C:\hl2server\cstrike
    Executable: D:hl2serversrcds.exe
    Parameters: -console -game cstrike +maxplayers 18 +map de_dust2
    В этом же окне, кликните вкладку "Dependancies" (зависимости).
    Добавьте HLStatsX
    Нажмите Install

    Запуск сервера
    Чтобы запустить сервер в firedaemon, щелкните CSS Server в списке и затем нажмите кнопку Play . Обслуживание "HLStatsX" начнется автоматически, если вы добавили его к зависимости Сервера CSS, как написано выше. Они не будут останавливаться вместе, если вы хотите остановить их, вы должны будете выключать каждый сервис отдельно.
     
  3. MeXaHuK

    MeXaHuK

    Сообщения:
    24
    Симпатии:
    0
    Спасибо за подробный мануал. Почти все работает, но статистика с сервера не передается в daemon. Какой ip вводить в autoexec.cfg?
     
  4. MeXaHuK

    MeXaHuK

    Сообщения:
    24
    Симпатии:
    0
    все статистика работает, но возникла другая проблема, когда другие игроки заходят на сервер и набирают свою статистику они не могут посмотреть свой ранг в вебстатистике, говорят что, страница не может быть открыта
     
  5. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.507
    а вообще они могут войти на ваш сайт? возможно у вас заблокирован 80 порт веб-сервера
     
    MeXaHuK нравится это.
  6. MeXaHuK

    MeXaHuK

    Сообщения:
    24
    Симпатии:
    0
    Нет, через обозреватель они также не могут войти по указанному адресу. Дело в том, что XAMPP по умолчанию настроен на работу в локальном режиме. Поэтому из игры я могу смотреть свою статистику, а другие игроки не могут, потому что ИМХО необходимо как то открыть свой localhost в www. Но я не знаю как это сделать. Перечитал несколько раз мануал к XAMPP, но так и не смог сделать. Вроде необходимо настроить Virtual server c сылкой на localhost.

    И еще один вопрос. Нормально ли держать игровой сервер и сервер статистики на XAMPP на одной машине. Конфигурация Core 2 Duo 1066 МГЦ FSB 2500 МГц 4 ГБ ОЗУ
     
  7. Eni

    Eni

    Сообщения:
    9
    Симпатии:
    2
    Извините, вставлю свои 5 копеек))
    Какой адрес для веб статистики используете?
    Если вы пишите в адресной строке http://localhost/ и другим раздаете этот адрес, естественно никто не сможет зайти, узнайте ваш IP и дайте ссылку http://<ваш IP>/. У меня в локальной сети так всё настроено.
     
    Последнее редактирование: 29 сен 2009
    MeXaHuK нравится это.
  8. MeXaHuK

    MeXaHuK

    Сообщения:
    24
    Симпатии:
    0
    Тогда нужно настраивать все шаги, которые Андрей описал не в localhost а в http://IP/. А также настраивать базу данных под этот IP
     
  9. Eni

    Eni

    Сообщения:
    9
    Симпатии:
    2
    О_о... Всё также оставьте как стоит, а другим пользователем дайте ссылку http://<ваш ип>/ и посмотрите что получится!
     
    MeXaHuK нравится это.
  10. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.507
    Eni, прав. Если ваш сервер не в локальной сети, а в сети интернет вам нужно давать ссылку включающую ваш IP адрес, либо ссылку в виде домена (если у вас динамический IP, то есть меняется, тогда воспользуйтесь DynDns или no-ip.org).
    Это не указано в мануале, так как является основами администрирования веб-серверов, и предполагается что у вас уже есть базовые знания о доменах.
     
    MeXaHuK нравится это.
  11. MeXaHuK

    MeXaHuK

    Сообщения:
    24
    Симпатии:
    0
    спасибо вам огромное, теперь все работает. Нужно было просто открыть в брандмауре порт 80. Теперь другие люди также могут зайти и посмотреть статистику онлайн
     
  12. MeXaHuK

    MeXaHuK

    Сообщения:
    24
    Симпатии:
    0
    Да, через браузер теперь эта страница статистики открывается, а в игре при нажатии клавиш statsme и тд пишет что страницу не возможно открыть. Может где то в геймсервере нужно прописать адрес страницы.
     
  13. Eni

    Eni

    Сообщения:
    9
    Симпатии:
    2
    Либо в самом плагине настройки гляди или в соурс моде там где то чет тож было (сайт указывать) говорю по памяти ))
     
  14. MeXaHuK

    MeXaHuK

    Сообщения:
    24
    Симпатии:
    0
    спасибо, все сайт статистики отображается в игре, все получилось.:yahoo:
    Еще хотел задать один вопрос. После падения геймсервера и последующего перезапуска perl daemon перестал посылать rcon команды игровому серверу. Логи передаются, а геймсервер игнорирует сообщения от perl daemon.
    Пишет сообщение: E020 (IGNORED), и так повторяется с каждой rcon-командой. Сталкивался ли кто-нибудь с такой проблемой? В чате игры не отображаются очки и тд:sad:
     
  15. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.507
    comred и MeXaHuK нравится это.
  16. MeXaHuK

    MeXaHuK

    Сообщения:
    24
    Симпатии:
    0
    А hlstatsx premium это же та же статистика. Что нужно чтобы ее поставить. Я слышал что она платная
     
  17. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.507
    HLstatsX CE это бесплатный аналог HLstatsX которая действительно платная. Устанавливается помоему также как эта, но чтобы получить её скрипты нужен premium аккаунт + у premium пользователей есть возможность хранить статистику в базах данных предоставленных hlstatsx.com (по крайней мере раньше они это предоставляли).
     
  18. STALKER112

    STALKER112

    Сообщения:
    11
    Симпатии:
    0
    помогите пожалуйста!!!Я сделал 5 шагов...Все скачал правильно и все делал попорядку..вроде не было проблем и в конце когда ввел в браузере адресс http://localhost/hlstatsx/
    у меня вышло вот что
    <a href="http://ipicture.ru/Gallery/Viewfull/24606119.html" target="_blank"><img src="http://pic.ipicture.ru/uploads/091005/thumbs/7lSlWidtN3.jpg" border="0"></a>

    Помогите пожалуйста,может проблема изза XAMP???Я скачал версию xampp-win32-1.7.2!!!А на страничке настройки использовалась версия 1.7.1!!
     
  19. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.507
    STALKER112, ошибка говорит о том что скрипт не смог соединиться с базой данных. У тебя скорее всего не правильно указано имя или пароль пользователя бд.
     
  20. MeXaHuK

    MeXaHuK

    Сообщения:
    24
    Симпатии:
    0
    Прочитал много постов в форуме поддержки, там решения выкладывают. Но по данной проблеме пока ничего не решили. Я пытался заново создать базу, переставлял strawberry perl, обновлял файлы с форума к perl daemon, но ничего не получается. Статистика ведется и записывается в БД. Но РКОН команды игнорируются perl daemon. Из за чего в чате на геймсервере не отображается очки, фраги и тд.
    Андрей. у тебя на серверах стоит такая стата, или премиум? Есть ли проблемы с HLstatsX CE?

    И еще хотел задать вопрос по железу для сервера. 20 слотов - какой канал и какой процессор необходим? tick 66. Остальное по умолчанию. Спасибо:beer: