This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Уведомления о доступности вашего rage сервера в телеграм-чат

ready to massacre

Начинающий специалист
4 Мар 2023
153
58
40

Rage.mp masterlist notifier

Скрипт периодически (по умолчанию раз в час) смотрит в мастер лист рейджа.
Если вашего сервера там нет, то направит уведомление в телеграм чат.
Если ваш сервер присутствует в мастерлисте, скрипт молча пушнет в лог о том, что сервер жив, в тг сообщение не улетит.


Необходимые инструменты для работы:

1. NodeJS https://nodejs.org/
2. Yarn npm i -g yarn
3. Git https://git-scm.com/
4. Установить бота https://telegram.me/BotFather (получить токен для управления ботом)


Установка:

1. Склонировать репозиторий в текущую папку git clone https://github.com/READYTOMASSACRE/ragemp-masterlist-notify.git .
2. Выполнить установку yarn install
3. Настроить .env (Пример настройки доступен в .env.example)
4. Запустить скрипт yarn start


Выглядит это так:

Репозиторий: https://github.com/READYTOMASSACRE/ragemp-masterlist-notify

Так же вы можете навешать сами дополнительные обработчики, код достаточно простой. (например рестарт сервера, и так далее, по желанию)
 
Последнее редактирование:

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,769
1,583
211
28
JavaScript:
    async isExists(ip: string): Promise<Item | undefined> {
        const list = await this.list()

        return (await this.list())?.[ip]
    }

Зачем получать данные в переменную и не использовать их?
 
Реакции: ready to massacre

ready to massacre

Начинающий специалист
4 Мар 2023
153
58
40
а я забыл убрать код который const list, спасибо что подметил) убрал
по хорошему надо прикрутить eslint, но мне влом
 
Реакции: XDeveluxe

ready to massacre

Начинающий специалист
4 Мар 2023
153
58
40
вобще была идея 1 чат бота запилить, где ты можешь добавлять свой сервер для мониторинга, но я прикинул в голове реализацию по времени
...и забил.
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,769
1,583
211
28
Дак всё примерно то же самое, разве нет?
Примерно так же проверяют статус и онлайн сервера всякие модули в ВКонтакте в группах по RAGEMP.
Фактически просто массив, по которому нужно прогонять каждое N-ое время твой код.
Но это всё дело еще нужно где-то хостить за денюжку
 

ready to massacre

Начинающий специалист
4 Мар 2023
153
58
40
да но с доп функционалом, пуш когда твой сервак исчезает из мастер листа, вобщем просто для меня это боль, решил вот таким образом выкрутиться
По идее, можно например прикрутить логику, отправлять пуш на рейдж сервер, тот смотрит свой онлайн, если 0 игроков, то рестартит сервер
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,769
1,583
211
28
Честно говоря, идея не очень.
Бывает такое, что рейдж просто выплёвывает сервер из мастерлиста и через время сам его переподключает.
Может случиться такое, что сервер будет работать, на нём будут игроки, но он пропадёт из мастерлиста. Учитывая идею выше - код пойдёт перезапускать сервер, когда это не нужно.
 

ready to massacre

Начинающий специалист
4 Мар 2023
153
58
40
да согласен, поэтому я и оставил историю с пушем в тг в чат, но если реализовывать рестарт, сервер в любом случае будет перезагружать 1 раз в период, который ты сам и укажешь
 
Реакции: XDeveluxe

ready to massacre

Начинающий специалист
4 Мар 2023
153
58
40
К слову о том, что сервер "должен" реконнектиться к мастерлисту, вот так у меня это выглядит. Он просто отключается без каких-либо реконнектов (далее в 6 утра я ребутнул вручную сервер)
 

Bloodlust

Специалист
25 Апр 2021
311
91
112
Ну да рейдж отсеивает Афк серверы с 0 онлайна со списка
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,769
1,583
211
28
Ну, в том-то и дело, что "должен".
Как под капотом в реальности это работает у самого рейджа - никто не знает, кроме его разработчиков, поэтому о том и речь.
В любом случае, это нормальная практика (тем более у больших серверов), когда их сервера пропадают с мастерлиста на какое-то время, а потом сами назад и возвращаются