Jump to content

Программа сбора статистики LSS


Recommended Posts

Posted (edited)

Небольшая программа для сбора статистики с сервера LO FC 1.2.1\BS

Преимущественно для пилотажников (т.к писалась для себя же).

 

Реализация не самая мудреная (на сокетах), но все же.

 

Необходимо:

- LO\BS distrib

- Установленный на сервере Servman2 (Тестировалось на версии ServMan 2.5 beta 11 (Full) )

- MySQL сервер ( тестировалось на v5.0.67)

 

Что это даст?

- Вывод онлайна с сервера ( Ник, Коалиция, Самолет) в реальном времени

- Сохранение статистики полета по каждому пилоту (Кто, когда, во сколько, на чем, сколько полетал)

 

Как установить?

- Распаковать папку с программой

- Заменить файл servman2_server.lua в папке со своим сервманом на прилагающийся

- Прописать в файле main.ini реквизиты к своему mysql-серверу (пользователь с правами DELETE,UPDATE,INSERT,SELECT)

- Создать таблицы, куда будет сохранятся информация (с помощью консоли mysql. Порядок ввода команд указан в файле readme\Prepare mysql-databases.txt)

 

- Запустить программу, удостовериться что программа получила соединение с mysql (В логе явно написано "Mysql соединение успешно...Ожидание сервера lockon)

- Теперь можно включать сервер lockon

 

2bf6e1cc4af3.jpg

 

P.S:

- Пока что не разобрался с русскими названиями миссий (будут отображаться кракозябрами)

- Вывод из таблиц cur_mission, online, history уже делается на php на стороне сайта - где нужно лишь вывести данные из базы в удобном виде

- Онлайн\История ведутся с момента посадки на любой из самолетов. История сохраняется если пилот сидел в самолете более 2 минут (этакая мертвая зона, чтобы не захламлять базу истории кратковременными пересадками с борта на борт)

lss0.3.zip

Edited by D3MON
  • Like 1
Posted

Простейший php-скрипт для вывода данных онлайна с базы:

<?

 

$hostname = "localhost";

$username = "mylogin";

$password = "mypasswd";

$dbName = "lockon";

$userstable = "online";

$current_user = 1;

 

mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");

 

mysql_select_db($dbName) or die(mysql_error());

 

$query = "SELECT * FROM $userstable";

 

$res = mysql_query($query) or die(mysql_error());

$number = mysql_num_rows($res);

 

echo "<center>";

 

echo "<table border=2 width=500>";

echo "<tr>";

echo "<td>";

echo "№";

echo "</td>";

echo "<td>";

echo "Nickname";

echo "</td>";

echo "<td>";

echo "Aircraft";

echo "</td>";

echo "<td>";

echo "Coalition";

echo "</td>";

echo"</tr>";

while ($row=mysql_fetch_array($res))

{

echo "<tr>";

echo "<td>";

echo $current_user;

echo "</td>";

echo "<td>";

echo $row['name'];

echo "</td>";

echo "<td>";

echo $row['aircraft'];

echo "</td>";

echo "<td>";

echo $row['coalition'];

echo "</td>";

echo "</tr>";

$current_user = $current_user +1;

}

echo "</table>";

 

echo "</center>";

 

?>

Posted

- Онлайн\История ведутся с момента посадки на любой из самолетов. История сохраняется если пилот сидел в самолете более 2 минут (этакая мертвая зона, чтобы не захламлять базу истории кратковременными пересадками с борта на борт)

 

А нахрена писать посадки в самоль ..? У меня например только с момента взлета начинает стата писаться, а если фиксировать каждую посадку в самоль..нафига ?

Posted (edited)
А нахрена писать посадки в самоль ..? У меня например только с момента взлета начинает стата писаться, а если фиксировать каждую посадку в самоль..нафига ?

 

При посадке или смене самолета - меняются данные онлайн о том какой самолет и коалиция.

А в историю пишется время проведенное на самолете от посадки до выхода\пересадки (в базе сохраняются только те пересадки, время которых > 2 минут).

Такова уж реализация

Edited by D3MON
  • Recently Browsing   0 members

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