Форма входа
Мини-чат
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


[ Кто нас сегодня посетил ]
Яндекс.Метрика:
Яндекс.Метрика


Календарь
«  Февраль 2012  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
272829
Наш опрос
Как Вы узнали о нашем сайте?

Всего ответов: 55
Друзья сайта



Sexuality Team

Sexuality Team

Deep Influence

Deep Influence

Категории раздела
Главная » 2012 » Февраль » 18 » Игровой Чат
04:06
Игровой Чат
Chat Online v0.1 (php)

У меня появилась идея интегрировать игровой Чат в web, то есть сделать подобие обычного чата, в котором можно общаться с игроками на игровом сервере через обычный браузер установленный на вашем компьютере или телефоне.

И я эту идею воплотил в реальность.

Чат работает за счет считывания qconsole.log лог файла, затем обрабатывает информацию - находит ключевые фрагменты, оформляет полученные данные в читаемый вид и отправляет в сжатом виде в окно чата.


Особенности работы, алгоритм в деталях. Краткое описание.


Файл chat.php является окном, он посылает запрос через(ajax) определенный промежуток времени(стандарт - через 3 секунды) в файл in.php. Тот считывает информацию из qconsole.log с конца файла на определенную глубину(стандарт - 50000 байт), это нужно для быстрого считывания больших по объему файлов. Потом происходит поиск ключевых  слов и символов, по которым строиться массив данных. Затем массив в цикле обрабатывается, получая на выходе нужную информацию в html виде и в зависимости от того, поддерживает ваш браузер gzip сжатие или нет - отдает предпочтительное содержимое. Chat.php принимает ответ, записывает его через innerHTML в нужный html тег. Потом все повторяется вновь через указанный промежуток времени.





Возможности чата.

1] Чат имеет два режима 

1) Простой - показывает обычные сообщения от игроков (не приватные)
2) Детальный - Показывает все сообщения(кто кому написал приватное сообщение), также показывает кто зашел в игру, кто вышел, кто кого убил(каким способом убил), какие команды на сервере выполнялись и так далее.

2] Пароль

Изменять параметры работы чата или отправлять сообщения на сервер без правильного пароля нельзя.

3] Параметры.

Параметры вводятся в адресной строке браузера.



Вопрос - Почему таким неудобным способом?
Ответ - Легко интегрировать в iframe с заданными настройками, или добавить в закладки. И потом уже не нужно будет настраивать параметры под себя снова. При обновлении страницы, информация введенная в форму стереться, а так нет. Да и мне проще сделать так.

1) pw - пароль(должен состоять только из цифр). Изменить его можно в файле in.php

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

2) o - глубина считывания лог файла в байтах.

Чем больше глубина, тем больше информации скрипт прочитает из лога. Считывание идет с конца файла. Но не стоит ставить большие значения, это сильно повлияет на нагрузку центрального процессора. Значения от 1000 до 9999999

3) n - максимальное количество строк, отображаемых в чате от 1 до 999

4) m - метод отображения сообщений  0,1

1 - Новые сообщения появляются снизу(как в игре)
0 - Новые сообщения появляются сверху.

5) t - Интервал времени в секундах, своего рода пауза, после которой начнется этап  обновления чата. От 1 до 999

6) dev - выбор режима чата. 0,1

0 - Простой
1 - Детальный

7) s - "легкий" режим. 0,1

При значении 0 ответ будет приходить тогда, когда есть новые сообщения.

Значения по умолчанию.

pw-null,s-1,dev-0,n-50000,m-1,n-31,t-5

Установка.

p.s Для работы требуется возможность исполнять php скрипты. И web доступ.

В server.cfg прописать:

seta g_log "1"
seta logfile "3"

А в скрипте запуска игрового сервера добавить значение:

+set fs_homepath /opt/lampp/htdocs/ - это путь до web папки. Туда будет сохраняться лог, и будет доступен php скриптам.

В файле in.php и msg.php нужно изменить пароль 123456 на свой.
В файле in.php указать правильный путь до лог файла (если требуется) 
В файле msg.php найти строку яяяяrcon passrcon svsay и заменить на яяяяrcon (ваш rcon пароль) svsay
В файле msg.php изменить ip и port сервера на свой.





Категория: Новости сайта | Просмотров: 1862 | Добавил: euphoria | Рейтинг: 0.0/0
Всего комментариев: 5
5. Tray (16:26 Суббота)
А, ну да, просто файл лежал на хосте у Эйфа) Ну мы когда переберемся на тот сайт, выложим этот скрипт, у нас сохранился)
4. euphoria (10:23 Понедельник)
Плагин только под Windows же.
3. Hepo (20:44 Воскресенье)
можно сделать проще силами джаза
если кто заинтересован в подобном плагине - пишите в скайп jedi_cutter
2. euphoria (11:07 Суббота)
Заливать в папку, где будут работать php скрипты. Но все файлы должны лежать в одной папке.
1. euphoria (05:13 Суббота)
Также есть защита от xss атак, когда в игровой чат будет написано <script>alert()</script> то js скрипт в самом чате не сработает.
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]