Jump to content

Онлайн Статистика.


ICS_Vortex
 Share

Recommended Posts

Всем привет.

 

Хочу просить всех желающих полетать, потестировать работу сервера АВИАТОР СССР.

(IP: 95.215.156.205 ).

 

Дело в том, что с другом решили сделать статистику Онлайн полётов. По этому, собираем статистику для тестов, дебагов и т.п.

Ну и нам нужно отслеживать жалобы клиентов на работу DCS .

На сервере стоит спец. мод, для отправки статистики, который в синхронном режиме отправляет данные на сервер статистики. Суть синхронности в том, что сервер DCS дожидается ответа от обработчика, на который отсылаются данные, по этому, сам сервер DCS может подлагивать, если выполнять полёты из-под сервера.

 

Суть тестирования - просто летать, как вы летаете на паблик серверах.

 

Прошу в теме отписывать - какие глюки, лаги, встречали при полётах.

Особенно, есть ли фризы.

На сервере не установлен ни Servman ни другое стороннее ПО.

По этому - разрешаются полёты с модами.

 

Если есть реальная (наглая :)) надобность перезапустить миссию - прошу отписывать в этой теме.

 

На данный момент, есть парочка не приятных багов.

1. В БД статистики отправляются русские названия вертолётов, которые не совпадают с названиями юнитов DCS . Но найдено временное решение, по этому - статистика уничтожения вертолётной техники отображается на странице расширенной статистики Пилота.

 

2. На самолётах F-15C и A-10A не срабатывают события посадки (баг DCS).

Пока что, если Вы вирпил честен - нужно выполнить посадку - выйти в зрители - и занять борт по новому, для правильного подсчёта времени налёта.

 

 

Страница Статистики, на которой отображается статус сервера, список игроков онлайн и находящихся в воздухе.

 

Немножко о логике статистики.

Все данные из игрового сервера отправляются на сервер статистики в виде:

ДАТА, НИК, СОБЫТИЕ, ОБЬЕКТ СОБЫТИЯ, ОРУЖИЕ,ОЧКИ (в скором будущем).

 

1. При старте и остановке DCS сервера - элемент НИК - пустой.

 

2. При входе игрока на сервер - данные пишутся в табличку dcs_spectators, проверяется имя игрока в таблице Pilots. Если пусто - скрипт пишет его в эту таблицу. ID пилота пока что обычный автоинкремент.

 

3. При входе в ЛА - данные пишутся в табличку dcs_redteam/blueteam.

Эти таблички выводятся на сайт.

 

4. При взлёте с аэродрома - данные об взлёте пишутся в табличку Flights.

Это табличка активных полётов, на основе которой расчитывается общий налёт за вылет.

 

5. При взлёте с ППБ - аналогично, только отсутствует ИМЯ ППБ, возможно БАГ DCS.

 

6. При посадке - по ID пилота скрипт получает время взлёта из таблички Flights, рассчитывает налёт в количестве секунд, записывает в табличку flight_hours, данные в ней хранятся в виде pilot_id, start,end,total(количество секнуд) и стирает данные из таблицы flights, так как полёт уже завершен. Это таблица-свалка, с которой потом на главную страницу сайта выбираются суммы секунд, группированные по игрокам из таблицы pilots и flight_hours (испльзуюя методы JOIN и т.п.).

 

7. При событии crashed - при разбитии ЛА - в табличку fail_flights пишется потеря ЛА в виде pilot_id и ДАТА. Скрипт получает время взлёта из таблицы flights, считает налёт, пишет в табличку общего налёта, стирает данные по pilot_id из таблицы flights, так как полёт завершён.

 

8. При самоубитии, аналогично, получает данные об взлёте. РАсчитывает налёт, пишет в общий налёт, стирает текущий полёт, записывает потерю ЛА в табличку fail_flights и записывает смерть пилота в табличку pilots_death.

Если же нету активного полёта в табличке flights - записывается потеря ЛА и смерть пилота.

 

9. При уничтожении техники, данные пишутся в табличку pilots_kills в виде НИК, КОГО УБИЛ, ЧЕМ УБИЛ, ОЧКИ (в будущем).

 

10. При катапультировании - считается налёт, пишется потеря ЛА, стираются данные об активном полёте и пишется момент катапультирования в табличку pilots_ejects в виде pilot_id,ДАТА.

Если же нету активного полёта - в бд пишется момент катапультирования и потеря ЛА.

 

11. При выходе игрока в зрители, находясь в полёте, считается налёт, пишется в табличку общего налёта, стирается активный полёт и засчитывается потеря ЛА. Запись таблицы Красной или Синей команды стирается и пишется новая запись в таблицу команды соответственно.

 

