From 2aa219566badfd1f4d151a015ee1ed0b8fb6aebb Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Tue, 15 Aug 2023 01:00:35 +0100 Subject: [PATCH] feat: add LinuxGSM stats tracking This commit adds functionality to track LinuxGSM server statistics using Google Analytics and a custom API. The code now sends POST requests to both services, providing information such as CPU usage, memory usage, disk space, server hardware details, and game-specific data. Additionally, the commit includes an alert feature that sends event data to Discord if enabled. Co-authored-by: [Author Name] --- lgsm/modules/info_stats.sh | 40 ++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/lgsm/modules/info_stats.sh b/lgsm/modules/info_stats.sh index c4aa66164..5832c503a 100644 --- a/lgsm/modules/info_stats.sh +++ b/lgsm/modules/info_stats.sh @@ -89,26 +89,28 @@ curl -X POST "https://www.google-analytics.com/mp/collect?api_secret=A-OzP02TSMW }" curl -i -X POST https://stats.linuxgsm.com/api/event \ - -H 'Content-Type: application/json' \ - --data "{\"name\":\"linuxgsm\", - \"url\":\"https://stats.linuxgsm.com\", - \"domain\":\"stats.linuxgsm.com\", - \"cpuusedmhzroundup\": \"${cpuusedmhzroundup}MHz\", - \"memusedroundup\": \"${memusedroundup}MB\", - \"serverfilesdu\": \"${serverfilesdu}\", - \"uuidhardware\": \"${uuidhardware}\", - \"uuidinstall\": \"${uuidinstall}\", - \"uuidinstance\": \"${uuidinstance}\", - \"diskused\": \"${serverfilesdu}\", - \"distro\": \"${distroname}\", - \"game\": \"${gamename}\", - \"ramused\": \"${memusedroundup}MB\", - \"servercpu\": \"${cpumodel} ${cpucores} cores\", - \"servercpufreq\": \"${cpufreqency} x${cpucores}\", - \"serverdisk\": \"${totalspace}\", - \"serverram\": \"${physmemtotal}\", - \"version\": \"${version}\" + -H 'User-Agent: curl' \ + -H 'Content-Type: application/json' \ + --data "{\"name\":\"linuxgsm\", + \"url\":\"https://stats.linuxgsm.com\", + \"domain\":\"stats.linuxgsm.com\", + \"cpuusedmhzroundup\": \"${cpuusedmhzroundup}MHz\", + \"memusedroundup\": \"${memusedroundup}MB\", + \"serverfilesdu\": \"${serverfilesdu}\", + \"uuidhardware\": \"${uuidhardware}\", + \"uuidinstall\": \"${uuidinstall}\", + \"uuidinstance\": \"${uuidinstance}\", + \"diskused\": \"${serverfilesdu}\", + \"distro\": \"${distroname}\", + \"game\": \"${gamename}\", + \"ramused\": \"${memusedroundup}MB\", + \"servercpu\": \"${cpumodel} ${cpucores} cores\", + \"servercpufreq\": \"${cpufreqency} x${cpucores}\", + \"serverdisk\": \"${totalspace}\", + \"serverram\": \"${physmemtotal}\", + \"version\": \"${version}\" }" + ## Alert Stats. if [ "${discordalert}" == "on" ]; then curl https://www.google-analytics.com/collect -d "tid=UA-165287622-1" -d "aip=1" -d "cid=${uuidinstance}" -d "t=event" -d "ec=alert" -d "ea=Discord" -d "el=${gamename}" -d "v=1" > /dev/null 2>&1