Обязательно требуется указать, что ваш вариант подходит только для тех серверов, которые являются публичными (у которых в `conf.json` выставлено `"announce": true`. Иначе они не будут на сайте мониторинга rage.mp отображаться, и не будут попадать в json.
И всё-таки, мне кажется, проще будет веб-сервер к вашему игровому серверу подключить (node-пакет `http` тот же) и через него выводить статистику. Как минимум, данные о сервере актуальнее будут. Да и нагрузка минимальна.
Вот так можно это реализовать:
Добавляем в папку `keker` файл monitoring.js со следующим содержанием:
// Подключаем модуль http
// (уже включён в nodejs, отдельно устанавливать не требуется)
const http = require('http');
// Создаём новый веб-сервер
const server = http.createServer(function(request, response) {
// В ответ на любой запрос отдаём мониторинг
response.writeHead(200, {"Content-Type": "text/html"});
response.write(`<br>Players: ${mp.players.length}/${mp.players.size}`);
response.write(`<br>Uptime: ${process.uptime()}`);
response.end();
});
//Запускаем веб-сервер на порту 8080 (можно поменять на любой другой)
server.listen(8080);
// Выводим в консоль информацию, что сервер запущен
console.log('\nMonitoring Server is listening');
Добавляем в конец файла index.js, находящегося в этой же папке `keker`:
...
require('./monitoring');
И после перезапуска сервера в терминале появится надпись "Monitoring Server is listening":
И теперь при заходе на http://ip_вашего_сервера:8080 вы будете видеть:
Uptime указывается в секундах.
Если вы на своём компьютере сервер запустили - то мониторинг будет доступен по ссылке: http://127.0.0.1:8080
Можно также в JSON выводить все эти данные в мониторинг, а потом сайтом подхватывать их.