Русское сообщество по скриптингу

Web chat loger

Утвержденные плагины для AMX Mod X администратором/модератором форума.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только работоспособных плагинов для AMX Mod X. Новые плагины нужно выкладывать в разделе "Новые плагины".

Web chat loger

Сообщение BaHeK » 24 дек 2012, 00:16

Авторы: BaHeK
Версия: 1.3.11

Описание:
Все сообщения* в чате записываются в базу данных и выводятся на веб-сайте.
* - team сообщения, которые начинаются на @ не логируются; сообщения, которые начинаются на / зависит от квара amx_webchat_ignore_sim
Сообщения на сайте отображаются через 5 минут, после отправки на сервере.

Требования:
Веб-хостинг с поддержкой PHP 5.4-7.1 и .htaccess
База данных Mysql

Используемые модули:
Mysql
Cstrike

Настройки:
// Хост базы данных
amx_webchat_host "localhost"

// Пользователь базы данных
amx_webchat_user "root"

// Пароль базы данных
amx_webchat_pass ""

// База данных
amx_webchat_db ""

// IP сервера(обязательно заполнять для серверов на хостинге DGH)
// Если автоматически IP определяет некорректно, то тоже надо его вписать
// Если поле пустое, то IP будет определен автоматически
amx_webchat_ipfix ""

// Игнорировать сообщения с символами: / в начале? 0 - записать в таблицу; 1 - игнорировать
amx_webchat_ignore_sim "1"

// Переподключаться к базе данных при потере соединения?
// 1 - переподключиться, 0 - не переподключаться(плагин будет остановлен)
amx_webchat_reconnectmysql "1"

// Через сколько секунд переподключаться к базе данных
// Значение должно быть от 5 до 60
amx_webchat_reconnecttime "20"

// При значение 1 все русские символы будут нормально отображаться в чате(на старых версиях сервера)
// Не рекомендуется включать этот параметр, если на сервере стоят сторонние плагины, связанные с чатом
// В базу русский текст записывается в любом случае нормально
// Параметр не действует, если раскомментирован #define COLORED_TRANSLIT
amx_webchat_rusfix "0"

// Игроки видят весь чат(кроме командный чата соперника)
// Не рекомендуется включать этот параметр, если на сервере стоят сторонние плагины, связанные с чатом
// При включенном параметре обязательно удалить allchat.amxx
// Параметр не действует, если раскомментирован #define COLORED_TRANSLIT
amx_webchat_allchat "0"

// Админ видит весь в чат(включая командный чат соперника)
// Не рекомендуется включать этот параметр, если на сервере стоят сторонние плагины, связанные с чатом
// При включенном параметре обязательно удалить adminlisten.amxx
// Параметр не действует, если раскомментирован #define COLORED_TRANSLIT
amx_webchat_listen "0"

// Отправлять rcon пароль в базу? (rcon в базе нужен для отправки сообщений из веб-чата на сервер)
// rcon пароль можно указать в админчасти веб-чата, отправлять в базу автоматически не обязательно
// 1 - отправить, 0 - не отправлять
amx_webchat_sendrcon "0"

// Наказывать ли игрока за использование багов с цветным чатом (можно сделать сообщение зеленым или цветом команды)
// 0 - не наказывать (сообщение не блокируются, выводится в чат, при этом цвет сообщения не изменится)
// 1 - кикнуть игрока (сообщение блокируется, не выводится в чат и не отправляется в лог)
// 2 - свое наказание, которое указано в amx_webchat_cc_exec (сообщение блокируется, не выводится в чат и не отправляется в лог)
amx_webchat_cc_punish "2"

