АДМИНИСТРАТОРАМ! (PvPGN Statistics)

Нужна ли нам качественная статистика?

Да, конечно!
22
100%
Нет, а на кой она нам.
0
Голосов нет
 
Всего голосов : 22

Сообщение Ardis » 27 сен 2004, 14:28

Ну смотри, я лично вижу два варианта создания модуля статистики игр на сервере:

1 путь сложный но наиболее мощный - переписать код исходников сервака, так чтобы при старте сервере (с нуля если) он сам создает новые таблицы связанные со статистикой(например Stats_games, Stats_players, Stats_races) и потом в ходе игр сам заносит туда все результаты, ну в общем как в обычные стандартные таблицы в реалтайме. Здесь я Нубас и не шарю как там писать.

2 пусть простой я считаю. PVPGN сервер генерирует текстовые файлы с отчетом каждой игры (я называю это файлами репортов, они имею как правило формат такой gr_20040927125400_008882 ). Эти файлы выкладываются сервером в указанной bnetd.conf директории. Мы эту диру указали на том же серваке где и сама страница статистики.

Кстате вот типичный репорт:

Код: Выделить всё
name="1x1" id=#008882
clienttag=SEXP type="melee" option="normal"
created="Mon Sep 27 12:39:15 GMT" started="Mon Sep 27 12:53:57 GMT" ended="Mon Sep 27 12:54:00 GMT"
mapfile="<WCG>The Lost Temple" mapauth="Self-Made" mapsize=128x128 tileset="Unknown"
joins=2 maxplayers=4
host=212.115.227.12:6112


babu             WIN      rating=1030 [#00318]  prob=46.8%  K=50  adj=+31
Black_Dancer     LOSS     rating=1052 [#00241]  prob=53.2%  K=50  adj=-26


<map><WCG>The Lost Temple</map>

<race>Zerg</race>
<time>860</time>

  <score overall="27035" units="13250" structures="2255" resources="11530"/>

  <units score="13250" produced="99" killed="36" lost="53"/>

  <structures score="2255" constructed="6" razed="4" lost="1"/>

  <resources score="11530" gas="2392" minerals="9138" spent="9725"/>

<map><WCG>The Lost Temple</map>

<race>Protoss</race>
<time>856</time>

  <score overall="26675" units="13475" structures="3550" resources="9650"/>

  <units score="13475" produced="41" killed="53" lost="36"/>

  <structures score="3550" constructed="29" razed="1" lost="4"/>

  <resources score="9650" gas="1976" minerals="7674" spent="8960"/>



babu's normal record is now 0/0/0 (0 draws)
Black_Dancer's normal record is now 0/0/0 (0 draws)

babu's standard ladder record is now 2/0/0 (rating 1061 [#00223]) (0 draws)
Black_Dancer's standard ladder record is now 2/2/0 (rating 1026 [#00340]) (0 draws)

This game lasted 0 minutes (elapsed).


Что делаю я?
Беру пишу парсер вот такого текстового файлика. Разбираю где значения а где названия. Значения заношу в предварительно придуманную таблицу базы. Я разделил структура записи на общую статистику игры и детальну по игрокам. Короче говоря отпарсил я файлик, удалил и все!
Аватара пользователя
Ardis
Школота
Школота
 
Сообщения: 9
Зарегистрирован:
27 сен 2004, 13:48
Откуда: Kiev
Has thanked: 0 time
Have thanks: 0 time

Сообщение Alamar » 27 сен 2004, 14:36

Первый вариант малореален, т.к. исходники PvPGN сильно патчить надо.

Второй - ИМХО вполне реализуемо, надо будет над этим вопросом подумать.

Большое спасибо за подсказку! :)
Москалі нам не друзі, тому що друзі на дорозі не валяються.
Аватара пользователя
Alamar
Злое сонное тело
Злое сонное тело
 
Сообщения: 2359
Зарегистрирован:
26 ноя 2001, 03:00
Откуда: /dev/urandom
Has thanked: 3 times
Have thanks: 94 times
Играю в: EVE Online

Сообщение Ardis » 27 сен 2004, 14:39

Незачто, в принципе мог бы поделиться своей системой, с условием что будем дальше сотрудничать и делиться кодом. Например вы что то новенькое наваяли или пофиксили - даете мне. Если я че то наваяю даю вам. Просто времени щас развивать систему нет, может позже появиться, а так вы может че то будете там улучшать и мне полезно и вам хорошо. Короче принцип OPEN Source :)
Аватара пользователя
Ardis
Школота
Школота
 