12. Смена борта, находясь в воздухе, аналогично. Потеря ЛА, общий налёт, удаление активного полёта, потеря борта.

Передвижения, события игроков модуля Combined Arms - никак не отслеживаются и в статистику не записываются.

 

(to be continued...)


Edited by ICS_Vortex

PC: i9-10850K ~5.2GHz / Asus Rog Strix H490 Gaming, Asus GTX1080 Rog Strix Gaming OC, HyperX Fury RGB 32Gb RAM 3200MHz, SSD 512Gb, HDD 1Tb, Windows 10 x64. 2 x Samsung Curved 32" 

VirpilControls software engineer

 

Link to comment
Share on other sites

Пока что сервер временно выключил, отпишусь когда включу.

PC: i9-10850K ~5.2GHz / Asus Rog Strix H490 Gaming, Asus GTX1080 Rog Strix Gaming OC, HyperX Fury RGB 32Gb RAM 3200MHz, SSD 512Gb, HDD 1Tb, Windows 10 x64. 2 x Samsung Curved 32" 

VirpilControls software engineer

 

Link to comment
Share on other sites

Так же тестирование можете выполнять на сервере АВИАТОР СССР, если он доступен в списке серверов.

PC: i9-10850K ~5.2GHz / Asus Rog Strix H490 Gaming, Asus GTX1080 Rog Strix Gaming OC, HyperX Fury RGB 32Gb RAM 3200MHz, SSD 512Gb, HDD 1Tb, Windows 10 x64. 2 x Samsung Curved 32" 

VirpilControls software engineer

 

Link to comment
Share on other sites

  • ED Team

Почему ты не делал через Export.lua?

Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down.  
Можно держаться на одном уровне добра, но но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз.

G.K. Chesterton

DCS World 2.5: Часто задаваемые вопросы

Link to comment
Share on other sites

Почему ты не делал через Export.lua?

 

Коллега делает всё что связанно с lua)

Я ток php логику пишу)

PC: i9-10850K ~5.2GHz / Asus Rog Strix H490 Gaming, Asus GTX1080 Rog Strix Gaming OC, HyperX Fury RGB 32Gb RAM 3200MHz, SSD 512Gb, HDD 1Tb, Windows 10 x64. 2 x Samsung Curved 32" 

VirpilControls software engineer

 

Link to comment
Share on other sites

Почему ты не делал через Export.lua?

Всем привет, возможно я и ошибаюсь, но как я понял, что на сервере не будет отрабатывать export.lua, он работает только у клиента, да и он часто используется всеми, а события генерируются на сервере обрабатываются в event.lua и server.lua, поэтому мы их и правим, там в каждом событии (on_kill/on_landing и так далее) вызываем свою функцию, которая отправляет с сервера ДКС на наш сервер статистики.

Надеюсь понятно объяснил, не на птичьем? )))

Link to comment
Share on other sites

Сейчас через http на сервер приходит вот такая строка.

07/17/15 15:05:10;"komissar";takeoff from;Гудаута

 

 

Ну и так далее...

 

07/17/15 15:06:28;"komissar";killed;"F-5E";R-27ER (AA-10C);2

07/17/15 15:12:30;"komissar";takeoff from;Гудаута

07/17/15 15:14:55;"komissar";killed;"F-4E";R-73 (AA-11);3

07/17/15 15:18:41;"komissar";joined SPECTATORS

07/17/15 15:19:19;"komissar";joined RED in Су-27

07/17/15 15:21:49;"komissar";takeoff from;Гудаута

07/17/15 15:25:24;"komissar";killed;"F-15C";R-27ER (AA-10C);2

07/17/15 15:27:37;"=BK=B3OP [25]";joined RED in Су-25

 

Я не претендую на специалиста года в PHP, но ихмо, это удобно, разбить строку и передавать в БД всё что надо и куда надо (БД уже готовая фактически), осталось доработать некоторые события, как Старт Сервера и посадка вирпила на аэродром.

 

Но сейчас столкнулись с проблемой тормозов, если я правильно понимаю, при посылке POST запроса - DCS ждёт ответ от сервера статистики, по этому происходят тормоза.

Решение для этого - придумали, но пока ещё нету возможности реализовать - личные причины. До 1 месяца времени - возможно будет уже что то.

PC: i9-10850K ~5.2GHz / Asus Rog Strix H490 Gaming, Asus GTX1080 Rog Strix Gaming OC, HyperX Fury RGB 32Gb RAM 3200MHz, SSD 512Gb, HDD 1Tb, Windows 10 x64. 2 x Samsung Curved 32" 

VirpilControls software engineer

 

Link to comment
Share on other sites

  • ED Team

