* 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]>
* feat: gamedig 5
* install gamedig in lgsm dir if node exists
* and
* use local gamedig version
* local
* palworld
* pw query port
* mbe
* fix ro
system
system
a
* public ip
* jc2m
* fix(ti): update default map
The default map in the tiserver configuration file has been updated from "/Game/TheIsle/Maps/Game/Isla_Spiro/Isla_Spiro" to "/Game/TheIsle/Maps/Game/Gateway/Gateway". This change ensures that the server starts with the correct default map.
* fix: _default.cfg NOT SET
* download package.json and run npm install
* update samp
* disable query for squad
* correct name
* feat: update querymode and querytype in server configs
Changed querymode to 3 and set querytype to "eco" for ecoserver.
Updated querymode to 2 and changed querytype to "protocol-valve" for sdtdserver.
* feat: add new port command for bfv game
Added a new port command for the "bfv" game in the info_messages script.
* queryport eco
* add eco rconport
* adding message
* if node 16 or above
* rename to check_gamedig
* adde dotnet repo
* feat: update package dependencies for Ubuntu 16.04, 18.04, and 20.04
- Updated the package dependency for "vints" from "mono-complete" to "aspnetcore-runtime-7.0" in the Ubuntu 16.04, 18.04, and 20.04 CSV files.
- Also updated the package dependency for "vpmc" from "openjdk-8-jre" to "openjdk-11-jre" in the Ubuntu 18.04 and 20.04 CSV files.
This commit ensures that the correct package dependencies are specified for these Ubuntu versions, improving compatibility and functionality of the codebase.
* refactor: update dependency check for ASP.NET Core runtime
The code has been refactored to update the dependency check for the ASP.NET Core runtime. The condition that checks for the presence of "dotnet-runtime-7.0" has been changed to "aspnetcore-runtime-7.0". This ensures that the correct dependency is being checked and improves accuracy in determining if the required runtime is installed.
* fix: fix conditional statement in check_deps.sh
The commit fixes a bug in the conditional statement of the check_deps.sh script. Previously, it incorrectly checked if dotnetversion was empty instead of checking if it was not empty. This caused an incorrect value to be assigned to depstatus and dotnetinstalled variables. The bug has been fixed by correcting the conditional statement.
* refactor: simplify install_config.sh
This commit simplifies the `install_config.sh` file by removing unnecessary code for the "vints" configuration. The configuration is now generated on first run, and the list of config locations is still provided.
* refactor: improve error handling and display in core_exit.sh and install_config.sh
- In core_exit.sh, added a check to set exit code to 4 if it is not already set.
- In install_config.sh, improved the display of missing config file by highlighting the file path.
These changes aim to enhance the error handling and provide clearer information to users.
* feat: add exitcode handling to command_install.sh
The commit adds a check for the exitcode variable in command_install.sh. If it is empty, it sets it to 0. This change ensures proper handling of the exitcode in the script.
* refactor: improve installation process
The code changes in this commit refactor the installation process. The `command_install.sh` file has been modified to remove unnecessary code. Additionally, the `install_complete.sh` file has been updated to provide more informative messages based on the exit code. This improves the overall clarity and user experience during installation.
Co-authored-by: AI Assistant <[email protected]>
* refactor: remove redundant code in install_config.sh
The commit removes a redundant function call in the install_config.sh file. The "fn_list_config_locations" function is no longer needed for the "vints" configuration.
* a
* refactor: improve logging in command_stop.sh
- Changed `fn_script_log_error` to `fn_script_log_info` for consistency
- Removed unnecessary empty line
* refactor: dont try to stop a server that is already stopped
* refactor: remove redundant code and improve socket name generation
The commit refactors the code in `command_start.sh` and `linuxgsm.sh` to remove redundant code related to generating a unique tmux socket name. The code now creates a uid file if it doesn't exist, stops the running server, generates a uid using the current timestamp, and updates the socketname accordingly. This change improves the efficiency and reliability of socket name generation.
* refactor: remove unnecessary command_stop.sh call
The code change removes the unnecessary call to `command_stop.sh` in the `linuxgsm.sh` file. This improves efficiency and prevents lingering tmux sessions.
* refactor: remove duplicate code for creating unique tmux socket name
The code changes in `command_start.sh` and `linuxgsm.sh` refactor the creation of a unique tmux socket name. The duplicate code in `linuxgsm.sh` has been removed, resulting in cleaner and more efficient code.
* refactor: improve socketname assignment
The code change refactors the socketname assignment in the linuxgsm.sh script. Instead of directly assigning it to "${sessionname}-$(cat "${datadir}/${selfname}.uid")", it now checks if the file "${datadir}/${selfname}.uid" exists before assigning the value. This improves error handling and prevents potential issues when the file doesn't exist.
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 mumble query
* re-ordered serverlist.csv
* gamedig refactor
* query raw update
* gamedig: changed --query_port to --port
* add query data to log
* remove UDP query as does not work.
* refactor gamedig and gsquery
* add missing Factorio rcon port
* add fn_monitor_check_queryport
* add TCP query to Factorio
* add mta query support
* MTA IP address must be set. No longer using config
* remove mumble and ts3 from bypassing check_ip
* update netstat command for Project Zomboid
* adde query port to Project Zomboid
* update query mode for samp
* Update Teeworlds query
* add Soldat to TCP query
* update ss3 port info
* add query details to Serious Sam 3
* add Terraria query port
* ts3 now uses tcp query as proper query requires permissions changes
* update ut99 query
* gsquery add gamespy1
* separate out unreal engine functions
* updated ut2k4 query
* update Teeworlds query
* update Factorio query
* change engine if to shortname
* 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
Symlinking the SteamCMD directory into the correct ARK directory so that the mods auto-management will work fine. See http://ark.gamepedia.com/244.3 for the CLI option and Game.ini configuration settings.
* Fixes#991 (#1165)
* stbuf will no longer be used on x64 #991
* Added BF1942 ncurses requirement to CentOS
* adding Call of Duty (#1118)
* adding Call of Duty 2 (#1127)
* Improvements up command_backup.sh
added backup trap and improved lockfile support
changes to the messages displayed on screen
renamed some functions
other misc changes