Compare commits
3 Commits
f9a9a37e1a
...
main
Author | SHA1 | Date | |
---|---|---|---|
41c28168e9 | |||
565b533ad4 | |||
5c5e44ad20 |
@ -4,7 +4,7 @@
|
||||
|
||||
# Minetrack
|
||||
|
||||
Minetrack makes it easy to keep an eye on your favorite Minecraft servers. Simple and hackable, Minetrack easily runs on any hardware. Use it for monitoring, analytics, or just for fun. [Check it out](https://minetrack.me).
|
||||
Minetrack makes it easy to keep an eye on your favorite Minecraft servers. Simple and hackable, Minetrack easily runs on any hardware. Use it for monitoring, analytics, or just for fun. [Check it out](https://mc.fascinated.cc/).
|
||||
|
||||
### This project is not actively supported
|
||||
|
||||
|
@ -4,8 +4,8 @@
|
||||
"ip": "0.0.0.0"
|
||||
},
|
||||
"rates": {
|
||||
"pingAll": 15000,
|
||||
"connectTimeout": 10000
|
||||
"pingAll": 30000,
|
||||
"connectTimeout": 5000
|
||||
},
|
||||
"oldPingsCleanup": {
|
||||
"enabled": false,
|
||||
@ -13,6 +13,6 @@
|
||||
},
|
||||
"logFailedPings": true,
|
||||
"logToDatabase": true,
|
||||
"graphDuration": 86400000,
|
||||
"serverGraphDuration": 180000
|
||||
"graphDuration": 604800000,
|
||||
"serverGraphDuration": 360000
|
||||
}
|
||||
|
@ -10,11 +10,11 @@ services:
|
||||
- 8.8.8.8
|
||||
- 1.1.1.1
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8880:8080"
|
||||
volumes:
|
||||
# Copy these from the git repo
|
||||
- ./servers.json:/usr/src/minetrack/servers.json
|
||||
- ./config.json:/usr/src/minetrack/config.json
|
||||
|
||||
- ./data:/data # The sqlite database will be stored here
|
||||
- ./data:/usr/src/minetrack/data # The sqlite database will be stored here
|
||||
restart: always
|
||||
|
@ -6,6 +6,7 @@ const MessageOf = require("./message");
|
||||
|
||||
const config = require("../config");
|
||||
const minecraftVersions = require("../minecraft_versions");
|
||||
const { formatMsToTime } = require("./utils/timeUtils");
|
||||
|
||||
class App {
|
||||
serverRegistrations = [];
|
||||
@ -74,9 +75,11 @@ class App {
|
||||
|
||||
// Send configuration data for rendering the page
|
||||
return {
|
||||
// graphDurationLabel:
|
||||
// config.graphDurationLabel ||
|
||||
// Math.floor(config.graphDuration / (60 * 60 * 1000)) + "h",
|
||||
graphDurationLabel:
|
||||
config.graphDurationLabel ||
|
||||
Math.floor(config.graphDuration / (60 * 60 * 1000)) + "h",
|
||||
config.graphDurationLabel || formatMsToTime(config.graphDuration),
|
||||
graphMaxLength: TimeTracker.getMaxGraphDataLength(),
|
||||
serverGraphMaxLength: TimeTracker.getMaxServerGraphDataLength(),
|
||||
servers: this.serverRegistrations.map((serverRegistration) =>
|
||||
|
28
lib/utils/timeUtils.js
Normal file
28
lib/utils/timeUtils.js
Normal file
@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Formats a time in milliseconds to a human readable format
|
||||
* eg: 1000ms -> 1s or 60000ms -> 1m
|
||||
*
|
||||
* @param ms the time in milliseconds
|
||||
* @returns the formatted time
|
||||
*/
|
||||
function formatMsToTime(ms) {
|
||||
// this is really fucking shitty but it works!
|
||||
const seconds = Math.floor(ms / 1000);
|
||||
const minutes = Math.floor(seconds / 60);
|
||||
const hours = Math.floor(minutes / 60);
|
||||
const days = Math.floor(hours / 24);
|
||||
|
||||
if (days > 0) {
|
||||
return `${days}d`;
|
||||
} else if (hours > 0) {
|
||||
return `${hours}h`;
|
||||
} else if (minutes > 0) {
|
||||
return `${minutes}m`;
|
||||
} else {
|
||||
return `${seconds}s`;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
formatMsToTime,
|
||||
};
|
Reference in New Issue
Block a user