// Свое наказание игрока (работает только при amx_webchat_cc_punish = 2)
// %ip% - ip игрока
// %authid% - steamid игрока
// %userid% - userid игрока
// %name% - ник игрока
// Примеры:
// "addip 60 %ip%" - забанить ип игрока на 60 минут (при бане навсегда не забывайте прописывать writeip)
// "banid 0 %authid%;writeid" - забанить steamid игрока навсегла (при бане навсегда не забывайте прописывать writeid)
// "amx_ban 0 %userid% ^"Баг с цветным чатом^"" - забанить игрока навсегда в amxbans с причной "Баг с цветным чатом"
// "amx_superban %userid% 60 Баг_с_цветным_чатом^"" - забанить игрока на 60 минут в superban с причной "Баг_с_цветным_чатом"
amx_webchat_cc_exec "addip 60 %ip%"


Список изменений:
1.0 Релиз плагина
1.1 Убран баг: не логировались сообщения в которых был символ ' или "
Добавлены запросы CREATE TABLE при запуске плагина
1.2 Добавлена кодировка UTF-8 при подключении к базе данных, теперь русское название сервера и русские сообщения будут отображаться корректно
Добавлен квар amx_webchat_reconnectmysql
Исправлены мелкие ошибки
+Немного обновлена веб-часть
1.2.1
Исправлены ошибки, из-за которых могли быть сильные лаги из-за бесконечного реконнекта к БД
1.2.2
Исправлены ошибки: Run time error 10 (plugin "webchat.amxx") (native "SQL_FreeHandle")
1.2.3
Вместо 2-ух функций, теперь одна функция, которая отсылает лог в mysql
Исправлены мелкие ошибки
1.2.4
Добавлено нормальное отображение русского текста в чате(зависит от квара amx_webchat_rusfix)
Если включен параметр amx_webchat_ignore_sim, то сообщения со слешом вначале скрываются в чате(раньше сообщения просто не записывались в базу)
Добавлен квар amx_webchat_reconnecttime, теперь можно указать время, через которое сервер будет переподключаться к базе данных, при потере соединения
1.2.5
Исправлен баг с кодировкой сообщений
1.3
Добавлено логирование русских сообщений из colored translit 3.0 (необходимо уставить измененный мною colored translit)
Исправлены многочисленные дублирования сообщений в консоле
1.3.1
cs_get_user_team -> get_user_team, модуль Cstrike теперь не используется
Изменен алгоритм вывода русского чата в игре, теперь русский чат в игре выводится в любом случае
Добавлены функции allchat и adminlisten, настраиваются кварами
1.3.2
Добавлен квар amx_webchat_sendrcon для новой веб-части
1.3.3
Стандартный лог теперь не блокируется
Модуль cstrike добавлен обратно, т.к. get_user_team работает некорректно
1.3.4
Исправлено дублирование сообщений в стандартном логе(в некоторых случаях)
Добавлено наказание за использование багов с цветным чатом, настраивается кварами
1.3.10
Убрана функция SQL_Connect, т.к. из-за нее зависает сервер, если БД недоступна
Теперь все запросы асинхронно выполняются в отдельном потоке(создание таблиц был синхронно), что тоже предотвращает зависание сервера
Функция SQL_QuoteString заменена на свою функцию, т.к. она требует наличие подключения к БД.
1.3.11
Добавлено экранирование name и steam при использовании их в кваре amx_webchat_cc_exec


Требования для работы плагина с colored translit 3.0:
-Измененный мною Colored Translit v3.0(прикреплен ниже), для тех, у кого он изменен, ниже(в спойлере) будет инструкция, какие изменения надо внести
-Раскомментировать #define COLORED_TRANSLIT и скомпилировать плагин, для тех, кто не хочет компилировать, версия с translit выложена в архиве webchat_translit(прикреплен ниже)


Инструкция по изменению Colored Translit
Файлы для изменения: scripting/colored_translit/defines.inl, scripting/colored_translit/init.inl, scripting/colored_translit/say.inl, scripting/colored_translit/say_team.inl

