-
Вложений: 1
Сервер статистики для БзБ. Может, пригодится кому.
Доброго времени суток!
В свете последних событий (по поводу движка БоБа) - не имеет особого смысла "хранить в себе" создаваемые для него наработки.
Так как энтузиастов, на данный момент, поубавилось - на смарку работа в течение года, в общий доступ выкладывается сервер статистики, который позволяет вести учёт событий с их разбивкой по битвам, сквадам, игрокам и т.д.
Хочу сказать большое спасибо всем участникам проекта за работу!
Краткое описание возможностей сервера статистики можно получить тут: http://www.sukhoi.ru/forum/showthread.php?t=77992
Для общего понимания:
Сервер статистики базируется на командере от Small_Bee (http://www.sukhoi.ru/forum/showthread.php?t=76672), и получает от него всю необходимую информацию.
В качестве СУБД используется SQL Server Express 2008 R2. БД построена таким образом, чтобы обойти большинство ограничений накладываемых версией Express (кроме объёма ОЗУ - использует не более 1Гб).
На данный момент сервер статистики полностью функционирует - прошёл обкатку на всех серверах репки, как в режиме работы "локально", так и в режиме работы "по сети".
Для полноценной работы недостаёт вэб морды для вывода информации (информация по вэб-морде см. файл "Про картинки 2.doc" в приложении).
Для того, чтобы установить сервер статистики необходимо:
1. Установить командер (ссылку см. выше)
2. Установить SQL Server
Инструкция по установке Microsoft SQL Server Express 2008 R2:
http://www.kontur-extern.ru/support/faq/38/437
2. Создать каталог, в котором будут храниться базы данных
3. Скопировать в созданный каталог файлы Serv_DB.bak и Clear_Battle.bak
4. Подключить базу данных Serv_DB (см. аттач файл Serv_DB.bak)
Для чего:
- запустить среду SQL Server Management Studio
- подключиться к SQL серверу
- выбрать вкладку "Базы данных"
- вызвать контекстное меню, выбрать "Восстановить базу данных..."
- выбрать "С устройства:", указать файл Serv_DB.bak (кнопка "...")
- в поле "В базу данных:" ввести "Serv_DB"
- поставить галку "Восстановить"
- перейти на вкладку "Параметры", проверить/указать расположение БД и её журнала
- нажать кнопку "ОК"
- дождать восстановления БД
- проверить, что БД "Serv_DB" появилась в списке (на вкладке "Базы данных" вызвать "Обновить", либо переподключиться к SQL серверу)
5. Настроить системную таблицу
Для чего:
- нажать кнопку "Создать запрос"
- выполнить следующий запрос (нажать кнопку "! Выполнить"):
"USE [master]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[RepkaStatConfig]([Param_Name] [varchar](255) NULL, [Value] [varchar](255) NULL) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
INSERT INTO RepkaStatConfig (Param_Name, Value) VALUES ('DB_Path', 'C:\RepkaStat\R1DB')
GO"
, где C:\RepkaStat\R1DB - расположение файла Clear_Battle.bak
6. Настроить командер для работы с сервером статистики
Для чего:
- запустить командер с ключиком -repka
Пример: C:\Users\ХХХ\Desktop\rc\CommanderUI.exe -repka
- в командере перейти в раздел настроек (кнопка с перекрещенными ключами), далее раздел "Игровая статистика", поставить галку "Включить игровую статистику"
- ввести строку подключения к БД
Пример для сетевого расположения сервера статистики:
"Data Source=192.168.0.91,1433\SQLEXPRESS;User ID=ИМЯ ПОЛЬЗОВАТЕЛЯ;Password=ПАРОЛЬ;Initial Catalog=Serv_DB;Asynchronous Processing=true; Connect Timeout=10;"
Пример для локального расположения сервера статистики:
"Data Source=(local);Initial Catalog=Serv_DB;Integrated Security=True;Asynchronous Processing=true; Connect Timeout=3;"
- Нажать кнопку "Тест подключения", получить окно с информацией о попытке подключения к серверу. Если пишет, "Нешмоглая" - читаем снова от п.1
галка "Включить Вэб сервис" и настройки ниже - отвечают за передачу данных на вэб морду. Подробности их работы лучше спросить у автора.
- нажать кнопку "Сохранить"
- перезапустить командер
ВСЁ! Сервер готов к вливанию!
В приложении есть файлы, из которых можно понять логику работы сервера - делалось дсп, эпизодически и давно, так шо на полноценный SDK они не тянут.
У каждой хранимой процедуры есть каменты - что они делают и зачем, иногда, даже, не только в начале кода. Поэтому, считаю, что разобраться можно.
Нигде у себя не нашёл описания основных хранимых процедур, используемых для вывода информации на вэб морду, поэтому выкладываю здесь.
Для вывода "готовой" информации из недр БД-ы используются хранимые процедуры (ХП) базы данных (БД) ServDB, которые начинаются с "Show" (33 штуки).
ShowAllDep - вывод таблицы со всеми самолёто-вылетами (всех, либо только вылетов без участия игрока)
ShowAllPlayerDep - Показать все вылеты игрока
ShowBattleEvents - Показать события битвы (от и до)
ShowBattleEventsRows - Получить кол-во строк в таблице батл эвент.
ShowBattles - Показать сводку по битвам
ShowBattlesByTime - Показать сводку по битвам за период времени
ShowBattlesRows - Получить кол-во битв
ShowCurBattle - Показать текущую битву
ShowDepartures - Показать результаты самолётовылетов в битве
ShowDeparturesRows - Показать кол-во вылетов в битве
ShowDepCnt - Показать общее кол-во вылетов на разных самулях (всех, либо только вылетов без участия игрока)
ShowDepCountryCnt - Показать кол-во вылетов на самолётах разных стран (всех, либо только вылетов без участия игрока)
ShowDepDamages - Получить повреждения полученные в вылете только по агрегатам (с параметром нанесённые в вылете, с разбивкой по получателям)
ShowDepDetailDamages - Показать детализированные повреждения полученные в вылете (с параметром нанесённые в вылете, с разбивкой по получателям)
ShowDepEvents - Показать лог вылета (от и до) - Самый подробный лог. В нём есть ВСЕ события (в т.ч. попадание каждой пульки и нанесённый ей урон)
ShowDepEventsRows - Показать кол-во строк в таблице событий вылета
ShowDepEventsSec - Показать лог вылета (от и до) с уплотнением по секундам
ShowDepEventsShort - Показать сжатый лог вылета (д.б.б. основным методом вывода на вэб морду событий вылета)
ShowDepResult - Показать результат (для вылета, персо-вылета, человеко-вылета)
ShowDepTypeCnt - Показать кол-во вылетов на разных типах самулей (всех, либо только вылетов без участия игрока)
ShowDepTypeCountryCnt - Показать кол-во вылетов на самолётах разных стран по типам (всех, либо только вылетов без участия игрока)
ShowLastGroundDestroy - Показать поледнюю (Х штук) уничтоженную игроком наземку
ShowLastPlaneDestroy - оказать поледние (Х штук) уничтоженные игроком самолёты
ShowMedals_IfCnt - Показать количественные показатели выдачи наград
ShowPersDep - Показать персо-вылеты в битве
ShowPersDepRows - Показать кол-во строк в таблице персовылетов
ShowPilotsOnLine - Показать игроков он-лайн с их разбивкой по армиям и кто на чём летит и в ком сидит
ShowPlayerDep - Показать человеко-вылеты в битве
ShowPlayerDepCnt - Показать кол-во вылетов на разных типах самулей у игрока
ShowPlayerDepRows - Показать кол-во строк в таблице человековылетов в битве
ShowPlayerInfo - Показать информацию по игрокам (с фильтром)
ShowPlayerMedals - Показать награды игрокa
ShowResult - Показать результаты (для битвы, перса, игрока, сквада)
ОГРАНИЧЕНИЯ ВЕРСИИ
На текущем этапе разработки не реализованы ХП типа Show для вывода подробной информации для сквадов, персов, и "пепелацам" в ангаре (хотя полноценный учёт всех параметров для них ведётся).
Выложенная версия сервера статистики работает в режиме "догфайт", т.е. не требуется создавать сквад (есть возможность создавать сквады входящие в сквады), заносить в него пилототов, при вылете сначала выбирать самолёт из ангара, сажать в него персонажей и т.д.
Всё делается автоматом: при заходе НОВОГО игрока на сервер для него автоматически заводится сквад, скваду выделяется 100 бессмертных персонажей и выдаётся один "универсальный" самолёт в ангар. При вылете автоматом выдаётся самолёт из ангара, в него сажается свободный персонаж, в персонажа сажается игрок.
ИЗВЕСТНЫЕ ПРОБЛЕМЫ
При получении ранения персонажем в лог вылета армия инициатора ранения передаётся как "ноль" - нужно подправить в командере.
Крайне редко возникает исключение в событии "СамолётУничтожен", т.к. не поступает никакой информации по вылету - нужно подправить в командере.
Лог ошибок храниться в файле DB_ErrLog.txt, который автоматом создаётся в папке с ехе файлом командера.
Если ОЧЕНЬ коротко по этому проекту - то как то так. Ещё раз всем большое спасибо за участие.
З.Ы. Надеюсь, пригодится, и всё было не в пустую. Хотя, удовлетворение от участия в чём-то нужном (как казалось) для любимого симулятора я получил.
З.Ы.Ы. Чем смогу - помогу в развитии/исправлению багов/доработке, отвечу на любые вопросы по теме.
Спасибо за внимание.
Вложение 162633
-
Вложений: 2
Re: Сервер статистики для БзБ. Может, пригодится кому.
Исходники коммандера
RC_Old.7z - Рабочая 1.2 версия. Хелп для сервиса статистики при запущеном коммандере - http://{адрес_из_настроек}:{порт_из_настроек}/help. Сам сервис достаточно сырой, требует допиливания.
RC_New.7z - Незаконченная новая 2.0 версия, с поддержкой нескольких серверов на одной машине и оптимизированной dll-кой для игры. По сути рабочая, но не хватает UI (в состоянии эмбриона) и сервиса статистики. В сыром виде на одном конфиге, тем не менее, работает.
Оба проекта никак практически не откомментированы, однако код старался делать как можно более простым и понятным. Для обеих проектов надо будет сделать корректные референсы на dll-ки игры.
Можно пользоваться как угодно, целиком или по частям и т.п.
Архивы собирал спустя рукава, так что если чего не хватает, говорите.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Эй, я не понял, вы что? Побросали все? Еще ж нет никакого РоФаИла в природе и не будет даже через девять месяцев!
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Спасибо, ребята, понимаю как вам сейчас досадно. Если мы чувстуем себя обманутыми, то каково же ваше огорчение.
Спасибо, что вы делали эту работу, зная, что в лучшем случае, услышите только спасибо, а тут и этого не случилось.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Низкий вам всем поклон. Досадно.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Да что такое, конец света что ли? БоБа, все списали что ли ? Завтра Steam его автоматом удалит?
На чем на летать то, пока у рофавских тарахтелок крылья прорежутся?
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Основная задача ветки - попробовать оставить на плаву тот этот проект. Ещё раз повторю - не хватает только вэб морды.
Вэбмордоделов серди "нас" нет.
Исходники выложены по той причине, что продолжать развивать проект смысла не имеет. А так, может, и сгодится кому.
З.Ы. Ацтавить панику, иопт! :)
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Мужики, без паники.., я не сильно понял о чем речь(наверное что то типа трофеев у плейстейшен)
Вэбмордоделов :) , шатающихся без дела полно на фриленсере, всегда можно договориться(сам пользовался этими услугами, не подводили, а если уж утыкались в сложность задачи, то честно признавались заранее.. и денег не брали)
Заинтересованным нужно скинуться босу проекта на телефон, а он расплатится с исполнителем, сейчас по моему это не проблема
Как то так.., местный такой кикстартер :ups:
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Alex(31)
Мужики, без паники.., я не сильно понял о чем речь(наверное что то типа трофеев у плейстейшен)
Вэбмордоделов :) , шатающихся без дела полно на
фриленсере, всегда можно договориться(сам пользовался этими услугами, не подводили, а если уж утыкались в сложность задачи, то честно признавались заранее.. и денег не брали)
Заинтересованным нужно скинуться босу проекта на телефон, а он расплатится с исполнителем, сейчас по моему это не проблема
Как то так.., местный такой кикстартер :ups:
в БОБ не летаю. копеечкой поддержу.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Дело не в отсутствии вебморделов, худо бедно это и я могу склепать, а в том, что проект, для которого это все делалось, закрыт окончательно, а движок, который позволял все это (и многое другое) делать, остался не у дел. Вызывались люди и для дизайна и для веб (всем большое спасибо), всех можно было при желании найти. Лично я не вижу смысла продолжать. Для тех, кто смысл в этом видит, исходники и отдаем.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Может в одночасье все смениться и повернуться , поломанный мерседес на улице ни чейный не бросят,подберут,починят ,пентагоны ломают ,оч вероятно боб расковыряют - теория ,но скажите что это невероятно ... а когда ковыряются маньяки по миру и не торопясь что получается видели уже много раз ,с одним правда недостатком - не централизованно . Из вмв симов имеем сей час два ила и все ,то что через 1,5 года будет РаФик - это завтра
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Small_Bee
Для тех, кто смысл в этом видит, исходники и отдаем.
:) , чет мне подсказывает рано хоронить то.., РБР до сих пор живее всех живых и только на энтузиазме комьюнити, а если появится возможность в БоБ менять карту, то и комментарии как бы излишни...
Так что мой вариант всегда сработает в случае чего.. :thx:
Пока в онлайне не летаю.., но как за фишку на будущее _тоже поддержу
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Small_Bee и коллеги, на ATAG собирается команда моддеров для допиливания БоБа. Если надумаете вернуться, присоединяйтесь.
Что-то мне подсказывает, что подобной гибкости мы еще лет 6 как минимум нигде не увидим.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
-atas-
Small_Bee и коллеги, на ATAG собирается команда моддеров для допиливания БоБа. Если надумаете вернуться, присоединяйтесь.
Что-то мне подсказывает, что подобной гибкости мы еще лет 6 как минимум нигде не увидим.
Мы работаем, стате быть )
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Small_Bee
Мы работаем, стате быть )
Это радует ) Я на АТАГе ссылку на эту тему выложил. Может кто еще поковыряет. Вы бы туда тоже заходили )
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Большое спасибо за выложенные сервисы!!! :)
Пытаюсь реализовать, но дохожу до этого места и получаю ошибку.
Цитата:
Сообщение от
Zed4ever
...
Пример для локального расположения сервера статистики:
"Data Source=(local);Initial Catalog=Serv_DB;Integrated Security=True;Asynchronous Processing=true; Connect Timeout=3;"
- Нажать кнопку "Тест подключения", получить окно с информацией о попытке подключения к серверу. Если пишет, "Нешмоглая" - читаем снова от п.1
...
SQL запущен, работает. Нормально в него захожу. Таблицы пустые там создались. Но Коммандер из своей оболочки упорно не хочет соединяться с базой.
Данную строку нужно как писать? Буквально буква в букву? С кавычками, без? Может вместо Source=(local) нужно писать IP-адрес 127.0.0.1, а вместо Catalog=Serv_DB физический путь к базе данных, типа D:/BazaSQL?
В общем, что-то я тут явно не догнал.
Сам Коммандер работает нормально. Сервер запукает, останавливает. Лог сервера уже бежит не в родном окне сервера, а в самом Коммандере. В общем, тут все нормально... Мне бы с базой соединиться.
P.S.
Жутко тормозит интерфейс Коммандера. Буквально все еле шевелится в нем. Наверное, комп слабый. В данный момент юзается старенький Pintium 4 (2ггц) с двумя гигами оперативки на борту.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
для того, чтобы появилась возможность вставить строчку "Data Source=(local);Initial Catalog=Serv_DB;Integrated Security=True;Asynchronous Processing=true; Connect Timeout=3;" командер нужно запустить с ключиком "-repka" (создать ярлык, к примеру).
Если сервер установлен локально, то можно оставить и так, "Data Source=(local)", либо можно использовать более полную строку подключения типа:
"Data Source=WIN-R115V9I8SPS\IRSSSQL;User ID=USER;Password=PASSWORD;Initial Catalog=Serv_DB;Asynchronous Processing=true; Connect Timeout=10;", где
WIN-R115V9I8SPS\IRSSSQL - имя скуль сервера (имя компа+ само имя, то, которое ввели при установке)
User ID и Password нужно использовать, если авторизация не виндовая, либо виндовый пользователь, под которым запущен командер, не был добавлен к разрешённым пользователям при установке сервера. Для простоты можно задать пароль для пользователя "sa" и использовать его. "Catalog=Serv_DB" - это указано имя БД, а не путь на диске.
Если есть вопросы - могу объяснить/помочь с установкой - скапу отправил в личку.
--- Добавлено ---
З.Ы. Ещё подсказка:
Если указать MSSQLSERVER в качестве имени экземпляра при установке экспресса, то он установится как экземпляр по умолчанию, в этом случае в строке соединения на локальной машине достаточно будет указать (local). Иначе:
"имя компа\имя сервера"
--- Добавлено ---
Цитата:
Сообщение от
SlavikSG
P.S.
Жутко тормозит интерфейс Коммандера. Буквально все еле шевелится в нем. Наверное, комп слабый. В данный момент юзается старенький Pintium 4 (2ггц) с двумя гигами оперативки на борту.
А работаете по РДП/VNC? Если да - то так и есть, интерфейс с тормозами отрисовывает. Если "локальный дисплей" - то не замечал тормозов, да и производительности Вашего железа должно хватать.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Zed4ever
...
Если указать MSSQLSERVER в качестве имени экземпляра при установке экспресса, то он установится как экземпляр по умолчанию, в этом случае в строке соединения на локальной машине достаточно будет указать (local). Иначе: "имя компа\имя сервера"...
Собственно, это и явилось засадой. В мануале по установке SQL сказано дословно следующее:
5. В окне настройки экземпляра необходимо в поле Именованный экземпляр ввести уникальное имя экземпляра, например, KELITESQL и нажать кнопку...
Вот я и ввел свое уникальное имя. А в строке подключения к базе при этом вводил Data Source=(local). Потому Коммандер и не коннектился к базе. Сейчас моя строка выглядит следующим образом:
Data Source=MONTAJKA\SQLPROBA;Initial Catalog=Serv_DB;Integrated Security=True;Asynchronous Processing=true; Connect Timeout=3;
Тест на коннект с базой проходит на ура. Спасибо за разъяснения!
Цитата:
Сообщение от
Zed4ever
...
А работаете по РДП/VNC? Если да - то так и есть, интерфейс с тормозами отрисовывает. Если "локальный дисплей" - то не замечал тормозов, да и производительности Вашего железа должно хватать.
Не! У меня все гораздо проще. RAadmin юзаю. А говорю я, конечно, про локальное управление. Тормозит очень здорово. Буквально все закладочки, галочки, все двигается в очень большой задумчивости. В принципе, оно это мне сильно не мешает. Настроил один раз и забыл. Главное, чтобы это никак на работу самого сервера не влияло. Сегодня ночью сервак в холостом режиме (ну, почти в холостом), отработал на ура до самого утра и продолжает работать и сейчас. Посетители были ночью. Немного. Даже сейчас утром кто-то заходил...
У меня сейчас возник другой вопрос. Я так понимаю, самый существенный:
А что-то тихо в таблицах!!! Не вижу ни одной записи в статистике (в базе Serv_DB). Вчера специально топил кораблики на сервере. Ботов сбивал от оставленных мною же самолетов. Даже одного буржуя сбил, подвернувшегося под руку. Сам убивался ни раз. В базе тишина гробовая. Ничего не появилось. Все таблицы пустые. Ну, кроме служебных, которые изначально были заполнены. Наверное я опять что-то не так делаю? Или быть может, нужно в скрипте миссии что-то еще прописывать, чтобы это дело заработало?
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Для начала нужно проверить файл DB_ErrLog.tx (лежит рядом с ехе файлом командера).
Если в нём только записи об успешном подключении - значит всё супер, и работает как надо.
Если в нём куча сообщений об ошибках - значит надо разбираться шо сие значит. 90% - не верно указан путь к шаблону БД для битв (или вообще не указан) - решение см. п.5 из 1-го поста.
Поясню общий принцип работы.
БД Serv_DB это БД, которая содержит "сводную" (игроки, персы, сквады, кто сколько всего сбил, сколько умер, сколько очков заработал, сколько было битв, какие виды техники существуют, стоимость техники и т.д. и т.п.) информацию, и позволяет получить доступ к "подробной" (логи битвы и самолёто-вылетов, инфа по самолето/персо/человеко-вылетам в битве, результаты с/п/ч-вылетов) информации средствами хранимых процедур (ХП) (см. выше ХП Show____).
Также, через ХП этой БД командер вливает всю информацию о событиях на БоБ-сервере.
В БД имеются следующие таблицы:
BattleInfo - сводная информация по битвам (какая карта, чем окончилась, сколько длилась, ссылка на сводные результаты и т.д.)
EventInfo - текстовые сообщения событий
GeneralText - текстовые сообщения "общего назначения"
HangarInfo - инфа о "пепелацах" (пока только самолёт, но м.б. любой управляемый объект) износ, раскраска, борт номер и т.д.
LastGroundDestroy - инфа о 5 (или 10 - не помню) последних уничтоженных игроком наземных объектов
LastPlaneDestroy - см. выше, но для самолётов
Medals_Ribbons - информация о достижениях каждого игрока ("уровень" пилота, медали, нашивки и т.д.)
Medals_Ribbons_IfCnt - настройки количественных показателей, по которым определяется выдача наград (1 строка - 1 настройка, можно создавать свои настройки по желанию)
ObjectInfo - тут текстовые названия объектов в игре
ObjTypeScore - "стоимость" объекта, в зависимости от его класса и типа (ягер и бонбер, пилот и наблюдатель стоят по разному, шлюпка и линкор тоже - вот тут это и настраивается)
PersonInfo - информация по персонажам: (не игрок! Перс - это бот в "пепелаце". Игрок "вселяется" в перса) уровень умений (как в полном редакторе), налёт, ссылка на результаты и т.д.
Pilots_OnLine - инфа об игроках он-лайн
PlayerDep_Log - ссылки на все вылеты игроков во всех битвах
PlayerInfo - информация об игроках: имя, в каком скваде, ссылка на результаты, аська, текуший статус, стрик (текущий и максимальный) и т.д.
ResultInfo - "подробные" результаты, (везде, где в Serv_DB ссылка на результаты - это в неё) тут море чего: очки, кол-во уничтоженного и т.д., итого (на текущий момент) 136 параметров.
SquadInfo - информация о скваде: название, входит-ли в другой сквад, ссылка на результаты сквада, кто командир и т.д.
Принципы записи информации в БД-шаблон битвы ("подробная" инфа), механику начисления очков по типам (истребительные, бонберские, штурмовые, разведовательные, спасательные, транспортные), механику наказаний за "плохие" действия и т.д. распишу попозже.
З.Ы. Также, чуть позже, выложу новые версии БД (доработана система наказаний, наград, вывод инфы в логи битвы и вылета).
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Zed4ever
... где C:\RepkaStat\R1DB - расположение файла Clear_Battle.bak...
Ой! Ступил по полной! Путь я указал свой, но вот хвостик пути оставил ваш "\R1DB" и получилось у меня D:\BazaSCL\R1DB Даже и не знаю, зачем так сделал. Поздно было. Видать устал уже... Сейчас все поправил. Таблицу удалил (почему-то исправлять себя в живую она мне не разрешила) и запустил запрос по новой. Теперь все выглядит вот так:
http://img-fotki.yandex.ru/get/6447/...1b974466_L.jpg
Думаю, должно пахать. Проверить пока не могу. Ну, если только кто-то зайдет на сервер и активно на нем полетает.
А вообще, можно как-то проверить без пользователей, стало уже что-то писаться в таблицы или нет? Пока смотрю, все по прежнему. Никаких записей в таблицах нет. А на сервере проскочило только одно единственное сообщение:
Server: ИИ на Spitfire IIa () влетел в ландшафт.
Спасибо за расклад по таблицам. Теперь все намного понятнее стало.
Цитата:
Сообщение от
Zed4ever
...чуть позже, выложу новые версии БД (доработана система наказаний, наград, вывод инфы в логи битвы и вылета).
Только, пожалуйста, с подробным мануалом, как обновить уже текущую базу данных. Ок? :)
P.S.
За журналом ошибок понаблюдаю...
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Вот ещё - для того, чтобы исключить влияние ошибок и т.д. лучше почистить статистику.
Для этого:
1. Остановить сервер (из командера)
2. Вычистить файл DB_ErrLog.txt (проще контролировать наличие ошибок. Сейчас он, видимо, уже "длинный-длинный")
3. В БД Serv_DB выполнить запрос с вызовом ХП ClearAll "execute ClearAll" (удаляет все БД битв, в БД Serv_DB вычищает все таблички, кроме служебных)
4. Запустить сервер
После такой операции, даже если никто не заходил на сервер, должна появиться БД "Work_DB_1". В табличке BattleInfo появиться строка с инфой о 1-ой битве, в табличке результатов ResultInfo 2 строки с результатами для синей и красной стороны.
Посмотреть инфу "в человеческом виде" по битве можно, если В БД Serv_DB выполнить запрос с вызовом ХП ShowBattles "execute ShowBattles".
Посмотреть лог битвы: в БД Serv_DB выполнить запрос с вызовом ХП ShowBattleEvents "execute ShowBattleEvents 1", где "1" - номер битвы.
Если на карте существуют боты- самолёты, можно посмотреть лог самолёто-вылета: запрос "execute ShowBattleEvents 1, null, null,null, 1", где параметры следующие (по порядку):
1 - номер битвы
null - имя самолёто-вылета (текстовая строка)
null - строка с какой выводить
null - строка по какую выводить
1 - индекс самолёто-вылета (используется, если не задано имя самолёто-вылета).
Если ботов много, то индекс "1" можно прибавлять+1, т.е. 2,3,4,5...
А, если, ботов ещё и заставить повоевать др. с др., то можно увидеть "красивый" лог с попаданием каждой пульки и результатом её деятельности.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Не получается! :(
Не пишется в таблицы ничего. Даже восстановил систему имиджем из Акрониса и поставил все с нуля. Не пашет. Таблицы пустые. Коммандер с базой соединятся, если судить, что "Тест кнопкой" это гарантированная проверка. Запуск и остановка сервера происходят на ура. Вроде внешне все в порядке. Никаких ошибок в логах Коммандера нет. Там вообще пусто. Я даже было подумал, что авторизация к SQL-серверу с помощью "MONTAJKA\SQLEXPRESS" не имеет право писать в таблицы. Проверил в живую по таблице Pilots_Online. Вручную можно туда писать ID-шники.
Теперь по Коммандеру:
Если делать все в точности, как написано про его установку тут:
http://www.sukhoi.ru/forum/showthread.php?t=75862
то миссия даже и не стартует. Бесконечно в логе висит надпись:
Loading mission...
Я имею в виду про то, что если скрипты миссий должны быть обязательно приведены к такому виду:
// It`s an auto-generated script from REPKA.Commander
//$reference REPKA.Stat.dll
using RepkaMissionsLib;
public class Mission : RSTMission
{
public override void Inited()
{
base.Inited();
BattleName = "vulkan";
MapName = "Online_Volcanic_Island"; //
}
}
То в этом случае миссия уже реально не грузится.
Так же не появляются карты, в ротации Коммандера, если их поместить в папку:
C:\Documents and Settings\Юзверь\Мои документы\1C SoftClub\il-2 sturmovik cliffs of dover\REPKA.Commander\Missions
А судя по описанию, Коммандер ОБЯЗАН их увидеть.
Так же не создаются автоматом скрипты для миссий, где изначально скриптов нет. А судя по описанию, они тоже ОБЯЗАНЫ создаваться.
В общем, я в полных непонятках. :(
Скачал даже готовую миссию Репки. Там файлы smp_dog1.*
Уж там-то наверняка все правильно написано и под Коммандер заточено. Но не пашет и эта миссия! Также бесконечно висит с надписью:
Loading mission...
И только когда я жму кнопку "Остановить сервер" на этой зависшей мисси, в логе Коммандера успевает проскочить несколько строк. Дословно он пишет это:
Останавливаем сервер...
Load landscape...
Load bridges...
Load static objects...
Сервер остановлен.
В общем, ерунду пишет... :(
Цитата:
Сообщение от
Zed4ever
...
После такой операции, даже если никто не заходил на сервер, должна появиться БД "Work_DB_1". В табличке BattleInfo появиться строка с инфой о 1-ой битве
...
Автоматом создается новая база с новыми таблицами???!!!
Ничего такого не заметил. Все тихо, как в танке.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Тэкс. Тут, видимо, вопрос больше к Тимофею. Либо, если есть возможность - могу по РДП (под Вашим присмотром) посмотреть.
Я, вроде, этап подключения карт, не без труда, но проходил успешно.
В новой версии командера система подключения карт будет более человеколюбива:)
Файл DB_ErrLog.txt создаётся? В нём есть чего?
З.Ы. А как сервер в сети называется?
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Ну....
Начнем с того, что сильно спешит товарищ. База и исходники выкладывались "как было", т.е. ни корректная работоспособность, ни работоспособность в принципе не гарантировались. Тем более указывалось, что требуется допиливание.
Ну и странно юзать первую версию коммандера с актуальной базой. Актуальная зарелизенная версия коммандера - 1.2.
Если конечно есть желание разбираться со статой именно сейчас и не ждать, то надо брать исходники базы и коммандера, и допиливать самостоятельно. Но для этого надо знать С# и T-SQL как минимум.
Работоспособные версии я выкладывал, и там нет ни статы, ни базы.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Small_Bee
...Ну и странно юзать первую версию коммандера с актуальной базой...
Боже упаси!
Конечно юзается последняя версия Коммандера. Просто мне пришлось несколько раз проследовать по многим ссылкам после этой фразы:
Цитата:
Сообщение от
Small_Bee
...Порядок установки не изменился...
и так следовал, наверное, до самой первой версии Коммандера, пока не добрался до описания.
В общем да, вы правы. Нужно серьезно знать C#. И тем более серьезно, чтобы разобраться с чужой программой.
Цитата:
Сообщение от
Zed4ever
...если есть возможность - могу по РДП (под Вашим присмотром) посмотреть...
Я кстати, тоже про это подумал. Но может что-то более демократичное? Тот же TeamViewer, например? В общем, если мне конкретно приспичит, то обращусь обязательно.
Заранее спасибо! :)
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
TeamViewer - именно он и скрывался под фразой "под Вашим присмотром", просто, обычно "второй" участник не имеет локального доступа, а по РДП стучиться. Если шо - моя скапа у Вас есть :)
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
SlavikSG
В общем да, вы правы. Нужно серьезно знать C#. И тем более серьезно, чтобы разобраться с чужой программой.
Сарказм неуместен. Или вы пользуетесь собранными и работоспособными версиями, или берете сырое, дорабатываете его до своих потребностей и пользуетесь. Зачем ставить базу, из которой Вы не сможете вытянуть информацию?
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Small_Bee
...Зачем ставить базу, из которой Вы не сможете вытянуть информацию?
Ну, почему не смогу? На PHP, я думаю, можно было бы присоединиться к этой базе и вывести в WEB-интерфейс что-то не сложное. Была бы база.
Цитата:
Сообщение от
Zed4ever
TeamViewer - именно он и скрывался под фразой "под Вашим присмотром"...
Ага. Я понял. :)
А то, дааа... Обычно, когда юзается "Удаленный рабочий стол", то хозяин компа не видит, что там творит подключившийся удаленно. Что не есть гуд. Особенно, когда нужно мышой показать кому-то, что и как делать нужно.
Ладно, ребяты. Спасибо за помощь!
Я тут еще поковыряюсь сам с этой проблемой. Было бы время. Сейчас с этим совсем худо стало. Если что, то залезу с вопросами в эту тему:
http://www.sukhoi.ru/forum/showthread.php?t=68629
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
М.б., сначала, заведём БД-у? А потом РНР-ште на здоровье:) М.б. и Ваши наработки использовать в последствии сможем.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Сделал очередную попытку запустить статистику. Написал про это тут:
http://www.sukhoi.ru/forum/showthrea...94#post1959694
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
4. Подключить базу данных Serv_DB (см. аттач файл Serv_DB.bak)[/B]
Для чего:
- запустить среду SQL Server Management Studio
- подключиться к SQL серверу
- выбрать вкладку "Базы данных"
- вызвать контекстное меню, выбрать "Восстановить базу данных..."
- выбрать "С устройства:", указать файл Serv_DB.bak (кнопка "...")
- в поле "В базу данных:" ввести "Serv_DB"
- поставить галку "Восстановить"
- перейти на вкладку "Параметры", проверить/указать расположение БД и её журнала
- нажать кнопку "ОК"
- дождать восстановления БД
- проверить, что БД "Serv_DB" появилась в списке (на вкладке "Базы данных" вызвать "Обновить", либо переподключиться к SQL серверу)
нет у меня этого меня про базу данных,помогите плиз
-
Вложений: 1
Re: Сервер статистики для БзБ. Может, пригодится кому.
Шо? Чего нет? Serv_DB.bak? Он в архиве. SQL Server Management Studio? Он при установке скуль сервера появится. По какому пункту "нет у меня этого меня про базу данных"? Уточните, плз. :)
МенЯ(ю) нет?
Вложение 164466
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Zed4ever
Шо? Чего нет? Serv_DB.bak? Он в архиве. SQL Server Management Studio? Он при установке скуль сервера появится. По какому пункту "нет у меня этого меня про базу данных"? Уточните, плз. :)
МенЯ(ю) нет?
Вложение 164466
вот иенно этого пункта "базы данных" у меня и нет
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Это говорит о том, что SQL Server установлен некорректно, или "не в нашей конфигурации". Попробуйте его переустановить. А ещё, если можно, выложите скрин как у меня постом выше, а ещё скрин диспетчера конфигурации (SQL Server Configuration Manager, находится пуск->СкульСервер->Средства настройки) вкладку "Службы SQL Server".
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Zed4ever
Это говорит о том, что SQL Server установлен некорректно, или "не в нашей конфигурации". Попробуйте его переустановить. А ещё, если можно, выложите скрин как у меня постом выше, а ещё скрин диспетчера конфигурации (SQL Server Configuration Manager, находится пуск->СкульСервер->Средства настройки) вкладку "Службы SQL Server".
верно,служба скуля не хочет запускаться,надо пробовать переустановить
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Уже даже и не знаю, куда писать. То ли в тему про Коммандер, то ли в тему, про Статистику. Но судя потому, что сам Коммандер под Windows 7 сейчас заработал самым распрекрасным образом, то, наверное, нужно писать сюда.
Итак! Поставил свежую ОС Windows 7 (32bit) и опять проделал все то же самое. Сейчас Коммандер прекрасно запускает все мисси. Ничего не зависает. Запускает нормально и из Ротации и запускает нормально, если заполнено поле "Команда после запуска". Раньше, если даже в пустую миссию добавлялись скрипты для статистики, то висло стопудово. Висло под Win XP. Но под Windows 7 сейчас все нормально. Не виснет. Но при этом упорно ничего не пишется в базу данных!!!
У меня несколько вопросов к тем у кого статистика работает:
1. Какая операционка у вас используется? Windows 7 (32bit) или Windows 7 (64bit)?
2. Где был взят источник для Microsoft .NET Framework v4.0 Extended? Я свой брал тут:
http://www.microsoft.com/ru-ru/downl....aspx?id=17718
И то ли я, вообще, применил?
3. Какая строка используется для подключения к базе данных в Коммандере? С вводом имени и пароля или простая?
4. По какому пути находится Коммандер, где точно лежат файлы миссий и где вы расположили базу SQL? И с каким названием каталог базы?
5. Лог файл, образующийся рядом с базой SQL, занимает у меня почти 400 мегабайт!!! Это нормально? Это так и должно быть? Странно просто! База не работает пока еще, а лог-файл такой здоровенный..
6. Работает ли у вас статистика, если не запускать миссии в ротации? То есть работает ли она, если запущена одиночная миссия с заполненным в Коммандере полем, "Команда после запуска"? Команда типа - f d:\1.cmd
7. Какую версию Коммандера вы используете? RC_Beta_v1.2.0.4 или RC_Beta_v1.2.0.5?
8. И последнее... Очень прошу!!! Дайте любую миссию, с которой статистика у вас РАБОТАЕТ!!! Плиииз!!! Любую, простейшую... С двумя миссиями, идущими в комплекте с Коммандером, так же не пашет статистика. Но может они уже не актуальны для новых версий Коммандера.
Примечание для Тимофея:
Если миссии запускаются из ротации, то нигде никаких файлов с ошибкой не появляется. Ни в Коммандере, ни в папке с игрой. Если запускать одиночную миссию с заполненным полем "Команда после запуска" - f d:\1.cmd то в основной папке игры образуются два файла:
REPKA.Stat.dll.errors.txt
[2013-01-25 11:38:57] Value cannot be null.
Parameter name: s
и
REPKA.Stat.log.txt
[2013-01-25 11:38:57]
Object reference not set to an instance of an object.
at rc_client.core.ExtensionMain.OnBattleInit()
[2013-01-25 11:39:03]
Object reference not set to an instance of an object.
at rc_client.core.ExtensionMain.OnActorCreated(Int32 missionNumber, String shortName, AiActor actor)
[2013-01-25 11:39:03]
Object reference not set to an instance of an object.
at rc_client.core.ExtensionMain.OnActorCreated(Int32 missionNumber, String shortName, AiActor actor)
[2013-01-25 11:39:04]
Object reference not set to an instance of an object.
at rc_client.core.ExtensionMain.OnMissionLoaded(Int32 missionNumber)
[2013-01-25 11:39:04]
Object reference not set to an instance of an object.
at rc_client.core.ExtensionMain.OnBattleStarted()
[2013-01-25 11:40:15]
Object reference not set to an instance of an object.
at rc_client.core.ExtensionMain.OnBattleStoped()
Так происходит со всеми миссиями, которые у меня есть сейчас в наличии. Может вам эти мессаги что-то скажут...
В общем, я иссяк. В голове пусто. Больше никаких мыслей нет. :(
Для Zed4ever лично:
Запустил на компе TeamViewer. Версия последняя.
Путь к "пользовательской" игре:
C:\Users\SlavikSG\Documents\1C SoftClub\il-2 sturmovik cliffs of dover
Путь к основной игре:
D:\Games\Steam\steamapps\common\IL-2 Sturmovik Cliffs of Dover
Коммандеры и база сидят в:
D:\BazaSQL
D:\RC_Beta_v1.2.0.4
D:\RC_Beta_v1.2.0.5
Stеам пароль помнит. Можно просто запускать ярлык с Рабочего стола. Запускается он, как и всегда, очень тормознуто.
Будет желание поковыряйся. Комп в полном твоем распоряжении.
Сервак сейчас по умолчанию стартует с именем "Test". В игровом клиенте появляется сразу и без проблем. Так что можно тестить сколько угодно. Сервак сейчас запущен и работает. В игровом клиенте должен быть виден.
TeamViewer настроен так, что можно смело перегружаться. Он потом стартует, пароль не изменится.
Глюков на компе не заметил. Винда совсем свежая. Ну, кроме одного... Желательно не обновлять Винду. Что-то очень серьезно комп начинает тормозить на этом деле. Особенно на перезагрузках, когда начинается "применение" этих самых обновлений. То ли оперативки маловато, то ли винт тормознутый.
ID и пароль от TeamViewer-а кинул тебе в личку.
Да сохранят, великие и могучие, Small_Bee и Zed4ever мой комп в целости и сохранности!
Аминь! :)
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Вопрос/просьба: можно первые "100" строк из файла лога БД-ы, а то 400мб - это явная ошибка где-то. Видимо, каждое событие вызывает запись в лог (см. = ошибка).
--- Добавлено ---
Зашёл на сервер с указанным ИД и паролем. Сервер НЕ ВЁЛ статистику. Запустил с Вашего рабочего стола ярлык, где есть ключ "-repka" - стат запустилась. Проверил. БД- по первой битве Work_DB1 появилась. Ошибок нЭма. М.б. без ключа запускали?
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Zed4ever
Это говорит о том, что SQL Server установлен некорректно, или "не в нашей конфигурации". Попробуйте его переустановить. А ещё, если можно, выложите скрин как у меня постом выше, а ещё скрин диспетчера конфигурации (SQL Server Configuration Manager, находится пуск->СкульСервер->Средства настройки) вкладку "Службы SQL Server".
при установке вылазит вот такая вот беда-службы компонента Database Engine ошибка,Репликация SQL Server ошибка
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Dofix
при установке вылазит вот такая вот беда-службы компонента Database Engine ошибка,Репликация SQL Server ошибка
Вот тут, наверное, только гугл поможет. Сорь. Не было у меня случая, чтобы скуль сервер не поднимался после установки.
Устанавливаешь по инструкции?
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Zed4ever
Вот тут, наверное, только гугл поможет. Сорь. Не было у меня случая, чтобы скуль сервер не поднимался после установки.
Устанавливаешь по инструкции?
да,конечно,плюс в процессе выскочила ошибка о том,что не найден какой-то файл
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Zed4ever
...Запустил с Вашего рабочего стола ярлык, где есть ключ "-repka" - стат запустилась...
Большое человеческое спасибо!!! :)
Сейчас, когда все пашет, понимаю, что я делал не так. Тут целый комплекс был глупых ошибок...
Начинаю разбираться дальше.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Zed4ever
Вот тут, наверное, только гугл поможет. Сорь. Не было у меня случая, чтобы скуль сервер не поднимался после установки.
Устанавливаешь по инструкции?
а msql для этого дела подойдёт? для стата ила когда-то ставилась и она работает
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
MySql - это другая СУБД. С ней работать не будет.
Так и не получается установить?
Тогда, может, подробнее расскажите по проблеме:
Какая ОС? Какую версию скуль-сервера ставите? Какую ошибку выдаёт при установке?
--- Добавлено ---
Цитата:
Сообщение от
SlavikSG
Большое человеческое спасибо!!! :)
Сейчас, когда все пашет, понимаю, что я делал не так. Тут целый комплекс был глупых ошибок...
Начинаю разбираться дальше.
Большое человеческое пожалуйста:)
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Можно вопрос?
Я так понял, работающая статистика Коммандера под каждый запуск новой миссии создает в SQL-сервере новую базу Work_DB_x, а в базе Serv_DB, в таблице BattleInfo, создает новую запись. Пока я в дебри не лез, просто сразу хочется спросить, можно грохать эти самые "новые базы" и записи в таблице BattleInfo? Повлияет это на работу статистики в дальнейшем? Или может есть какой-то другой способ предотвращающий раздувание статистики до очень больших размеров?
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
По логике построения БД - в целом правильно.
По логике "прибивания" - нет. Если требуется почистить пространство - нужно в БД-е Serv_DB запустить ХП ClearAll, для чего выполнить скрипт "execute ClearAll" (при остановленном сервере БоБ).
Чистить руками - не есть гут. Там ссылки сплошные идут - можно лишнего навырезать и тогда море ошибок валить будет.
З.Ы. Как мысль себе на заметку - нужно приделать ХП, который бы вычищал только инфу по битвам, но оставлял сводную статистику для игроков/сквадов/персов.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Zed4ever
...Там ссылки сплошные идут - можно лишнего навырезать и тогда море ошибок валить будет...
Понял. Значит лучше так не делать.
Цитата:
Сообщение от
Zed4ever
...Как мысль себе на заметку - нужно приделать ХП, который бы вычищал только инфу по битвам, но оставлял сводную статистику для игроков/сквадов/персов.
Очень бы не помешало. А то ведь будет пухнуть очень неоправданно каталог с базами. Как снежный ком.
А есть где-то инфа, по таблицам? Какое поле, за что отвечает. В доках я чет ничего не нашел. Таблиц очень много, а полей и того больше. И что значит параметр Dep_Name в Хранимых процедурах?
Вообще, хотелось бы в идеале сделать запрос, который показал бы самые простые для игрока вещи:
1. Сколько, за весь период ведения статистики, игрок сбил самолетов.
2. Сколько подбил наземной (водной техники).
3. Каков его процент попаданий в целом.
4. На каком он месте по отношению к другим игрокам.
5. Сколько раз был сбит или просто свалился сам.
Такое вообще реально сделать из тех данных, которые накапливаются сейчас?
Из того, что сейчас находится в Хранимых процедурах, я что-то такого не увидел. Может не до конца понял.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Пост 19 в этой ветке - есть инфа по табличка основной БД-ы. Она без значения каждого поля. Вот только для "пользователя" интереснее поля вывода через ХП, т.к. во многих случаях выводится "склейка" из нескольких таблиц. Причём, как по замене данных одной таблицы из другой (подстановка "человеческих" названий и т.д.), так и склеивание столбцов по ссылке (налёт, очки и т.д. по ссылке из таблицы результатов).
Далее по вопросам 1-5. Всё это есть.
Сводная статистика по всем "абонентам" (игрок, сквад, персонаж, битва, самолёто-вылет, персо-вылет, человеко-вылет) хранится в табличках ResultInfo. Там много чего, итого 136 параметров.
Единственное, процент попаданий - учёт заведён, но он не работает пока. Требуется доработка на уровне командера.
Dep_Name - это уникальное имя самолёто-вылета в битве. Через него ведётся поиск/вывод данных с ним связанных.
Вместо имени можно использовать ID самолёто-вылета. Тогда в ХП на место имени нужно подставить пустую строку или null, а в ID номер.
Имя и ID вылета можно получить из лога битвы.
К примеру, если требуется вывести полную сводку по игроку - запрашиваем черех ХП ShowPlayerInfo 'SDPG_Zed4ever'
В полученной строке смотрим значение поля ResID. Далее ХП ShowResultInfo <ResID> - получаем налёт, чего сбил и сколько и каких, уничтожил, убил, очков заработал, помер, сел не так и т.д.
Если взять <ResID> для битвы и для конкретной стороны, то ХП ShowResultInfo <ResID> покажет сколько налетали всего, сколько ПОТЕРЬ самолётов, наземки и ресурсов, сколько очков и кем и каких заработано...
Если получить <ResID> для вылета - ХП ShowDepResultInfo <Номер битвы>, <ResID> - покажет подробные достижения конкретно в этом вылете.
Если требуется оценить игроков по одному из критериев - для этого е ХП ShowBestPlayer, для которой нужно указать этот критерий. Если критерий не указан - выводятся игроки отсортированные посумме заработаных очков (плюсуются 6 категорий: истр очки, бомберские, штурмовые, разведовательные, транспортные и спасательные).
По размерам БД-ы. Что есть "критичный" объём данных? На Р4 за месяц-два накопилось несколько гиг архивов. До 10, вроде. Учитывая характер догфайтности оной - не очень критично, мне кажется. Пара фильмов ДВД :)
З.Ы. По механизму сохранения сводки "за историю битв" - тут надо подумать как правильно сделать.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Цитата:
Сообщение от
Zed4ever
...Далее ХП ShowResultInfo <ResID> - получаем налёт, чего сбил и сколько и
...
Если требуется оценить игроков по одному из критериев - для этого ХП ShowBestPlayer...
А что-то нет у меня таких "вкусных" хранимых процедур. :( Может поэтому я и задал свои пять вопросов?
Цитата:
Сообщение от
Zed4ever
...По размерам БД-ы. Что есть "критичный" объём данных? На Р4 за месяц-два накопилось несколько гиг архивов. До 10, вроде...
Ой мама родная! У меня сейчас всего 10 гигов свободного места осталось (комп и винт старенькие). А что же будет, за несколько лет? Статистика ИЛ-2 у меня как-то четыре года жила и накапливалась. Там просто копейки набегали. Статистика, она на то и статистика... И в теории она должна накапливаться бесконечно долго. И процедура ClearAll вообще никогда не должна применяться. Сдается мне, решением этого дела мог бы стать полный отказ от создания каждый раз новой базы, под каждую новую битву. Но переделать это сейчас, скорее всего, уже невероятно сложно. Потому "сохранение сводки за историю битв", рано или поздно, может стать довольно насущным вопросом.
Вопрос:
Как можно поиметь у себя две процедуры?
ShowResultInfo
ShowBestPlayer
Я ведь потому и спросил про названия полей и какое поле за что отвечает. В принципе, можно было бы подумать про то, как самому состряпать тот или иной запрос. Но если оно уже все есть, то это гуд.
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
Я бы предожил принцип сезонов ладдера battle.net для сервера статистики проекта БзБ - т.е. сброс детальной статистики с сохранением какой-то общей информаци об игроке.
Преиимущества:
1. Меньший объём статы с течение времени
2. Доп. мотивация играть после сброса статистики
3. Сохранение обычной мотивации путём сохранения достижений даже после сброса
-
Re: Сервер статистики для БзБ. Может, пригодится кому.
По поводу ShowResultInfo - ошибся я, на память писал:) ShowResult она называется. ShowBestPlayer - опять я ошибся:) В выложенной версии её нет. Ещё "чуть-чуть" и обязательно обновлю выложенные версии.
По поводу раздувания статистики - согласен с Вами на все 100%.
Обязательно приделаю ХП "DelWorkDB", которая будет вычищать указанную БД битвы + вычищать из Serv_DB ссылки на базы битв.
Соотв-но, общая БД-а будет раздуваться с гораздо меньшей интенсивностью.