[Любая игра] Chat Logging

Тема в разделе "Утверждённые плагины", создана пользователем R1KO, 27 апр 2014.

  1. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.984
    Симпатии:
    2.983
    Chat Logging
    Текущая версия: 1.0

    Описание:
    Плагин записывает весь чат сервера (и все админские сообщения) в mysql базу для дальнейшего вывода сообщений на сайте.

    Переменные:

    sm_chat_log_table "chatlog" - Таблица логов чата в базе данных
    sm_chat_log_triggers "0" - Запись в лог чат-триггеров
    sm_chat_log_say "1" - Запись в лог общего чата
    sm_chat_log_say_team "1" - Запись в лог командного чата
    sm_chat_log_sm_say "1" - Запись в лог команды sm_say
    sm_chat_log_chat "1" - Запись в лог команды sm_chat
    sm_chat_log_csay "1" - Запись в лог команды sm_csay
    sm_chat_log_tsay "1" - Запись в лог команды sm_tsay
    sm_chat_log_msay "1" - Запись в лог команды sm_msay
    sm_chat_log_hsay "1" - Запись в лог команды sm_hsay
    sm_chat_log_psay "1" - Запись в лог команды sm_psay

    В databases.cfg:
    Код:
    "Databases"
    {
        "driver_default"    "mysql"
                      
        "chatlog"
        {
            "driver"        "default"
            "host"        "адрес_базы_данных"
            "database"    "имя_базы_данных"
            "user"        "имя_пользователя"
            "pass"        "пароль"
            //"timeout"    "0"
            //"port"        "0"
        }
    }
    ChangeLog:
    Код:
    Версия 1.0 - Релиз
    Исходник
     

    Вложения:

    Последнее редактирование модератором: 17 май 2015
    krefin, Sasha7, trueattack и 5 другим нравится это.
  2. Webman

    Webman Developer

    Сообщения:
    702
    Симпатии:
    182
    Веб-часть для плагина
    Позволяет выводить логи чата, записанные в базу данных, на страницу сайта.

    Открываем файл chat.php, находим следующие строки:
    PHP:
    # Данные для подключения к базе данных
    $dbinfo_hostname "";     // Хост
    $dbinfo_username ""// Имя пользователя
    $dbinfo_password "";      // Пароль
    $dbinfo_dbtable "";  // Название базы данных
    В кавычки вводим соответствующие данные базы данных - те, которые вы указали в файле databases.cfg на вашем сервере.

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

    Ждем ваших пожеланий по доработке скрипта и плагина.

    Демо: http://m4us.ru/chat.php
     

    Вложения:

    Sasha7, tiger_by, Hejter и 4 другим нравится это.
  3. Влад Часовских 827297994

    Влад Часовских 827297994

    Сообщения:
    7
    Симпатии:
    0
    Ответьте нубу по "веб" части. А разве нагрузки не будет когда в базе будет больше 5000-10000 сообщений?
     
  4. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.984
    Симпатии:
    2.983
    Влад Часовских 827297994, нет. Одновременно выводятся 25, 50 и 100 сообщений. Тоесть есть лимит и все сообщения что есть в базе не выводятся.
    В будующем будет постраничный вывод в реальном времени.
     
  5. HooLIGUN

    HooLIGUN

    Сообщения:
    748
    Симпатии:
    126
    Спасибо.
    Как на счет добавить в плагин mysql запрос,который будет очищать сообщения старше,например 3 дней.
    И вывести это в настройку,например sm_chat_log_clear_day 3
     
    R1KO нравится это.
  6. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.984
    Симпатии:
    2.983
    HooLIGUN, Это скорее всего будет в веб части. В последующих версиях будет вход для админов (тоесть еще 1 таблица, в которой будут храниться пользователи). Админы смогут настривать веб часть, чистить списки и просматривать приватные сообщения.
     
    HooLIGUN нравится это.
  7. Webman

    Webman Developer

    Сообщения:
    702
    Симпатии:
    182
    Будет возможность очищать логи за последнее время в веб-части. Ждем еще предложений.
     
    Серый™ нравится это.
  8. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Админские действия выводятся? (Мут,Бан и т.д)
     
  9. Webman

    Webman Developer

    Сообщения:
    702
    Симпатии:
    182
    Hejter, Нет. Только сообщения игроков.
     
    Hejter нравится это.
  10. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.984
    Симпатии:
    2.983
    Hejter, и сообщения админов
     
    Webman и Hejter нравится это.
  11. ZloyMonah

    ZloyMonah

    Сообщения:
    479
    Симпатии:
    71
    Хорошо бы сделать квар который бы говорил о том писать ли Админские логи или нет!
     
  12. Тимур Дмитриев

    Тимур Дмитриев

    Сообщения:
    4
    Симпатии:
    0
    Вопрос, почему в BD максимум 1000 сообщений сохраняется?
    [​IMG]
    Использую версию 1.0
    Т.е. больше 1000 сообщений не сохраняет.
     
  13. kepchuk

    kepchuk Read Only

    Сообщения:
    34
    Симпатии:
    3
    Можно как нибудь скрыть команды? Потому что сильно забивают чат. И сделать что бы показывалось по 1000 сообщений возможно ли как то сделать?

    Добавлено через 1 час 38 минут
    И еще. Я засунул этот лог в sb, но возникла проблема!
    Допустим логи у меня лежат по ссылке mesite.ru/index.php?p=chat и я хочу что бы показывало 100 сообщений, при нажатии на 100 меня кидает на на главную страницу sb и ссылка становится mesite.ru/index.php?p=chat?num=100
    Как это можно исправить?
     
    Последнее редактирование: 21 авг 2015
  14. Артур Борисов

    Артур Борисов

    Сообщения:
    2
    Симпатии:
    0
    У меня не работает плагин в CS:GO, <Error> "Chat Logging" (1.0) by R1KO Поддерживает хоть CS:GO?
     
  15. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.984
    Симпатии:
    2.983
    Артур Борисов, эррор лог скинь
     
  16. sh4pa

    sh4pa

    Сообщения:
    69
    Симпатии:
    11
    R1KO, не получается в CSGO. плагин подгружается без ошибок. в mysql создал базу данных.

    в databases.cfg

    "driver_default" "mysql"
    "chatlog"
    {
    "driver" "default"
    "host" "localhost"
    "database" "chatpublic"
    "user" "root"
    "pass" "12345"
    //"timeout" "0"
    "port" "3306"
    }


    в chat.php

    $dbinfo_hostname = "localhost"; // Хост
    $dbinfo_username = "root"; // Имя пользователя
    $dbinfo_password = "12345"; // Пароль
    $dbinfo_dbtable = "chatpublic"; // Название базы данных
    $dbinfo_tablename = "chatlog"; // Название таблицы (квар sm_chat_log_table)


    в chat_log.cfg

    // Таблица логов чата в базе данных
    // -
    // Default: "chatlog"
    sm_chat_log_table "chatlog"





    в браузере
    Подключение не удалось. Отсутствует таблица либо неверно указаны данные для подключения.
    Notice: Undefined variable: db in D:\USR\www\chat\chat.php on line 45

    Fatal error: Call to a member function query() on null in D:\USR\www\chat\chat.php on line 45
     
    Последнее редактирование: 6 сен 2015
  17. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.984
    Симпатии:
    2.983
    sh4pa, тоесть просто ничего в бд не добавляется? И точно нет errors ?
     
  18. sh4pa

    sh4pa

    Сообщения:
    69
    Симпатии:
    11
    R1KO, sm plugins list без ошибок
    может в базе данных mysql надо отдельно таблицу сделать, или плагин её сам создает?

    Добавлено через 2 минуты
    R1KO, плагин грузится с ошибкой если:
    //"port" "3306"
     
    Последнее редактирование: 6 сен 2015
  19. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.984
    Симпатии:
    2.983
    sh4pa, смотри файл addons/sourcemod/logs/errors_...
     
  20. sh4pa

    sh4pa

    Сообщения:
    69
    Симпатии:
    11
    R1KO,
    L 09/06/2015 - 19:14:59: SourceMod error session started
    L 09/06/2015 - 19:14:59: Info (map "de_dust2") (file "errors_20150906.log")
    L 09/06/2015 - 19:14:59: [SM] Fatal error encountered parsing translation file "showdamage.phrases.txt"
    L 09/06/2015 - 19:14:59: [SM] Error (line 0, column 0): Stream failed to open
    L 09/06/2015 - 19:14:59: [SM] Fatal error encountered parsing translation file "plugin.supercmds.txt"
    L 09/06/2015 - 19:14:59: [SM] Error (line 0, column 0): Stream failed to open
    L 09/06/2015 - 19:16:24: Error log file session closed.
    L 09/06/2015 - 19:16:24: SourceMod error session started
    L 09/06/2015 - 19:16:24: Info (map "de_dust2") (file "errors_20150906.log")
    L 09/06/2015 - 19:16:24: [SM] Fatal error encountered parsing translation file "showdamage.phrases.txt"
    L 09/06/2015 - 19:16:24: [SM] Error (line 0, column 0): Stream failed to open
    L 09/06/2015 - 19:16:24: [SM] Fatal error encountered parsing translation file "plugin.supercmds.txt"
    L 09/06/2015 - 19:16:24: [SM] Error (line 0, column 0): Stream failed to open
    L 09/06/2015 - 19:16:24: [SM] Plugin encountered error 25: Call was aborted
    L 09/06/2015 - 19:16:24: [SM] Native "SetFailState" reported: Database failure: Could not find Database conf "chatlog"
    L 09/06/2015 - 19:16:24: [SM] Displaying call stack trace for plugin "chat_logging_10.smx":
    L 09/06/2015 - 19:16:24: [SM] [0] Line 160, C:\Documents and Settings\Admin\Рабочий стол\sourcemod\TEMP\chat_logging_10.sp::OnConfigsExecuted()
    L 09/06/2015 - 19:16:36: [SM] Native "ReadPackString" reported: DataPack operation is out of bounds.
    L 09/06/2015 - 19:16:36: [SM] Displaying call stack trace for plugin "updater.smx":
    L 09/06/2015 - 19:16:36: [SM] [0] Line 138, updater/plugins.sp::Updater_GetURL()
    L 09/06/2015 - 19:16:36: [SM] [1] Line 264, updater.sp::Updater_Check()
    L 09/06/2015 - 19:16:36: [SM] [2] Line 163, updater.sp::Timer_CheckUpdates()


    непонял, причем тут рабочий стол?