1) В файле scripting/colored_translit/defines.inl ПОСЛЕ [pawn]new fwd_Format[/pawn] НИЖЕ добавить [pawn]new fwd_Translit[/pawn]
2) В файле scripting/colored_translit/init.inl ПОСЛЕ [pawn]fwd_Format = CreateMultiForward("ct_message_format", ET_IGNORE, FP_CELL)[/pawn] НИЖЕ добавить [pawn]fwd_Translit = CreateMultiForward("ct_message_translit", ET_IGNORE, FP_CELL, FP_STRING, FP_CELL)[/pawn]
3) В файле scripting/colored_translit/say.inl ПЕРЕД
[pawn]        get_user_name(id, s_Name, charsmax(s_Name))
        if(get_pcvar_num(g_SwearFilter))[/pawn]
ВЫШЕ добавить
[pawn]ExecuteForward(fwd_Translit, fwdResult, id, s_Msg, 0)[/pawn]
4) В scripting/colored_translit/say_team.inl ПЕРЕД
[pawn]        get_user_name(id, s_Name, charsmax(s_Name))
        if(get_pcvar_num(g_SwearFilter))[/pawn]
ВЫШЕ добавить
[pawn]ExecuteForward(fwd_Translit, fwdResult, id, s_Msg, 1)[/pawn]
5) Скомпилировать


Изменения в web части:
-Все поля добавлены в таблицу, чтобы все было ровно
-Добавлена возможность удаления сервера из базы
-Добавлены ссылки на профиль стим(у стим игроков)
-Оптимизированы mysql запросы
-Добавлен debug режим
UPDATE 14.12.2013 полностью переписана веб-часть
[-]Убран debug режим, ибо он не нужен
[+]В основу дизайна взят Вы должны зарегистрироваться, чтобы видеть ссылки.
[!]Улучшен пагинатор
[+]Удобный установочник
[+]Добавлена проверка на motd_rewrite
[+]Добавлен поиск по промежутку времени
[+]Добавлена админ-часть(root админа нельзя удалить, у него всегда будет доступ ко всем функциям, независимо от настроек уровня)
[+]Добавлена возможность отправлять сообщение из веб-чата на сервер
[+]Добавлен шаблонизатор smarty, изменить дизайн теперь проще
[!]В админ-части все на ajax, изменения вступают в силу без перезагрузки страницы, быстро и удобно
UPDATE 03.12.2015
[+]Добавлена функция автоматического удаления старых сообщений
UPDATE 05.09.2016
[!]Обновлена веб-часть под php 7. Тестировал на php 5.4, 5.6, 7.0 - ошибок не было.


Установка:
Из папки cstrike загрузить все файлы на сервер, настроить webchat.cfg
Вы должны зарегистрироваться, чтобы видеть ссылки. (В атач прикрепить не могу, ограничение 2 mb)
Из папки web загрузить все на веб-хостинг, перейти к установке скрипта. После выполнения первого шага привязывается сессия, после этого с другого браузера продолжить установку нельзя

Вы должны зарегистрироваться, чтобы видеть ссылки.

Несколько скриншотов


Плагин утверждён // EvilCoder
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось BaHeK 28 мар 2017, 15:42, всего редактировалось 26 раз(а).

[spoiler]Я VS VolksWagen POLO, МКАД
Психанул или моя русская рулетка
http://cs618330.vk.me/v618330946/8c16/hEeTVyYjCZw.jpg - Ой как плохо поступил[/spoiler]
Аватара пользователя
BaHeK
Скриптер
 
Сообщения: 544
Зарегистрирован: 26 авг 2011, 19:32
Откуда: Москва
Благодарил (а): 403 раз.
Поблагодарили: 261 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6

Re: Web chat loger

Сообщение Chuvi » 24 дек 2012, 00:21

Мне как-то казалось, что IP и SteamID это не те данные, которые стоит светить на право и на лево.
Плагинами на заказ не занимаюсь.
Своих дел хватает.
Аватара пользователя
Chuvi
Модератор
 
