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

Andrey

пишу код за еду
Сообщения
3,386
Реакции
4,019
  • Команда форума
  • #1
Установка 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

Обзор схемы:

hlxce_win_tuto_051.png


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

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

Шаг 1:

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

hlxce_win_tuto_01.png


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

hlxce_win_tuto_046.png


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

hlxce_win_tuto_021.png


и GeoLiteCity.dat в C:\hlxce\GeoLiteCity

hlxce_win_tuto_039.png


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

hlxce_win_tuto_044.png


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

Шаг 2:

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

hlxce_win_tuto_012.png


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

Если вы не владеете командной строкой, то на следующих скриншотах показано как установить пакеты через графический интерфейс Perl Package Manager

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

hlxce_win_tuto_027.png


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

hlxce_win_tuto_069.png


hlxce_win_tuto_0701.png


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

Установка XAMPP

hlxce_win_tuto_047.png


В c:\xampp

hlxce_win_tuto_048.png


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

hlxce_win_tuto_049.png


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

hlxce_win_tuto_050.png


Шаг 4:


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

hlxce_win_tuto_02.png


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

hlxce_win_tuto_03.png


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

hlxce_win_tuto_06.png


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

hlxce_win_tuto_09.png


hlxce_win_tuto_08.png


hlxce_win_tuto_010.png


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

Шаг 5:

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

hlxce_win_tuto_013.png


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

hlxce_win_tuto_011.png


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

hlxce_win_tuto_016.png


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

hlxce_win_tuto_060.png


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

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

hlxce_win_tuto_017.png


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

hlxce_win_tuto_018.png



Шаг 6:

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

hlxce_win_tuto_0444.png


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

hlxce_win_tuto_061.png


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

hlxce_win_tuto_033.png



Шаг 7:

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

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

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

hlxce_win_tuto_020.png


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

hlxce_win_tuto_062.png


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

hlxce_win_tuto_040.png


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

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

hlxce_win_tuto_041.png


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

hlxce_win_tuto_042.png


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

hlxce_win_tuto_043.png


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

hlxce_win_tuto_064.png


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

hlxce_win_tuto_030.png


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

hlxce_win_tuto_031.png


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

hlxce_win_tuto_032.png



Шаг 8:

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

hlxce_win_tuto_037.png


замените ip адрес на ваш
C-подобный:
log on                                 // включение ведения логов
logaddress_delall                 // удаляет все предыдущие логи
logaddress_add 192.168.0.4:27500    // передает логи в HLstatsX CE daemon
Для игр на движке Half-Life 1 не нужно ставить двоеточие перед портом, вместо него нужно поставить пробел, это будет выглядеть следующим образом:
C-подобный:
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

hlxce_win_tuto_036.png


Плагин 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.

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

hlxce_win_tuto_066.png



Шаг 9:

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

ins_almaden0003.png


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

ins_almaden0002.png


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

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

Andrey

пишу код за еду
Сообщения
3,386
Реакции
4,019
  • Команда форума
  • #2
logo.gif

Чтобы запустить сервер и статистику автоматически можно использовать 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, как написано выше. Они не будут останавливаться вместе, если вы хотите остановить их, вы должны будете выключать каждый сервис отдельно.
 

MeXaHuK

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

MeXaHuK

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

Andrey

пишу код за еду
Сообщения
3,386
Реакции
4,019
  • Команда форума
  • #5
все статистика работает, но возникла другая проблема, когда другие игроки заходят на сервер и набирают свою статистику они не могут посмотреть свой ранг в вебстатистике, говорят что, страница не может быть открыта
а вообще они могут войти на ваш сайт? возможно у вас заблокирован 80 порт веб-сервера
 

MeXaHuK

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

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

Eni

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

MeXaHuK

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

Eni

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

Andrey

пишу код за еду
Сообщения
3,386
Реакции
4,019
  • Команда форума
  • #10
Eni, прав. Если ваш сервер не в локальной сети, а в сети интернет вам нужно давать ссылку включающую ваш IP адрес, либо ссылку в виде домена (если у вас динамический IP, то есть меняется, тогда воспользуйтесь DynDns или no-ip.org).
Это не указано в мануале, так как является основами администрирования веб-серверов, и предполагается что у вас уже есть базовые знания о доменах.
 

MeXaHuK

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

MeXaHuK

Участник
Сообщения
24
Реакции
0
О_о... Всё также оставьте как стоит, а другим пользователем дайте ссылку http://<ваш ип>/ и посмотрите что получится!

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

Eni

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

MeXaHuK

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

MeXaHuK

Участник
Сообщения
24
Реакции
0

Andrey

пишу код за еду
Сообщения
3,386
Реакции
4,019
  • Команда форума
  • #17
А hlstatsx premium это же та же статистика. Что нужно чтобы ее поставить. Я слышал что она платная
HLstatsX CE это бесплатный аналог HLstatsX которая действительно платная. Устанавливается помоему также как эта, но чтобы получить её скрипты нужен premium аккаунт + у premium пользователей есть возможность хранить статистику в базах данных предоставленных hlstatsx.com (по крайней мере раньше они это предоставляли).
 

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!!
 

Andrey

пишу код за еду
Сообщения
3,386
Реакции
4,019
  • Команда форума
  • #19
STALKER112, ошибка говорит о том что скрипт не смог соединиться с базой данных. У тебя скорее всего не правильно указано имя или пароль пользователя бд.
 

MeXaHuK

Участник
Сообщения
24
Реакции
0
Тут пишут о такой проблеме:
http://forums.interwavestudios.com/topic/320-perl-daemon-issuse-unblessed-reference/
скорее всего это баг, надо дождаться новой версии.
Прочитал много постов в форуме поддержки, там решения выкладывают. Но по данной проблеме пока ничего не решили. Я пытался заново создать базу, переставлял strawberry perl, обновлял файлы с форума к perl daemon, но ничего не получается. Статистика ведется и записывается в БД. Но РКОН команды игнорируются perl daemon. Из за чего в чате на геймсервере не отображается очки, фраги и тд.
Андрей. у тебя на серверах стоит такая стата, или премиум? Есть ли проблемы с HLstatsX CE?

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