Сообщения: 9
Зарегистрирован:
27 сен 2004, 13:48
Откуда: Kiev
Has thanked: 0 time
Have thanks: 0 time

Сообщение tor » 27 сен 2004, 15:14

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

Разработчики кстати охотно принимают помощь, так что попробуйте им предложить реализацию этой фичи.
Аватара пользователя
tor
Школота
Школота
 
Сообщения: 3
Зарегистрирован:
09 авг 2001, 03:00
Has thanked: 0 time
Have thanks: 0 time

Сообщение Alamar » 27 сен 2004, 15:19

Ardis писал(а):Незачто, в принципе мог бы поделиться своей системой, с условием что будем дальше сотрудничать и делиться кодом. Например вы что то новенькое наваяли или пофиксили - даете мне. Если я че то наваяю даю вам. Просто времени щас развивать систему нет, может позже появиться, а так вы может че то будете там улучшать и мне полезно и вам хорошо. Короче принцип OPEN Source :)
Так выложи где-нить свою систему под GPL :)
На том же sourceforge можно проект организовать...
Последний раз редактировалось Alamar 27 сен 2004, 15:25, всего редактировалось 1 раз.
Москалі нам не друзі, тому що друзі на дорозі не валяються.
Аватара пользователя
Alamar
Злое сонное тело
Злое сонное тело
 
Сообщения: 2359
Зарегистрирован:
26 ноя 2001, 03:00
Откуда: /dev/urandom
Has thanked: 3 times
Have thanks: 94 times
Играю в: EVE Online

Сообщение Alamar » 27 сен 2004, 15:24

tor писал(а):Первый вариант реален, но только если изменения провести через разработчиков PVPGN, чтобы они добавили его в свою стандартную версию. Иначе при каждой нововй версии PVPGN каждый раз придется править исходники и проверять корректность работы правок.

Разработчики кстати охотно принимают помощь, так что попробуйте им предложить реализацию этой фичи.
Просто сам я такое написать вряд ли смогу, тем более что в коде PvPGN особо не разбирался.
Можно, конечно, попробовать отправить разработчикам feature request, но дойдут ли у кого-нить руки до него - неизвестно...
Москалі нам не друзі, тому що друзі на дорозі не валяються.
Аватара пользователя
Alamar
Злое сонное тело
Злое сонное тело
 
Сообщения: 2359
Зарегистрирован:
26 ноя 2001, 03:00
Откуда: /dev/urandom
Has thanked: 3 times
Have thanks: 94 times
Играю в: EVE Online

Сообщение Ardis » 27 сен 2004, 15:38

Вариант отправить рекуесты разработчикам - смешное занятие :) не первый год в этом деле :) БЕСПОЛЕЗНО :) Они делают только то что им хочется. 1-й вариант ваще можно самому сделать, всего навсего сделать лог лист изменений, так что при переходе на новую версию проблем не будет. Короче говоря 1-й подход как по мне реален в случае:
- если найдется такой маньяк способный разобраться в системе pvpgn
- если такой спец найдет время и бесплатно напишет функцию.
- если такой спец будет далее сопровождать и обробатывать баг листы :)

ИМХО маловероятно. У нас был такой программер. Он начал писать. Перелопатил туеву кучу страниц кода. PVPGN ваще по косточкам разобрал, но ..... пото потребовал БАКСЫ за работу, что в его ситуации справедливо. Но изначально мы ваще о деньгах не говорили, тем более он сам вызвался нам помочь, мы его за рога не тянули. После неприятных разговоров, прграммист ушел от нас. Щас преподает где то в Одессе :)

2-й вариант прост до безобразия :) Лишь требуется усидчивость и средние знания PHP + MySQL. Так что пробуй вариант обработки файлов репортов, весьма удобно.
Аватара пользователя
Ardis
Школота
Школота
 
Сообщения: 9
Зарегистрирован:
27 сен 2004, 13:48
Откуда: Kiev
Has thanked: 0 time
Have thanks: 0 time

Сообщение Alamar » 27 сен 2004, 15:54

Ardis писал(а):Вариант отправить рекуесты разработчикам - смешное занятие :) не первый год в этом деле :) БЕСПОЛЕЗНО :) Они делают только то что им хочется.
Ну, если им прислать готовый патч, они его может в CVS и включат. Но, повторюсь - меня на такое, увы, не хватит...

Ardis писал(а):2-й вариант прост до безобразия :) Лишь требуется усидчивость и средние знания PHP + MySQL. Так что пробуй вариант обработки файлов репортов, весьма удобно.
Попробую, куда ж я денусь :)
Главное, чтобы разработчики PvPGN не начали от версии к версии формат этих репортов менять...
Москалі нам не друзі, тому що друзі на дорозі не валяються.
Аватара пользователя
Alamar
Злое сонное тело
Злое сонное тело
 