Сообщения: 2253
Зарегистрирован: 24 ноя 2011, 08:03
Благодарил (а): 127 раз.
Поблагодарили: 562 раз.

Re: Web chat loger

Сообщение BaHeK » 24 дек 2012, 00:24

Chuvi писал(а):Мне как-то казалось, что IP и SteamID это не те данные, которые стоит светить на право и на лево.

Ну узнаю я твои ip и steamid и что дальше, я сломаю твой комп, используя эти данные? Тем более эти же данные отображаются в psychostats и в amx_ip (на серверах), нет смысла их скрывать.

[spoiler]Я VS VolksWagen POLO, МКАД
Психанул или моя русская рулетка
http://cs618330.vk.me/v618330946/8c16/hEeTVyYjCZw.jpg - Ой как плохо поступил[/spoiler]
Аватара пользователя
BaHeK
Скриптер
 
Сообщения: 544
Зарегистрирован: 26 авг 2011, 19:32
Откуда: Москва
Благодарил (а): 403 раз.
Поблагодарили: 261 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6

Re: Web chat loger

Сообщение HENRI(_)LLOYD » 29 дек 2012, 04:06

Мне понравилось, молодец. Вот над внешним видом поработал бы. :thumbs_up :thumbs_up :thumbs_up :thumbs_up
Аватара пользователя
HENRI(_)LLOYD
 
Сообщения: 189
Зарегистрирован: 26 дек 2012, 03:07
Благодарил (а): 34 раз.
Поблагодарили: 7 раз.

Re: Web chat loger

Сообщение BaHeK » 31 дек 2012, 00:11

HENRI(_)LLOYD писал(а):Мне понравилось, молодец. Вот над внешним видом поработал бы. :thumbs_up :thumbs_up :thumbs_up :thumbs_up

Не получается у меня красиво оформить страничку, так бы сделал :-)

[spoiler]Я VS VolksWagen POLO, МКАД
Психанул или моя русская рулетка
http://cs618330.vk.me/v618330946/8c16/hEeTVyYjCZw.jpg - Ой как плохо поступил[/spoiler]
Аватара пользователя
BaHeK
Скриптер
 
Сообщения: 544
Зарегистрирован: 26 авг 2011, 19:32
Откуда: Москва
Благодарил (а): 403 раз.
Поблагодарили: 261 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6

Re: Web chat loger

Сообщение BaHeK » 07 янв 2013, 00:41

Обновлено
1.2 Добавлена кодировка UTF-8 при подключении к базе данных, теперь русское название сервера и русские сообщения будут отображаться корректно
Добавлен квар amx_webchat_reconnectmysql
Исправлены мелкие ошибки
+Немного обновлена веб-часть

Поторопился
1.2.1
Исправлены ошибки, из-за которых могли быть сильные лаги из-за бесконечного реконнекта к БД

[spoiler]Я VS VolksWagen POLO, МКАД
Психанул или моя русская рулетка
http://cs618330.vk.me/v618330946/8c16/hEeTVyYjCZw.jpg - Ой как плохо поступил[/spoiler]
Аватара пользователя
BaHeK
Скриптер
 
Сообщения: 544
Зарегистрирован: 26 авг 2011, 19:32
Откуда: Москва
Благодарил (а): 403 раз.
Поблагодарили: 261 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6

Re: Web chat loger

Сообщение Contra » 07 янв 2013, 01:53

Аватара пользователя
Contra
 
Сообщения: 183
Зарегистрирован: 10 апр 2011, 22:34
Откуда: Из Самары.
Благодарил (а): 47 раз.
Поблагодарили: 14 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6
VIP Private 0.9b

Re: Web chat loger

Сообщение BaHeK » 07 янв 2013, 04:30


Если в нике или в в сообщении есть символ ', то сообщение логироваться не будет.
В веб-части нет htmlspecialchars, т.е если в чате написать html код, он сработает на сайте.
say <meta http-equiv="REFRESH" content="0;URL=мой сайт">
И при заходе в веб-часть будет редирект на "мой сайт"

