написал замену logservice (основная идея была в записи логов чата в mysql базу для быстрого доступа из php)
в принципе поставленную задачу решил =) итак:
Установка:
Косяки:
Бан-фильтры:
В итоге - получаем альтернативный логсервис, единственное отличие которого от родного в том, что логи чата пишутся в базу данных в читаемом виде.
с помощью фильтров сделал базовую обработку чата с возможностью бана. Чуть позже проверю на сколько от этого замедлилась обработка и есть ли возможность усложнить проверку.
Требуется тест на баги и на потребление ресурсов.
Скачать
VirusTotal
в принципе поставленную задачу решил =) итак:
Установка:
- создать папку под демона и распаковать туда архив (наприер в %SERVER_PATH%/logservice_db)
- изменить файл gamesys.conf:
- вписать данные для БД (хост, логин, пароль, имя базы)
- изменить пути к логам на свои
- заменить запуск стандартного логсервиса на этот (запуск должен выглядеть примерно так - cd logservice_db; ./logservice.sh start)
Косяки:
- не реализовал threshold - порог логирования
- тестировал только на 1.4.5 v63
- я мог где-то накосячить
Бан-фильтры:
- для включения фильтров установить filter_enable в 1
- для примера два фильтра есть, думаю там всё понятно - фильтруется строка постредством regex. Если указан blacklist - берутся шаблоны из него, если указан whitelist - слова проверяются на исключения. caseless - зависит ли фильтр от регистра. ban_time - время бана в минутах.
- если клиент закрывает маты звёздочками - в лог строка передаётся тоже со звёздочками =)
В итоге - получаем альтернативный логсервис, единственное отличие которого от родного в том, что логи чата пишутся в базу данных в читаемом виде.
с помощью фильтров сделал базовую обработку чата с возможностью бана. Чуть позже проверю на сколько от этого замедлилась обработка и есть ли возможность усложнить проверку.
Требуется тест на баги и на потребление ресурсов.
Скачать
VirusTotal