[ share ] Просмотр логов чата игры через веб

Теги:
 
+
-
edit
 

URANUS

втянувшийся
Смысл в том, что при общении с игроками через телнет к примеру, что они пишут в ответ не видно ).
Дабы исправить данный пробел можно использовать данный пгп скрипт.
Он выводит последние 100 сообщений чата в соответствующих для них цветах.
code php
  1. <html>
  2. <head>
  3.     <title>Просмотр логов чата</title>
  4. </head>
  5. <body bgcolor="#252525">
  6.  
  7. <?php
  8.     // Считывание всего файла.
  9.     $orders = file("c:/server/gameserver/log/chat.log");
  10.  
  11.     echo "<table border=0>n";
  12.     echo '<tr><th bgcolor = "#CCCCFF">Дата сообщения</th>
  13.  
  14.          <th bgcolor = "#CCCCFF">Автор</th>
  15.          <th bgcolor = "#CCCCFF">Сообщение</th>
  16.  
  17.    </tr>';
  18.     for ($i = count($orders); $i >= count($orders)-100; $i--)
  19.     {
  20.       // Разбиение строк
  21.       $s = $orders[$i];
  22.       $line = array();
  23.  
  24.       preg_match("/(\[[^\]]+\])[\s]*([\w]+)[\s]*(\[[^\]]+\])[\s]*([\ ]+[^\z]+)/", $s, $line);
  25.         if      ($line[2] == "SHOUT")$color='#c78354';
  26.         elseif  ($line[2] == "ALL")$color='#fffdf9';
  27.         elseif  ($line[2] == "TELL")$color='#be45b9';
  28.         elseif  ($line[2] == "TRADE")$color='#d8a3cf';
  29.         elseif  ($line[2] == "CLAN")$color='#948ad1';
  30.         elseif  ($line[2] == "PARTY")$color='#08fb09';
  31.  
  32.       // Вывод чата
  33.       echo     "<tr><td><font color='$color'>$line[1]</td>
  34.                    <td><font color='$color'>$line[3]</td>
  35.                    <td><font color='$color'>$line[4]</td>
  36.                </tr>";
  37.  
  38.  
  39.  
  40.     }
  41.     echo "</table>";
  42.  
  43. ?>
  44. </body>
  45. </html>
[center][i]...истина, где-то рядом...  
Это сообщение редактировалось 24.06.2006 в 07:13

speed

новичок
Спасибо :) Давно такое искал. Просто, информативно, удобно :)
 
MD Inc0gnit0 #28.06.2006 03:26
+
-
edit
 

Inc0gnit0

новичок
для удобства я добавил следуюшие строки которые позволяют автоматически рефрешить каждые 5 сек чат

code html4strict
  1. <!--
  2. //enter refresh time in "minutes:seconds" Minutes should range from 0 to inifinity. Seconds should range from 0 to 59
  3. var limit="00:05"
  4.  
  5. if (document.images){
  6. var parselimit=limit.split(":")
  7. parselimit=parselimit[0]*60+parselimit[1]*1
  8. }
  9. function beginrefresh(){
  10. if (!document.images)
  11. return
  12. if (parselimit==1)
  13. window.location.reload()
  14. else{
  15. parselimit-=1
  16. curmin=Math.floor(parselimit/60)
  17. cursec=parselimit%60
  18. if (curmin!=0)
  19. curtime=curmin+" minutes "+cursec+" seconds to automatic refresh!"
  20. else
  21. curtime=cursec+" seconds to automatic refresh!"
  22. window.status=curtime
  23. setTimeout("beginrefresh()",1000)
  24. }
  25. }
  26.  
  27. window.onload=beginrefresh
  28. //-->
 

speed

новичок
сорри за тупой вопрос, после чего их втыкать?
 

Drac

разработчик l2j-сервера

В начале страницы!
 

Dnny

втянувшийся
вопрос такой, и код и скрипт работают. прикольно. но...
сервак сохраняет в хз какой кодировке этот лог, на экране одни вопросики вместо русских шрифтов, где копать то?
Да надоели все эти онлайн игры, пора жить реальностью...  
+
-
edit
 

