* refactor: simplify Google Analytics event tracking
This commit simplifies the code for sending Google Analytics events by using a single POST request instead of multiple cURL commands. The new approach sends all necessary parameters in a JSON payload, reducing redundancy and improving efficiency. Additionally, unnecessary event tracking for summary statistics has been removed.
Co-authored-by: AI Assistant <assistant@example.com>
* add plausable event api
* refactor: remove unnecessary header in info_stats.sh
The commit removes an unnecessary header in the info_stats.sh file. This change simplifies the code and improves readability.
* feat: add country code of external IP address
This commit adds functionality to retrieve the country code of the external IP address. If the country code is not already stored in a file, it uses curl to fetch it from https://ipapi.co/country and saves it in "${tmpdir}/countrycode.txt". If curl fails, an error message is displayed.
* feat: add country code to Google Analytics tracking
This commit adds the country code parameter to the Google Analytics tracking request in the `info_stats.sh` file. It also includes various server statistics such as CPU usage, memory usage, disk usage, distro name, game name, RAM usage, server CPU details, server disk details, server RAM details, and version information.
* refactor: update country code parameter in info_stats.sh
The commit updates the country code parameter in the info_stats.sh file. The previous parameter "country" has been changed to "countryId" for better clarity and consistency.
* feat: add countryId and version to Google Analytics tracking
This commit adds the "countryId" and "version" parameters to the Google Analytics tracking in the info_stats.sh script. Now, when the script sends data to Google Analytics, it includes information about the country and version of LinuxGSM being used.
* refactor: remove unused countryId parameter in info_stats.sh
The commit removes the unused "countryId" parameter from the info_stats.sh file in the lgsm/modules directory. This change improves code cleanliness and eliminates unnecessary code.
* 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]
* refactor: update event name in info_stats.sh
The commit updates the event name in the info_stats.sh file from "linuxgsm" to "pageview". This change ensures that the correct event is being tracked when sending data to the stats.linuxgsm.com API.
* feat: add virtual environment to info_distro, info_game, and info_stats modules
- Added code to retrieve the virtual environment using systemd-detect-virt command.
- Updated the condition for RHEL based distros in info_distro module.
- Removed code related to country code retrieval from external IP address in info_game module.
- Added virtual environment field to the payload sent to Google Analytics and LinuxGSM API in info_stats module.
* feat: remove unnecessary header in info_stats.sh
The commit removes an unnecessary header in the info_stats.sh file. The header was causing an issue with the API request.
* feat: update server stats and enabled alerts
- Updated the server stats to include virtual environment, LinuxGSM version, and enabled alerts.
- Removed unnecessary code for sending alert statistics.
* feat: add alert options to info_stats module
This commit adds new alert options to the info_stats module. The added options include discordalert, emailalert, gotifyalert, iftttalert, mailgunalert, pushbulletalert, pushoveralert, rocketchatalert, slackalert, and telegramalert. These options allow users to configure different types of alerts for their game server statistics.
* feat: add virtual environment tracking to info_stats module
This commit adds the ability to track the virtual environment in the info_stats module. The "virtualenvironment" field is now included in the data sent to Google Analytics.
* feat: add dynamic payload generation for Google Analytics
This commit adds the ability to dynamically generate the payload for sending events to Google Analytics. The payload now includes properties such as `discordalert`, `emailalert`, `gotifyalert`, and more, based on their respective values. This allows for more flexibility in customizing the payload sent to Google Analytics.
The code changes can be found in `info_stats.sh`.
* refactor: simplify payload construction
The code changes in this commit refactor the payload construction in the `info_stats.sh` file. The changes simplify the process by removing repetitive if statements and consolidating the payload parameters. This improves readability and maintainability of the code.
* refactor: refactor alert options in info_stats.sh
Refactored the code in info_stats.sh to improve readability and maintainability. Replaced individual alert options with a unified "alert" option, which now accepts values like "discord", "email", "gotify", etc. This change simplifies the code and makes it easier to add or modify alert options in the future.
* feat: Send stats to Google Analytics GA4
This commit adds the functionality to send server statistics to Google Analytics GA4. The payload includes metrics such as CPU usage, disk usage, memory usage, and server information. The data is sent using a POST request to the Google Analytics API.
The previous code that sent stats to the LinuxGSM stats endpoint has been removed.
Note: This commit does not include any specific file changes.
* refactor: simplify sending stats to Google Analytics
The code changes refactor the logic for sending stats to Google Analytics. The previous implementation had multiple if statements for different alert types, resulting in repetitive code. The refactored code now uses a function to generate the alert payload and reduces duplication. This improves readability and maintainability of the code.
Co-authored-by: John Doe <johndoe@example.com>
---------
Co-authored-by: AI Assistant <assistant@example.com>
Co-authored-by: John Doe <johndoe@example.com>
* fix(tmux): force tmux to create a new trmux server instance for each game instance to avoid sharing same pid.
* refactor: improve tmux command consistency and add session name flag
This commit refactors the code to improve consistency in the usage of the `tmux` command. It adds the `-L` flag followed by the session name to all `tmux` commands. This ensures that all commands are executed within the correct session. Additionally, it updates the `check_status.sh`, `command_console.sh`, `command_send.sh`, `command_start.sh`, `command_stop.sh`, and `info_distro.sh` files to include this change.
The changes ensure that all relevant commands are executed within the specified session, improving code readability and maintainability.
---------
Co-authored-by: cclecle <clement.chastanier@gmail.com>
Co-authored-by: Daniel Gibbs <me@danielgibbs.co.uk>
* add new details to queryraw
* fix httpport ac server
* correct info bug for bt1944server
* added bt1944 to info_parms
update info messages
bt1944ports
* steamport
* raw port
raw
* message display
* check_root bug
* add more ports
merge
words
* arma 3 improvements
* master port
* add arma3 ports
* portnames
* strip ./ from executable
* exec
* integrate ss
* replace netstat with ss
* port header
headerr
* remove inbound outbound
* ark
* shorten executable
* change to port display
* add info_distro
* response
* acserver improvements
acserver
ac
* add assettocorsa query
* ss
* rawport
* update av server exec
merge
av changes
* av ports
* av ss
bug
* av
* avserver
* remove port
* port changes
* listen
* col
* bt1944
* cmw
cmw
* cmw
* changes
* etl
* add servers
* hw
* inss
ins
* add rcon to insserver
* rcon
* jc
* jc3 minecraft
* mcb
* onset
* Memories of mars
* mumble
* changes
* steamport
* tcp query
* udp
* fix
* steamport
* info_distro now required before parms
* srcdslinuxopid
* srcds_linux
* hlds_linux
* ins
* date
* ns2
* rising world
rising world query port
rising world javaram
rising world
a
* rising world ports
* portipv6
* add ports to query raw
* add Rising World Query
* fix rising world game mode
* update 7 Days to Die
* port3
* increased sdtd glibc to 2.27
* corrected starbound ports location
* starbound
* added new SteamCMD error code
* Master server check if query raw
* Stationeers
* stationeers
* webadmin
* added extra query ports for ts3
a
* add teamspeak3 query
* add ts3 query details
* ts3 version
* queryport reverts back once gamedig finished
* added telnetport to ts3
* fix TS3 bug causing shutdown when starting debug
the fix was running and killing a running server
* show start parameters for ts3
* tower unite
* terraria
* terraria
* ss command in dev-query-raw
info_messages.sh
* ut4 and others
* more updates
* soldat
* col vint
* pvr query port
tab
* pvr query type tcp
* pvr gameport+400
* changed to shortname
* unreal99
* ut99 beacon
* httpport
* ut2k4
* kf
* kf
* bug
* httpport
* httpport
* more kf ports
* lan port
* steammasterport
* kf
* ports
* ports
* ut2k4
* ut2k4
* lanport
* lanport
* ro
* ro
* kf2
* httpport
* update naming
* ut3
* ut3
* ut3
* mom
* mom
* reshuffle
* sort list
* function re-shuffle
* merge info_parms and info_config into info_game.sh
a
* updated source filters
* added ac to edit ports array
* Revert "updated source filters"
This reverts commit e8621eaed6.
* spaces
* fix typo
* tidy
* re ordered ports edit array
* added java
* add bf1942
* Added Last Oasis
* corrected pc function name
* re ordered in alpha
* space
* remove space
* remove remaining fn_parms
* remove ${parms}
* updated UI and comments
* add server date and other details improvements
* fix(post-details): prevent serverpassword showing in start parameters
* Fixed uniqueness constraint on session names by adding port to tmux sesssions. Removed content constraint from session name by avoiding grep regex
Co-authored-by: jason <1569551+j4s0n@users.noreply.github.com>
* fix sdtd config handling for the port
* add steamclient.so fix to sdtd
* removed logfile from parameters to allow console display
* steamclient.so bug fix
* allow accurate ip to be set for webadminip in most cases
* master server query will loop through server ip addresses
* more accurate details on telnet IP address
* minor tidy up of details web admin and telnet
* sdtd does not have an interactive console
* correct steamclient.so fix
* remove x86 binary as no longer present
* more changes to steamclient.so
Co-authored-by: H3o66 <chris.h3o66@gmail.com>
Removes a long time annoyance for any users who have servers with multiple IP addresses.
Now if the server has more than one IP address LinuxGSM will automatically try query all IP's until it gets a response.
The default IP in settings will now be 0.0.0.0 this also helps resolve issues with source servers and LAN browser #2534
If required it is still possible to manually enter the IP address you want to use. Also, displayip setting is useful if you want your alert to specify an IP address
IP variables for reference
ip the default IP for the server if using 0.0.0.0 LinuxGSM will query all available IP addresses
queryips a list of the ip addresses that will be queried
queryip the ip address that is being queried
displayip the ip/hostname you want to show up in alerts. if unset the internet-facing IP will be used
extip the external internet-facing IP address
This update is a major refactor of how LinuxGSM updates itself.
* will now use a version tag if downloading module for the first time.
* added backup repo (Bitbucket) that will be used if Github is unavailable.
* added ./gameserver and module version comparison this will allow instances to be correctly updated if there is a version mismatch.
* UI changes when modules are fetched for the first time
* added sessionname to fix broken tmux session is ./gameserver is called ./gameserver.sh
* change apt to apt-get as recommended by the apt packages when dealing with scripts.
* improvements to steamclient.so fix
* added fix to install inconsistent location across distros
* added dev/null for master server
* XDG_DATA_HOME
* prevent check_last_update from restarting server if stopped
* Update info_stats.sh
* added CPU frequency
* feat: swapped event label and event action
* fix: prevent df from displaying non-english text with disk space vars
* fix force English language on df to ensure a point is used