А у вас задача организовать именно физически раздельные сервера для симулятора и статистики? А то можно было бы прям из луа в БД писать и не париться с парсингом и передачей.

Link to comment
Share on other sites

А у вас задача организовать именно физически раздельные сервера для симулятора и статистики? А то можно было бы прям из луа в БД писать и не париться с парсингом и передачей.

 

У нас задача вообще реализовать хоть какую то стату для онлайн полётов.

Разделение на DCS Сервер и Сервер Статистики - чтобы на Сайт можно было выкинуть ифу, типа Сайт сервера Блабла, Статистика, или ...Сайт сквада Squad, Статистика сервера сквада SQUAd

Щас вот - из луа формируется строка, отправляется на сервер статы. Но вариант чреват, немного...будем ещё тестить и смотреть.

PC: i9-10850K ~5.2GHz / Asus Rog Strix H490 Gaming, Asus GTX1080 Rog Strix Gaming OC, HyperX Fury RGB 32Gb RAM 3200MHz, SSD 512Gb, HDD 1Tb, Windows 10 x64. 2 x Samsung Curved 32" 

VirpilControls software engineer

 

Link to comment
Share on other sites

Но сейчас столкнулись с проблемой тормозов, если я правильно понимаю, при посылке POST запроса - DCS ждёт ответ от сервера статистики, по этому происходят тормоза.

Решение для этого - придумали, но пока ещё нету возможности реализовать - личные причины. До 1 месяца времени - возможно будет уже что то.

 

Я лагов не заметил.

Но я не понимаю что теститься, как и зачем это всё можно использовать.

То-есть будет собираться статистика?

Я могу глянуть какие у меня на этом сервере результаты?

Или это что-то другое?

Без разрыва шаблонов — нет прогресса.

Link to comment
Share on other sites

А у вас задача организовать именно физически раздельные сервера для симулятора и статистики? А то можно было бы прям из луа в БД писать и не париться с парсингом и передачей.

 

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

Link to comment
Share on other sites

Я лагов не заметил.

Но я не понимаю что теститься, как и зачем это всё можно использовать.

То-есть будет собираться статистика?

Я могу глянуть какие у меня на этом сервере результаты?

Или это что-то другое?

 

Сейчас теститься отправка данных через dcs средства и для накопления инфы) я вместо летать, хотя и это хочу, лучше сяду поработать над php логикой, там есть работы так же валом, а народ пролетает вкайф и просто так.

Таким образом я могу посмотреть и смоделировать точки начала, конца полёта, дисконекта юзера, радения сервера, и киллы и т.п.

Ибо это все надо предусмотреть.

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

 

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


Edited by ICS_Vortex

PC: i9-10850K ~5.2GHz / Asus Rog Strix H490 Gaming, Asus GTX1080 Rog Strix Gaming OC, HyperX Fury RGB 32Gb RAM 3200MHz, SSD 512Gb, HDD 1Tb, Windows 10 x64. 2 x Samsung Curved 32" 

VirpilControls software engineer

 

Link to comment
Share on other sites

  • ED Team
У нас задача вообще реализовать хоть какую то стату для онлайн полётов.

Разделение на DCS Сервер и Сервер Статистики - чтобы на Сайт можно было выкинуть ифу, типа Сайт сервера Блабла, Статистика, или ...Сайт сквада Squad, Статистика сервера сквада SQUAd

Щас вот - из луа формируется строка, отправляется на сервер статы. Но вариант чреват, немного...будем ещё тестить и смотреть.

 

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

 

Так сайт со статой можно разместить на этом же сервере. Купить домен и прикрутить его к текущему ай-пи сервера. Ну или сделать БД доступной через сеть, но этот вариант не лучший в плане безопасности(хотя врядли вас кто-то ломать станет).

Link to comment
Share on other sites

Прикольная замута.

Если сил хватит сделать миссию то я прикрутил бы стату, интересно )

Без разрыва шаблонов — нет прогресса.

Link to comment
Share on other sites

Так сайт со статой можно разместить на этом же сервере. Купить домен и прикрутить его к текущему ай-пи сервера. Ну или сделать БД доступной через сеть, но этот вариант не лучший в плане безопасности(хотя врядли вас кто-то ломать станет).

Если все выйдет, то прикрутится куда нить и сайт или хостинг провпдейтим и т.п. за это мы вкурсе.

 

суть пока в том, что модуль если и выдожим, то только как мод для dcs.

Остальным надо будет самим при желании делать сайт и логикулогику статы.

 

Возможно и костыль php прикрепим ... Но пока не охото.

