Logservice (chat2mysql) - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Другие игры / Other games > Perfect World > Серверная часть

Серверная часть Установка и настройка сервера, решение проблем в процессе эксплуатации, редактирование ядра, патчи.

Ответ
Опции темы
Непрочитано 20.06.2013, 16:43   #1
Пользователь

Автор темы (Топик Стартер) Logservice (chat2mysql)

написал замену logservice (основная идея была в записи логов чата в mysql базу для быстрого доступа из php)

в принципе поставленную задачу решил =) итак:

Установка:
  • создать папку под демона и распаковать туда архив (наприер в %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

Последний раз редактировалось asura013; 30.08.2013 в 10:33. Причина: обновил файл 30.08
asura013 вне форума Отправить сообщение для asura013 с помощью ICQ Отправить сообщение для asura013 с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 20.06.2013, 16:45   #2
Пользователь

По умолчанию Re: Logservice (chat2mysql)

щас опробуем
Antinight вне форума Ответить с цитированием
Непрочитано 20.06.2013, 16:54   #3
Пользователь

Автор темы (Топик Стартер) Re: Logservice (chat2mysql)

щас подумал.. надо в конфиг добавить название таблицы для лога =) сейчас создаётся таблица chat
asura013 вне форума Отправить сообщение для asura013 с помощью ICQ Отправить сообщение для asura013 с помощью Skype™ Ответить с цитированием
Непрочитано 21.06.2013, 06:59   #4
Аватар для Kn1fe12
Пользователь

По умолчанию Re: Logservice (chat2mysql)

Хм выглядит интересно и перспективно но я всетаки старый добрый logservice оставлю
Kn1fe12 вне форума Ответить с цитированием
Непрочитано 21.06.2013, 12:34   #5
Пользователь

Автор темы (Топик Стартер) Re: Logservice (chat2mysql)

Обновил архив. VT
Что добавил:
  • имя таблицы берётся из конфига
  • в таблицу добавил поле rolename
  • резолвится имя персонажа

Какие могут быть проблемы в связи с этим =)
1. если таблица уже создана, придётся добавить поле ручками
2. вместо имени может быть всякая лабуда >_> думаю это будет зависеть от версии сервера (надо потестить)
3. в конфиг добавил пункт db_sleep - время ожидания ответа gamedb, указывается в мс, у меня достаточно 1, если в базу пишутся айди вместо ников - попробуйте увеличить, например сделать 10 или 15 =)

Kn1fe12:
Свернуть ↑Развернуть ↓
asura013 вне форума Отправить сообщение для asura013 с помощью ICQ Отправить сообщение для asura013 с помощью Skype™ Ответить с цитированием
Непрочитано 26.06.2013, 20:33   #6
Пользователь

Автор темы (Топик Стартер) Re: Logservice (chat2mysql)

немного поправил получение имени персонажа, добавил простенькую обработку фильтров - для примера в конфиге один фильтр на капс, второй на мат (который в прочем не будет работать, если клиент закрывает маты звёздочками).
PS: пока обновлял первый пост, понял где косяк в обработке whitelist =) завтра поправлю.

Последний раз редактировалось asura013; 27.06.2013 в 11:36.
asura013 вне форума Отправить сообщение для asura013 с помощью ICQ Отправить сообщение для asura013 с помощью Skype™ Ответить с цитированием
Непрочитано 03.07.2013, 18:30   #7
Пользователь

Автор темы (Топик Стартер) Re: Logservice (chat2mysql)

обновил архив.
Чуть поправил ункуинт, добавил кэширования ников\кланов (в конфиге time_reload время в минутах до обновления кэша), добавил обработку клан чата и комнат.

PS: изменён тип поля channel в таблице - вместо int(11) сделал varchar(255), если таблица уже создана, нужно изменить вручную (лень было делать проверку >.<)
asura013 вне форума Отправить сообщение для asura013 с помощью ICQ Отправить сообщение для asura013 с помощью Skype™ Ответить с цитированием
Непрочитано 07.07.2013, 21:40   #8
Аватар для Kn1fe12
Пользователь

По умолчанию Re: Logservice (chat2mysql)

Решил поставить на серв с онлайном 100+! Результат потрясный! mysql сервер слетел через полчаса от большого кол-во запросов. Потом еле поднял( reboot неособо помог) пришлось через консоль бд чистить
Kn1fe12 вне форума Ответить с цитированием
Непрочитано 08.07.2013, 04:07   #9
Пользователь

Автор темы (Топик Стартер) Re: Logservice (chat2mysql)

=)))) круто. а логи с мускля есть? )

Добавлено через 2 часа 21 минуту
хм, у меня от 100+ одновременных запросов бд не падает (проверял спам-ботом, который шлёт аналог чат-логов). но думаю стоит добавить пул на подключения и запросы к мусклю.. завтра наверное выложу.
и хотелось бы увидеть некоторые параметры мускля (например max_connections, user_connections и т.п.)

Добавлено через 6 часов 28 минут
итак =) по результатам теста логсервис падает раньше мускля, так что мускль мне уронить не удалось =\

Последний раз редактировалось asura013; 08.07.2013 в 10:35. Причина: Добавлено сообщение
asura013 вне форума Отправить сообщение для asura013 с помощью ICQ Отправить сообщение для asura013 с помощью Skype™ Ответить с цитированием
Непрочитано 08.07.2013, 12:16   #10
Аватар для Kn1fe12
Пользователь

По умолчанию Re: Logservice (chat2mysql)

Нет не в этой штуке проблема была! Сбросил конфиги mysql стало норм! Действительно проблема была в max_connect там какогото хрена стояло 1 хотя я вообще их нетрогал по умолчанию вроде 15
Kn1fe12 вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 07:40. Часовой пояс GMT +3.

Вверх