Сообщения: 2359
Зарегистрирован:
26 ноя 2001, 03:00
Откуда: /dev/urandom
Has thanked: 3 times
Have thanks: 94 times
Играю в: EVE Online

Сообщение Ardis » 27 сен 2004, 16:26

эээ ну и что?
Я использую отдельный файлик 11.php например и в нем юзаю массив, который и используется для парсинга. Таким образом если измениться формат репортов то мне всего навсего чуток нужно подкорректировать только этот массив.
Можно и preg_replace пользоваться но я че то в начале давно юзал
str_pos () и подобные функции.
Аватара пользователя
Ardis
Школота
Школота
 
Сообщения: 9
Зарегистрирован:
27 сен 2004, 13:48
Откуда: Kiev
Has thanked: 0 time
Have thanks: 0 time

Сообщение Alamar » 27 сен 2004, 16:42

Ardis писал(а):эээ ну и что?
Я использую отдельный файлик 11.php например и в нем юзаю массив, который и используется для парсинга. Таким образом если измениться формат репортов то мне всего навсего чуток нужно подкорректировать только этот массив.
Можно и preg_replace пользоваться но я че то в начале давно юзал
str_pos () и подобные функции.
Да это понятно, просто каждый раз возиться с подгонкой(пусть даже небольшой) скрипта под формат репортов мне было бы лень :)
Москалі нам не друзі, тому що друзі на дорозі не валяються.
Аватара пользователя
Alamar
Злое сонное тело
Злое сонное тело
 
Сообщения: 2359
Зарегистрирован:
26 ноя 2001, 03:00
Откуда: /dev/urandom
Has thanked: 3 times
Have thanks: 94 times
Играю в: EVE Online

Сообщение Ardis » 27 сен 2004, 16:48

Дело хозяйское. Дело в том что сложно найти такой метод чтобы при выходе новой версии сервака (при том что там че то измениться, то что не хотелось бы ) не пришлось ваще что то менять :) Это уже совсем верх программинга :) Так что удачи :)
Аватара пользователя
Ardis
Школота
Школота
 
Сообщения: 9
Зарегистрирован:
27 сен 2004, 13:48
Откуда: Kiev
Has thanked: 0 time
Have thanks: 0 time

Сообщение Alamar » 27 сен 2004, 17:04

Спасибо! :)

Кстати, насколько я вижу, PvPGN эти репорты отчего-то выдает в двух немного отличающихся друг от друга форматах. Ты случаем не в курсе, отчего это зависит? (а то я пока что-то никакой закономерности в выборе формата не усматриваю...:-?)
Москалі нам не друзі, тому що друзі на дорозі не валяються.
Аватара пользователя
Alamar
Злое сонное тело
Злое сонное тело
 
Сообщения: 2359
Зарегистрирован:
26 ноя 2001, 03:00
Откуда: /dev/urandom
Has thanked: 3 times
Have thanks: 94 times
Играю в: EVE Online

Сообщение Ardis » 27 сен 2004, 20:31

Приведи свой пример формата :) Зависит от версии, у нас она все еще 1.5.1 :) вот и разница, у вас небось 1.6.Х
Аватара пользователя
Ardis
Школота
Школота
 
Сообщения: 9
Зарегистрирован:
27 сен 2004, 13:48
Откуда: Kiev
Has thanked: 0 time
Have thanks: 0 time

Сообщение Kinder Mahen » 27 сен 2004, 22:30

У нас на сервере стоит PvPGN 1.6.5 :)
P.S. Я вобще в шоке :o . ТАКИЕ люде на форуме появились :o . Особый респект Ардису, сам иногда захожу не bw.keiv.ua... РУЛЬ!
Аватара пользователя
Kinder Mahen
Местный
Местный
 
Сообщения: 1328
Зарегистрирован:
18 апр 2004, 10:11
Откуда: где земля встречается с небом
Has thanked: 0 time
Have thanks: 0 time

Сообщение Ardis » 29 сен 2004, 13:25

Короче допишу простенькую смену скинов и наверно поделюся :)
Аватара пользователя
Ardis
Школота
Школота
 
Сообщения: 9
Зарегистрирован:
27 сен 2004, 13:48
Откуда: Kiev
Has thanked: 0 time
Have thanks: 0 time

Пред.След.

Вернуться в Starcraft

Кто сейчас на конференции

Посетителей: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1 (находятся на конференции)
Этот раздел просматривают: нет зарегистрированных пользователей и гости: 1