PC: i9-10850K ~5.2GHz / Asus Rog Strix H490 Gaming, Asus GTX1080 Rog Strix Gaming OC, HyperX Fury RGB 32Gb RAM 3200MHz, SSD 512Gb, HDD 1Tb, Windows 10 x64. 2 x Samsung Curved 32" 

VirpilControls software engineer

 

Link to comment
Share on other sites

Всё полностью сами делаете или функции из mist ковыряете?

 

Все сами)

 

Я пока сижу пишу логику для Code Igniter.

 

Есть просто одна идея старая, но надо стату под сервак.


Edited by ICS_Vortex

PC: i9-10850K ~5.2GHz / Asus Rog Strix H490 Gaming, Asus GTX1080 Rog Strix Gaming OC, HyperX Fury RGB 32Gb RAM 3200MHz, SSD 512Gb, HDD 1Tb, Windows 10 x64. 2 x Samsung Curved 32" 

VirpilControls software engineer

 

Link to comment
Share on other sites

Но я не понимаю что теститься, как и зачем это всё можно использовать.

 

Вот я щас глянул логи из нашей функции, нету события Посадки.

Почему то в lua не работает это событие.

 

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

 

На днях выложу тестовую табличку с налётом на сервере по каждому, кто входил на серваки эти.

 

Кстати, вот ещё нюанс.

Подсчёт боеприпасов.

К примеру, одним AGM-65 можно убить, к примеру 2 БТР-80.

Но снаряд использовался то 1.

 

Такие нюансы так же нам надо будет отрабатывать.

Иначе - не правильно и не честно будет.

PC: i9-10850K ~5.2GHz / Asus Rog Strix H490 Gaming, Asus GTX1080 Rog Strix Gaming OC, HyperX Fury RGB 32Gb RAM 3200MHz, SSD 512Gb, HDD 1Tb, Windows 10 x64. 2 x Samsung Curved 32" 

VirpilControls software engineer

 

Link to comment
Share on other sites

  • ED Team
Если все выйдет, то прикрутится куда нить и сайт или хостинг провпдейтим и т.п. за это мы вкурсе.

 

суть пока в том, что модуль если и выдожим, то только как мод для dcs.

Остальным надо будет самим при желании делать сайт и логикулогику статы.

 

Возможно и костыль php прикрепим ... Но пока не охото.

 

Да я просто предложил наиболее удобный вариант на мой взгляд.

 

ЗЫ. Если надумаете писать напрямую из луа в БД и понадобится соответствующая библиотека, то чирканите в личку - пришлю.

Link to comment
Share on other sites

Да я просто предложил наиболее удобный вариант на мой взгляд.

 

ЗЫ. Если надумаете писать напрямую из луа в БД и понадобится соответствующая библиотека, то чирканите в личку - пришлю.

 

Спасибо)

PC: i9-10850K ~5.2GHz / Asus Rog Strix H490 Gaming, Asus GTX1080 Rog Strix Gaming OC, HyperX Fury RGB 32Gb RAM 3200MHz, SSD 512Gb, HDD 1Tb, Windows 10 x64. 2 x Samsung Curved 32" 

VirpilControls software engineer

 

Link to comment
Share on other sites

Пока работаю ещё над логикой статистики. Но уже есть первые сподвижки.

 

Можна посмотреть статус сервера АВИАТОР СССР по адресу http://tms.zz.vc/statistics/

и список вирпилов-находящихся в воздухе.

PC: i9-10850K ~5.2GHz / Asus Rog Strix H490 Gaming, Asus GTX1080 Rog Strix Gaming OC, HyperX Fury RGB 32Gb RAM 3200MHz, SSD 512Gb, HDD 1Tb, Windows 10 x64. 2 x Samsung Curved 32" 

VirpilControls software engineer

 

Link to comment
Share on other sites

Пока не тестили, но должно, в lua это описано.

 

Я через php сделаю.

Там есть Убил Красный игрок/Убил Синий игрок в lua.

Я сегодня успел лишь настроить плюс минус первые записи в БД, на кшталт:

1. Взлёта, активных полётов на сервере.

Проверка логики взлёта = выхода в зрители.

2. Катапультирование - запись в фэйлы.

3. Сбитие игроков игроками.

4. Смерть пилота.

5. Событие "Убился...".

 

ну и всякие такие мелочи.

Считается Полный налёт на сервере.

Количество убитой техники, но разделения на friendy-enemy пока нету.

PC: i9-10850K ~5.2GHz / Asus Rog Strix H490 Gaming, Asus GTX1080 Rog Strix Gaming OC, HyperX Fury RGB 32Gb RAM 3200MHz, SSD 512Gb, HDD 1Tb, Windows 10 x64. 2 x Samsung Curved 32" 

VirpilControls software engineer

 

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...