D3MON Posted November 7, 2011 Posted November 7, 2011 (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 P.S: - Пока что не разобрался с русскими названиями миссий (будут отображаться кракозябрами) - Вывод из таблиц cur_mission, online, history уже делается на php на стороне сайта - где нужно лишь вывести данные из базы в удобном виде - Онлайн\История ведутся с момента посадки на любой из самолетов. История сохраняется если пилот сидел в самолете более 2 минут (этакая мертвая зона, чтобы не захламлять базу истории кратковременными пересадками с борта на борт)lss0.3.zip Edited November 7, 2011 by D3MON 1
D3MON Posted November 10, 2011 Author Posted November 10, 2011 Простейший 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>"; ?>
RFPapaDoc Posted November 11, 2011 Posted November 11, 2011 - Онлайн\История ведутся с момента посадки на любой из самолетов. История сохраняется если пилот сидел в самолете более 2 минут (этакая мертвая зона, чтобы не захламлять базу истории кратковременными пересадками с борта на борт) А нахрена писать посадки в самоль ..? У меня например только с момента взлета начинает стата писаться, а если фиксировать каждую посадку в самоль..нафига ? http://forum.rusfalcons.ru :thumbup:
D3MON Posted November 11, 2011 Author Posted November 11, 2011 (edited) А нахрена писать посадки в самоль ..? У меня например только с момента взлета начинает стата писаться, а если фиксировать каждую посадку в самоль..нафига ? При посадке или смене самолета - меняются данные онлайн о том какой самолет и коалиция. А в историю пишется время проведенное на самолете от посадки до выхода\пересадки (в базе сохраняются только те пересадки, время которых > 2 минут). Такова уж реализация Edited November 11, 2011 by D3MON
BR55Sevas Posted November 11, 2011 Posted November 11, 2011 А можно вытащить сколько времени клиент находился от ведущего на заданном расстоянии? МиГ-29 Fly by wire СДУ Su-27SM second display panel https://www.youtube.com/embed/videoseries?list=PL_2GGwNpWNp_fKXfRtDhIk8s5Jf4a9XHS http://berkuts.ru Пилотажный сервер с роботом | Aerobatic server with PhantomControl
D3MON Posted November 11, 2011 Author Posted November 11, 2011 в данный момент нет. Если будет возможность попробую сделать
Recommended Posts