* feat: refactor update comparison output for consistency and clarity
- Replaced direct echo statements with fn_print functions for uniformity in output formatting across multiple update scripts.
- Ensured lockfile creation uses the correct syntax for variable expansion.
- Moved lock file to the same location to ensure monitor doesnt reboot at the wrong time
- Updated remote build information display to enhance readability and maintain consistency in logging.
- Removed unnecessary echo commands to streamline the output process.
* Refactor remote build version handling across multiple modules
- Updated variable names from 'remotebuildversion' to 'remotebuild' for consistency.
- Adjusted logic to check for remote build availability using the new variable name.
- Modified output messages to reflect the change in variable naming.
- Ensured all modules (update_mc.sh, update_mcb.sh, update_mta.sh, update_pmc.sh, update_ts3.sh, update_ut99.sh, update_vints.sh, update_xnt.sh) are aligned with the new naming convention for better readability and maintainability.
* fix(alert): resolve issue with servername not always being listed in title
* Moved `info_distro.sh`, `info_game.sh`, and `info_messages.sh` calls to the top of the `fn_alert_log` function for better clarity.
* Updated `alerticon` assignment to maintain consistency in alert information handling.
* fix(alert_discord): remove "More info" field from Discord alert JSON
* Eliminated the "More info" field to streamline the alert message.
* This change enhances the clarity of the alert by focusing on essential information.
* fix(alert): improve update alert messaging for clarity
* Updated alert messages in `fn_alert_update` and `fn_alert_update_failed` for better readability.
* Changed alert action from `update-request` to `update-restart-request` in `fn_monitor_check_update_source`.
* remove inline
* fix(alert): Correct grammar in update alert message
* Changed "an LinuxGSM update" to "a LinuxGSM update" for grammatical accuracy.
* typo
* fix(alert_discord): Add inline property to "Is my Game Server Online?" field
* Ensures proper formatting of the Discord alert message.
* Improves the display of the server status information.
* fix(pd): increase timeout for termbin.com connection
* fix(alert_discord): reorder fields in Discord alert JSON
* Changed the order of fields in the Discord alert JSON structure.
* Updated the "More info" and "Is my Game Server Online?" fields for better clarity.
* revert back to factorio.com
Co-authored-by: Copilot <[email protected]>
* Standardizes alert messages across platforms
Ensures consistency in alert messages across Discord, NTFY,
Pushover, Rocketchat, Slack, and Telegram.
Updates Discord alerts to include server hostname and time,
removes redundant formatting.
Standardizes plain-text alert formatting for NTFY.
Refactors Pushover messages to use consistent HTML formatting.
Streamlines Rocketchat and Slack messages by removing duplicate
server info and adding optional link support.
* Removes Hostname from alert messages
Removes the Hostname field from various alert messages (Discord, Gotify, IFTTT, ntfy, Pushbullet, Pushover, Rocketchat, Slack, Telegram).
The hostname was deemed redundant or unnecessary in the context of these alerts.
Relates to #4696
* Configures shellcheckrc filename
Configures the Super-Linter action to use `.shellcheckrc` as the
BASH_FILE_NAME. This ensures that shellcheck uses the correct
configuration file for bash script linting.
Fixes#4696
* Disables shellcheck errors and removes variable
Disables specific shellcheck errors to allow certain coding
patterns and removes an unused variable from the super-linter
workflow. This improves the linter's signal-to-noise ratio
and reduces unnecessary checks.
Relates to #4696
* Fixes and improves server list validation scripts
Addresses issues in the server list validation scripts:
- Fixes potential issues with parsing curl custom arguments in telegram alerts.
- Corrects the shortname array generation.
- Implements more robust checks for validating game icons.
- Ensures the consistency of server counts across different CSV files.
* Fixes glibc check and mod selection logic
Corrects glibc version comparison to properly handle version strings.
Improves mod installation and removal by validating user input
against available options, providing a more robust selection process.
This prevents errors caused by invalid mod names and enhances the
user experience.
Updates arithmetic expression syntax for better compatibility.
* Fixes cache control for dev-debug mode
Updates the handling of cache control headers in dev-debug mode.
The `nocache` variable is changed to an array to correctly pass multiple headers to `curl`.
This resolves issues with cached versions of files being used when dev-debug is enabled, ensuring that the latest versions are always fetched.
Fixes#4696
* Allows spaces in steamcmdcommand variable
Parses steamcmdcommand as an array to allow spaces in the
variable.
This prevents issues when the user wants to pass arguments
with spaces to the steamcmd executable.
* Addresses various script improvements
Addresses multiple improvements across various scripts:
- Fixes Valheim unstripped_corlib override by commenting out the lines in the config files.
- Improves process identification for source and goldsrc engines using `pgrep`.
- Enhances backup file identification using `find` with `-maxdepth 1` and `-type f`.
- Fixes glibc version comparison logic in multiple files.
- Improves UT2K4 key installation script by using printf for writing the key to the file.
- Corrects the mod info extraction logic to correctly identify mod entries.
- Improves amxmodx file installation/removal logic to prevent duplicate entries.
- Fixes server info retrieval to handle spaces in the server list.
Relates to #4696
* Fixes mono repo install exit code check
Corrects the mono repo install exit code check to use the dedicated monorepoexitcode variable, ensuring accurate error detection.
Updates the exit trap to preserve the original exit status, preventing potential loss of information when handling script termination.
* Refactors and reorders core modules
Improves module loading by reordering and refactoring the core modules.
This change addresses inconsistencies and improves the overall structure
of how core modules are handled within the system.
Some fix scripts were renamed to match the module name.
* Makes scripts executable
Changes file permissions to make shell scripts executable.
This ensures that the scripts can be run directly.
Addresses a pre-existing issue.
Related to #4696
* Adds explicit permissions to workflows
Specifies explicit permissions for GitHub Actions workflows to enhance security and control access to resources.
This ensures that each workflow only has the necessary permissions, following the principle of least privilege.
* Fixes output redirection and URL parsing
Corrects output redirection in GitHub Actions workflows by enclosing the $GITHUB_OUTPUT variable in quotes, preventing potential issues with variable expansion.
Ensures proper URL parsing in workflows by enclosing the URL within quotes, addressing potential parsing errors.
Fixes#4696
* Applies code formatting for consistency
Applies Prettier formatting to the codebase for improved
readability and consistency.
Addresses minor code style inconsistencies across several files.
* Fixes minor formatting and logic issues
Addresses various minor issues including:
- Standardizes indentation in `.editorconfig` for different file types.
- Simplifies Prettier configuration.
- Updates image links in `README.md`.
- Ensures newline character at end of `.csv` files.
- Corrects a conditional statement in `command_fastdl.sh`.
- Corrects a conditional statement in `info_messages.sh`.
- Updates server query protocols in `query_gsquery.py`.
* Configures and disables linters
Adds YAML linting configuration and disables unnecessary
linters to streamline the CI/CD process and reduce
noise from irrelevant checks.
* Improves documentation and linting
Updates documentation links to be enclosed in angle brackets, preventing markdown rendering issues.
Configures markdownlint to align with repository standards and avoid common false positives.
The updated links in the documentation ensure they are correctly interpreted by markdown parsers, improving user experience.
The markdownlint configuration fine-tunes linting rules to better match the project's existing style and conventions, reducing noise from irrelevant warnings.
* Fixes typos and improves code consistency
Addresses various typos and inconsistencies across multiple files,
enhancing code readability and maintainability.
Adds codespell and flake8 configurations for linting.
Relates to #4696
* Excludes workflow files from Prettier formatting
Prevents Prettier from formatting workflow files due to GitHub token restrictions, as the token used by the Prettier auto-commit action lacks permissions to update files within the `.github/workflows/` directory.
* chore(prettier): format code
* Updates Super-Linter configuration
Improves Super-Linter's reliability by switching to linting the entire codebase instead of relying on git history. This change also addresses potential transient fetch failures from GitHub.
Additionally, this commit expands the ignored paths in codespell and disables some linters to improve performance and reduce false positives.
---------
Co-authored-by: Copilot <[email protected]>
Co-authored-by: dgibbs64 <[email protected]>
* refactor: simplify sleep time functions
The `fn_sleep_time` function has been refactored to remove unnecessary conditions and set a default sleep time of 0.5 seconds. Additionally, four new functions (`fn_sleep_time_1`, `fn_sleep_time_5`, `fn_sleep_time_10`) have been added to provide different sleep times of 1, 5, and 10 seconds respectively. This improves code readability and allows for more flexibility in setting sleep times.
* change sleep to fn_sleep_time
* refactor: optimize sleep time functions
- Refactored the code to optimize the sleep time functions.
- Updated the `fn_sleep_time` function calls to `fn_sleep_time_1` in multiple files.
- Removed unnecessary sleep time calls in some files.
* refactor: simplify sleep time function call
The code changes refactor the sleep time function call in the check_deps.sh file. Instead of calling fn_sleep_time_1, it now calls fn_sleep_time. This change simplifies the code and improves readability.
* feat: add sleep time before checking session
Add a sleep time of 1 second before checking the session in the command_monitor.sh file. This allows for better synchronization and improves the accuracy of the session check.
* changes
* refactor: optimize sleep time function
The code changes refactor the sleep time function in multiple files to improve efficiency. The fn_sleep_time function is replaced with fn_sleep_time_1. This change reduces unnecessary delays during execution.
* refactor: update sleep time function names
The sleep time functions in the core_messages.sh file have been updated to use more descriptive names. The fn_sleep_time function has been renamed to fn_sleep_time_1 for clarity and consistency. This change improves code readability and maintainability.
* refactor: optimize sleep time in core_messages.sh
The commit optimizes the sleep time in the core_messages.sh file. The fn_sleep_time and fn_print_dots functions now use a shorter sleep time of 0.5 seconds instead of 1 second, resulting in faster execution.
* refactor: improve readability and consistency in code
- Refactored the log messages to use consistent capitalization and wording.
- Updated log messages in check_glibc.sh, check_permissions.sh, command_backup.sh, command_update_linuxgsm.sh, command_wipe.sh, fix_samp.sh, install_config.sh, and set_dst_config_vars() functions.
feat: add more descriptive log messages
- Added more descriptive log messages to provide clearer information about the actions being performed.
- Updated log messages in check_glibc.sh, check_permissions.sh, command_backup.sh, command_update_linuxgsm.sh, command_wipe.sh, fix_samp.sh, install_config.sh.
fix: correct spelling errors in log messages
- Corrected spelling errors in some of the log messages for better clarity.
- Updated log messages in check_glibc.sh and fix_samp.sh.
* refactor: remove unnecessary print statements
This commit refactors the code by removing unnecessary print statements in multiple files. The removed print statements were used for displaying dots and warnings, but they are not needed anymore. This improves the readability and cleanliness of the code.
* refactor: improve commit messages for code changes
- Refactored check_glibc.sh to improve readability and clarity of error messages.
- Refactored check_permissions.sh to provide more informative error messages when checking /sys permissions.
- Refactored check_system_requirements.sh to provide clearer warning message when checking RAM requirements.
- Refactored command_backup.sh to provide more descriptive messages when starting a backup.
* remove legacy code
* fix: remove \t
* fix: run check_root
check root was never running because of logic in linuxgsm.sh
* fix: update warning message for missing sudo access
The warning message for users without sudo access has been updated to provide clearer instructions. Instead of just suggesting manual installation, it now also suggests running the script as root using `./${selfname} install`. This change improves user experience and helps them resolve dependency installation issues more effectively.
* tidy
* refactor: remove unnecessary comments in default server configurations
The commit removes unnecessary comments from the default server configurations. The comments were providing instructions to edit the configuration files with care, but they are not needed and can be safely removed.
* refactor: update server names in default configuration files
- Updated the servername value in multiple default configuration files to "LinuxGSM" for consistency.
- Refactored the code to reflect the changes made.
* refactor: rename fn_script_log_fatal to fn_script_log_faail
to create more consistency with naming
* feat: improve console output formatting
- Added separator function to improve readability of console output.
- Replaced multiple instances of manual separators with the new function.
- Updated commit message to follow conventional commit standard.
* refactor: remove unnecessary fn_sleep_time calls
This commit removes the fn_sleep_time function calls that are no longer needed in multiple modules. The fn_sleep_time function was used to introduce a delay, but it is no longer necessary for the current implementation.
* better standardise random
* removed bold where not required
The code changes remove the unnecessary check for the presence of a Docker environment in multiple scripts. Instead, they now only check if the current user is not root. This simplifies the logic and improves readability.
- Simplify root user check in `check.sh`, `check_deps.sh`, `check_permissions.sh`, `check_root.sh`, `command_install.sh`, `core_exit.sh`, and `linuxgsm.sh`
- Remove redundant checks for Docker environment
- Improve code readability
* 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
* Only dependency checks will run as root user when starting the installer e.g `./csgoserver install`
* If running dep check as root LinuxGSM will remove any files in `lgsm` that belong to root
* Master server check will not run if jq missing
now named
commandname and command action
command name is used in logs
command action is used on-screen.
Also alterations to function_selfname now called just selfname
* All functions names have been reviewed and renamed to make it easier
to identify what the function is for. This is for my benefit as there
are now over 50 functions to manage.
* New details feature. It has been reworked to add more useful info and
fix any bugs with details not always being displayed.
* Main script file e.g csgoserver should no longer require any updates
from this point. All code modifications should be made from the
functions. Any future edits would relate to server specific config.
* servername variable has been moved to its own function if name is
gathered from a config file. The same applies for ports, usernames and
passwords.
* new function fn_details_distro gathers all the required OS info for
fn_details and other functions that require this info
* Various improvements and bug fixes that I cannot remember.