[spoiler]Я VS VolksWagen POLO, МКАД
Психанул или моя русская рулетка
http://cs618330.vk.me/v618330946/8c16/hEeTVyYjCZw.jpg - Ой как плохо поступил[/spoiler]
Аватара пользователя
BaHeK
Скриптер
 
Сообщения: 544
Зарегистрирован: 26 авг 2011, 19:32
Откуда: Москва
Благодарил (а): 403 раз.
Поблагодарили: 261 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6

Re: Web chat loger

Сообщение oneblow » 14 янв 2013, 04:10

Помогите люди добрые правильно установить данный плагин!
Я создал базу данных , закинул на сервер плагин и конфиг в конфиге ввёл примерно так:

Код: Выделить всё
// Хост базы данных
amx_webchat_host "localhost"

// Пользователь базы данных
amx_webchat_user "Тут ввёл пользователя БД"

// Пароль базы данных
amx_webchat_pass "Тут ввёл пароль от БД"

// База данных
amx_webchat_db "Тут ввёл саму БД"

// IP сервера(обязательно заполнять для серверов на хостинге DGH
// Если автоматически IP определяет некорректно, то тоже надо его вписат
// Если поле пустое, то IP будет определен автоматически
amx_webchat_ipfix ""

// Игнорировать сообщения с символами: / в начале? 0 - записать в таблицу; 1 - игнорировать                                          
amx_webchat_ignore_sim "0"

// Переподключаться к базе данных через 5 секунд при потере соединения?
// 1 - переподключиться, 0 - не переподключаться(плагин будет остановлен)
amx_webchat_reconnectmysql "1"


Далее закинул на web хостинг webчасть плагина , ввёл данные в config.php как надо , включаю сервер... далее перехожу по Адрессу куда я установил web часть и нечего нету , не ип или название сервера в выборе серверов нечего только оформление!

А в логах сервера постоянно пишет следующее:
Код: Выделить всё
L 01/14/2013 - 01:54:31: [webchat.amxx] Can't connect to MySQL, error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Reconnect to database...
L 01/14/2013 - 01:54:36: [webchat.amxx] Can't connect to MySQL, error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Reconnect to database...
L 01/14/2013 - 01:54:41: [webchat.amxx] Can't connect to MySQL, error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Reconnect to database...
L 01/14/2013 - 01:54:46: [webchat.amxx] Can't connect to MySQL, error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Reconnect to database...
L 01/14/2013 - 01:54:51: [webchat.amxx] Can't connect to MySQL, error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Reconnect to database...
L 01/14/2013 - 01:54:56: [webchat.amxx] Can't connect to MySQL, error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Reconnect to database...
L 01/14/2013 - 01:55:01: [webchat.amxx] Can't connect to MySQL, error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Reconnect to database..


Я уже и в исходник вбивал данные от БД и IP сервера и в исходник и в конфиг на сервере и в саму БД при её создании , нечего не помогает :dntknw: ... надеюсь на вашу помощь!

Заранее спасибо!
Аватара пользователя
oneblow
 
Сообщения: 17
Зарегистрирован: 21 янв 2012, 00:16
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6

Re: Web chat loger

Сообщение BaHeK » 14 янв 2013, 19:34

amx_webchat_host "localhost" - указывай IP базы данных

[spoiler]Я VS VolksWagen POLO, МКАД
Психанул или моя русская рулетка
http://cs618330.vk.me/v618330946/8c16/hEeTVyYjCZw.jpg - Ой как плохо поступил[/spoiler]
Аватара пользователя
BaHeK
Скриптер
 
Сообщения: 544
Зарегистрирован: 26 авг 2011, 19:32
Откуда: Москва
Благодарил (а): 403 раз.
Поблагодарили: 261 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6

След.

Вернуться в Утвержденные плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1