URANUS

втянувшийся
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
Я сразу Апач настраиваю на 1251, так проблем меньше.
[center][i]...истина, где-то рядом...  

Dnny

втянувшийся
это поставлено но не помогает.
Лог чат сохраняется уже с вопросиками вместо русского.
сервер стоит на базе jentoo - если не ошибаюсь
Да надоели все эти онлайн игры, пора жить реальностью...  
+
-
edit
 

URANUS

втянувшийся
Ну это уже вопросы к движку сервера, как вариант, можно попробовать остановить серв, и создавать этот файл (чат лог.тхт) в разных форматах анси / утфе. МБ просто переходили из сборки в сборку а файл таким и остался.
Возможно руссификация клиента сделана экзотическим способом.
Нужно эксперементировать.
[center][i]...истина, где-то рядом...  
+
-
edit
 

LuciferX

втянувшийся
Просто в строку запуска сервера нужно добавить параметр "-Dfile.encoding=UTF-8"
Владение русским языком как боевое искусство: настоящие мастера не используют без необходимости.  

Dnny

втянувшийся
файл GameServer_loop.sh
code bash
  1. #!/bin/bash
  2. err=1
  3. until [ $err == 0 ];
  4. do
  5.     mv log/java0.log.0 "log/`date +%Y-%m-%d_%H-%M-%S`_java.log"
  6.     mv log/stdout.log "log/`date +%Y-%m-%d_%H-%M-%S`_stdout.log"
  7.     java -Xmx512m -cp bsf.jar:javolution.jar:bsh-2.0.jar:jython.jar:c3p0-0.9.0.4.jar:mysql-connector-java-3.1.10-bin.jar:sqljdbc.jar:l2j-gameserver.jar net.sf.l2j.gameserver.GameServer > log/stdout.log 2>&1
  8.     err=$?
  9. #   /etc/init.d/mysql restart
  10.     sleep 10;
  11. done

куда ее тут пихнуть то?
Да надоели все эти онлайн игры, пора жить реальностью...  
+
-
edit
 

LuciferX

втянувшийся
После java -Xmx512m
Владение русским языком как боевое искусство: настоящие мастера не используют без необходимости.  
+
-
edit
 

thegreat

новичок
если gentoo, то
code bash
  1. #!/bin/bash
  2. echo 'Y' | rm /home/httpd/chat1.log
  3. cp /home/server/log/chat.log /home/httpd/chat1.log
  4. iconv -f utf-8 -t cp1251 < /home/httpd/chat1.log > /home/httpd/chat.log

по крону каждую минуту :)
 
UA CrazyWolf #01.08.2006 15:44
+
-
edit
 

CrazyWolf

новичок
А подскажите плиз, как сделать , что бы показывал только ALL, TRADE, SHOUT, А ОСТАЛЬНОЕ НЕ ПОКАЗЫВАЛ!!!
 

Styx

разработчик l2j-сервера
А подскажите плиз, как сделать , что бы показывал только ALL, TRADE, SHOUT, А ОСТАЛЬНОЕ НЕ ПОКАЗЫВАЛ!!!
 


Тебя спасет grep
...and what better way to say goodbye than to kill everyone in sight? © Syntari  

Denni

новичок
убрал сам
 
Это сообщение редактировалось 24.08.2006 в 15:00
+
-
edit
 

Balancer

администратор
★★★★★
code bash
  1. echo 'Y' | rm /home/httpd/chat1.log


Это решается как
code bash
  1. rm -f /home/httpd/chat1.log


:)
 
+
-
edit
 

Balancer

администратор
★★★★★
А вместо "echo y | ..." можно писать "yes | ..." :)
 

Denni

новичок
знатоки PHP, помогите плз написать шаблон!
У меня лог чата имеет примерно такой вид:
[data time] {nik} {whisper} message

пример:
[06.09.08 21:50:46] {Landgraf} {paty} упс
а то 2 дня бился с нулевым результатом.

Заранее спасибо!
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru