Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 19
  1. #1
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±

    dc_crashreport - отправка отчётов об ошибках

    Всем привет.

    Вам наверняка знакома проблема, что при поиске ошибок в моде/фильтрскриптах на "рабочем" сервере (т.е. на хостинге, с игроками) нужно время от времени вручную вытаскивать логи с хостинга и проверять их на присутствие сообщений об ошибках, которые выдаёт CrashDetect. Данный инклуд призван решить эту проблему: он перехватывает выдаваемые CrashDetect'ом сообщения и отправляет их в Telegram и/или на E-Mail (если будет спрос, в будущем возможна поддержка и других платформ, таких как Discord, VK и пр.) - в таком виде сообщения можно просматривать даже когда нет доступа к основному ПК и быстрее реагировать на них.
      Открыть/закрыть



    Внимание: Данная разработка не была тщательно протестирована на серверах с 100500 конфигураций и носит исключительно экспериментальный характер. Даже идея инклуда сама по себе чисто экспериментальная.

    Плюсы реализации:
    • Сообщает как об ошибках времени выполнения, так и о падениях сервера.
    • Предоставляет исчерпывающую информацию об ошибках:
      • Трассировка стека;
      • Причина ошибки;
      • Зависящая от причины доп. информация (например, при выходе за пределы массива - размер массива и индекс, по которому пытались получить доступ).

    • Расширяемость (возможность добавления в будущем новых протоколов для отправки отчётов).


    Минусы:
    • Осуществляет перехват всех выводимых в лог сообщений.
      Впрочем, особой роли это играть не должно, ибо при использовании CrashDetect производительность скриптов и без того отходит на второй план.
      Сбор информации об ошибках пришлось реализовать именно через перехват логируемых сообщений, поскольку при падении сервера CrashDetect не вызывает OnRuntimeError() (к тому же часть информации он только выводит в логи, не предоставляя функций для её получения в скриптах на Pawn).

    • "Велосипед" с собственной реализацией отправки сообщений на E-Mail.
      Есть давно всем известный mailer.inc, но он требует более 4Кб свободного места в стеке, и нет никакой гарантии, что оно будет в наличии на момент ошибки. (Это + отсутствие лицензии внутри mailer.inc, из-за чего с юридической точки зрения его использование незаконно без явного разрешения автора).


    Требования:
    • Требует наличие плагина CrashDetect, чтобы логировать ошибки.
    • Также зависит от YSF или fixes2 - требуется один из этих плагинов, чтобы перехватывать логируемые сообщения.
    • Кроме того, для отправки сообщений через Telegram нужен плагин pawn-requests (для Telegram требуется обращение по HTTPS, в то время как SA-MP умеет только в голый HTTP).



    Использование:
    • Закинуть dc_crashreport.inc в папку с инклудами.
    • Если вы хотите получать отчёты об ошибках через Telegram, см. данный мануал.
    • Если нужна отправка сообщений на E-Mail:
      • В использующем скрипте подключить инклуд dc_crashreport.inc и указать настройки эл. почты (см. ниже).
      • Залить файл dc_crashreport_mailer.php на хостинг.

      Пример отправки на E-Mail:
      1. // Включаем отправку на эл. почту
      2. #define DC_CRASHREPORT_EMAIL
      3.  
      4. // URL скрипта, по которому находится скрипт dc_crashreport_mailer.php
      5. // (без префикса "http://" в начале URL).
      6. #define DC_CRASHREPORT_MAILER_URL "example.com/dc_crashreport_mailer.php"
      7.  
      8. // Укажем адрес, на который будут отправляться отчёты
      9. #define DC_CRASHREPORT_EMAIL_ADDRESS "[email protected]"
      10.  
      11. // Также укажем адрес отправителя (необязательно)
      12. #define DC_CRASHREPORT_EMAIL_SENDER "[email protected]"
      13.  
      14. // И, наконец, само подключение инклуда.
      15. #include <dc_crashreport.inc>



    Скачать: https://www.dropbox.com/s/oxwkmzfuvo...eport.zip?dl=1
    Автор: Daniel_Cortez


    Специально для Pro-Pawn.ru
    Копирование данной статьи на других ресурсах без разрешения автора запрещено!
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  2. 3 пользователя(ей) сказали cпасибо:
    DeimoS (04.03.2019) Kovshevoy (28.02.2019) Web (01.03.2019)
  3. #2
    Аватар для Seviel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2016
    Адрес
    Казахстан
    Сообщений
    148
    Репутация:
    26 ±
    Быть может ещё время когда произошла ошибка сообщать, вроде на почту они с опозданием приходят.

    Привет.
    Последний раз редактировалось Seviel; 28.02.2019 в 21:48.

  4. #3
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Идея интересная, но насчёт этого:
    (Это + отсутствие лицензии внутри mailer.inc, из-за чего с юридической точки зрения его использование незаконно без явного разрешения автора)
    Это какая-то странная паранойя. Никто не будет идти в суд за использование скрипта, который сам же был выложен автором в паблик (что уже с точки зрения логики подразумевает то, что по факту его может использовать кто угодно).
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

  5. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Идея интересная, но насчёт этого:

    Это какая-то странная паранойя. Никто не будет идти в суд за использование скрипта, который сам же был выложен автором в паблик (что уже с точки зрения логики подразумевает то, что по факту его может использовать кто угодно).
    Так никто и не утверждает, что кто-то пойдёт в суд. Оговаривается именно то, какие последствия ВОЗМОЖНЫ с юридической точки зрения. А уж насколько они реальны - это совсем другой разговор.
    Ну и придерживаться юридических норм или нет - это выбор каждого. Для кого-то и воровство кошельков у прохожих - норма.
    Последний раз редактировалось DeimoS; 01.03.2019 в 16:13.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  6. #5
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Так никто и не утверждает, что кто-то пойдёт в суд. Оговаривается именно то, какие последствия ВОЗМОЖНЫ с юридической точки зрения. А уж насколько они реальны - это совсем другой разговор.
    Ну и пусть будут возможны, а какое до этого дело тем, кто объективно видит реальную практику? Речь же идёт о том, что какие-то "велосипеды" делаются в том числе из-за мнимых проблем.

    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну и придерживаться юридических норм или нет - это выбор каждого. Для кого-то и воровство кошельков у прохожих - норма.
    Возможно. Но сравнение, однако, абсолютно неуместное.




    UPD: В связи с очисткой всего прочего оффтопа далее, вкратце изложу ответ, который был на следующую часть поста ниже (чтобы не создавалось ложного ощущения, что следующий бред действительно остался без внимания):
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Сейчас твои посты выглядят как: "Ууу, глупые!!! Придерживаетесь каких-то там, правил, которых никто, вроде как, не придерживается больше!!!". Если ты желал сообщить всем, что тебе нет дела до подобного - у тебя получилось. В противном случае твоя мотивация совершенно непонятна (опять же, возвращаемся к "неуместному" сравнению и пытаемся понять, что у каждого своя правда, и что если ты делаешь по своему, то это не обязательно правильно с точки зрения морали/закона/etc... Поэтому не стоит навязывать свою правду там, где тебя об этом не просят)
    Человек как обычно решил додумать за собеседника его слова и заодно показать, как хорошо он умеет переводить стрелки с темы куда-то в свои небылицы, на что ему было указано... к слову, в итоге пришлось это сделать неоднократно и более детально (уже в который случай) разжевать, почему его пример неуместен, а практически вся суть поста сводится к обычной попытке привязаться и перевернуть с ног на голову слова из изначального коммента.
    Последний раз редактировалось Nexius_Tailer; 02.03.2019 в 22:28.
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

  7. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Ну и пусть будут возможны, а какое до этого дело тем, кто объективно видит реальную практику? Речь же идёт о том, что какие-то "велосипеды" делаются в том числе из-за мнимых проблем.


    Возможно. Но сравнение, однако, абсолютно неуместное.
    Я не зря привёл "неуместное" сравнение. Автор инклуда посчитал нужным учесть юридические несостыковки и поступить по совести. То, что ты считаешь нормальным не учитывать те самые несостыковки - это твоё право, но это не означает, что так делать правильно или что так должны поступать все. И конкретно тебя никто не призывает поступать так же и не заставляет самостоятельно что-то реализовывать. Всё уже сделано за тебя. К тому же, помимо отсутствия лицензии, названа проблема в технической реализации того инклуда, которая так же не даёт возможности интегрировать его. К чему эти претензии?

    Сейчас твои посты выглядят как: "Ууу, глупые!!! Придерживаетесь каких-то там, правил, которых никто, вроде как, не придерживается больше!!!". Если ты желал сообщить всем, что тебе нет дела до подобного - у тебя получилось. В противном случае твоя мотивация совершенно непонятна (опять же, возвращаемся к "неуместному" сравнению и пытаемся понять, что у каждого своя правда, и что если ты делаешь по своему, то это не обязательно правильно с точки зрения морали/закона/etc... Поэтому не стоит навязывать свою правду там, где тебя об этом не просят)
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  8. Пользователь сказал cпасибо:
    Daniel_Cortez (01.03.2019)
  9. #7
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Seviel Посмотреть сообщение
    Быть может ещё время когда произошла ошибка сообщать, вроде на почту они с опозданием приходят.
    Изначально я так и хотел сделать, но когда проверял работу инклуда - сообщения доходили буквально за несколько секунд, и строка со временем была больше похожа на повторяющуюся информацию, потому я её удалил перед релизом.


    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Это какая-то странная паранойя. Никто не будет идти в суд за использование скрипта, который сам же был выложен автором в паблик (что уже с точки зрения логики подразумевает то, что по факту его может использовать кто угодно).
    Внимательно пересмотри 1-й пост - это не единственная причина. Даже если б загадочный автор того инклуда (а в инклуде нет не то, чтобы лицензии, но даже упоминания об авторстве!) объявился и перевыпустил инклуд под вменяемой лицензией (или просто сказал, что разрешает его использование в любых целях), всё ещё осталась бы проблема с требовательностью к стеку и всё равно бы пришлось делать свой форк инклуда - так и так получился бы костыль.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  10. #8
    Аватар для x86
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.01.2019
    Сообщений
    41
    Репутация:
    6 ±
    ИМХО, лучше написать плагин, который просто закинул в папку и запустил, чем писать для этого инклюд, имеющий гору зависимостей.

  11. #9
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Удалил последние несколько постов, дабы не засорять тему очередным бесполезным спором, который ни к чему не приведёт. DeimoS, можешь переместить посты в отдельную тему, если считаешь нужным.

    По теме: поддержку какого протокола следует добавить в следующем релизе?
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  12. #10
    Аватар для whale
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.04.2014
    Сообщений
    74
    Репутация:
    17 ±
    Daniel_Cortez, в идеале, конечно, было бы добавить два вышеупомянутых тобою протокола (vk, telegram). Но, если недостаточно времени - хватит и одного, на данный момент (в таком случае, рентабельнее всего будет реализовать поддержку протокола VK первым, ибо, как ни как, у большей части аудитории 100% есть аккаунт ВКонтакте).

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

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

Ваши права

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