* cs2
* config
* fix: remove lo code
* config
* params
* source2
* game info
* messages
* config changes
* dirs
* config
* refactor: refactor info message functions in alert.sh, command_details.sh, command_dev_query_raw.sh, and command_postdetails.sh
- Refactored the info message functions in multiple files to have consistent naming conventions.
- Renamed fn_info_message_* functions to fn_info_messages_* for clarity and consistency.
- Updated function calls accordingly.
* refactor: remove unnecessary code duplication in info_game.sh
The commit removes duplicated code for retrieving server information from the game configuration file. Specifically, it removes redundant lines related to rconpassword, rconport, and serverpassword. This improves code readability and maintainability.
* cs2
* cs2
* cs2 icon
* remove lo
* remove file
* remove lo
* update url
* ignore games with no configs
* remove configs from games that have non
* details check fix
* details check
* details check
* ignore systemdir check if running github actions
* fix name
The commit removes the Last Oasis game server configuration file `_default.cfg` and the corresponding module `fix_lo.sh`. These files are no longer needed as Last Oasis is being removed from the supported games list.
- Updated the package dependencies in the Debian 12, Ubuntu 23.04, and Ubuntu 23.10 CSV files.
- Replaced "netcat" with "netcat-openbsd" as a dependency.
- Ensured consistency across different versions of Ubuntu.
This commit refactors the code by updating the package dependencies for Debian and Ubuntu distributions. The changes include replacing "netcat" with "netcat-openbsd" as a dependency in all three CSV files (Debian 12, Ubuntu 23.04, and Ubuntu 23.10). These updates ensure consistency across different versions of Ubuntu.
* feat(alert): add new alert types
- Added new alert types for different scenarios such as stopped, started, restarted, monitor session failure, monitor query failure, wipe, and info.
- Updated the `alert.sh` script to include functions for each new alert type.
- Modified the `command_monitor.sh` script to use the appropriate alert type based on the monitoring results.
* feat: remove more info if not enabled
* refactor: refactor alert functions and add color codes
This commit refactors the alert functions in the `alert.sh` module. It adds color codes for different types of alerts, such as green for started/restarted alerts, red for stopped/monitor session/query/permissions alerts, and blue for update/config/wipe/info alerts. The commit also updates the alert emoji to better represent each type of alert.
* feat: add colour to discord alert
* refactor: improve Pushbullet alert sending
The code in the `alert_pushbullet.sh` file has been refactored to improve the way Pushbullet alerts are sent. The curl command now includes the access token as a header instead of in the URL, resulting in more secure communication with the Pushbullet API. This change enhances the reliability and security of sending Pushbullet alerts.
* feat: add alert icon and footer to Discord alerts
- Added a new variable `alerticon` to store the URL of the alert icon image.
- Included the `alerticon` in the JSON payload for both short info and no info alerts.
- Added a footer with text "Sent by LinuxGSM v23.5.3" to the JSON payload for both short info and no info alerts.
This commit enhances the appearance of Discord alerts by adding an icon, a footer, and additional information about the sender.
* refactor(alert): refactor alert functions
- Refactored the alert functions to improve code readability and maintainability.
- Renamed variables for better clarity and consistency.
- Updated function names to be more descriptive of their purpose.
- Reorganized the order of function definitions for better organization.
* feat: add first batch of icons
* refactor: improve serverlist validation script
The commit refactors the serverlist validation script to include a new check. It now compares all game servers listed in `serverlist.csv` to `$shortname-icon.png` files in `lgsm/data/gameicons`. If a game server is listed in `serverlist.csv`, it should have a corresponding `$shortname-icon.png` file. The commit adds a loop that checks for the existence of these files and outputs an error message if any are missing.
* another batch of icons
* more icons
* updated icons
a
* feat: add serverlist game icon validation
This commit adds a new script `serverlist-validate-game-icons.sh` that checks if all the game servers listed in `serverlist.csv` have a corresponding `shortname-icon.png` file. It also verifies that the number of game icons matches the number of servers in `serverlist.csv`. The script is executed as part of the workflow defined in `serverlist-validate.yml`.
Co-authored-by: [co-author-name]
* refactor: improve game icon validation script
The commit refactors the game icon validation script to improve its functionality. It adds a check for unexpected game icons and ensures that the number of game icons matches the number of servers in serverlist.csv. The commit also updates error messages for better clarity and readability.
* refactor: remove unused mumble-icon.png game icon
The code changes involve removing the unused mumble-icon.png game icon. This change helps to clean up the codebase by removing unnecessary files.
* feat: update game icons
Updated the game icons for bf1942, pmc, vints, vpmc, and wmc. Changed resolution to 32px
* feat(alert): add alert action and information to Discord message
- Added a new variable `alertaction` to store the action performed in the alert
- Modified the Discord message template to include the alert action and information
- Updated the author name in the Discord message template to "LinuxGSM Alert"
The changes allow for more informative and descriptive alerts in Discord messages.
* feat(alert.sh): add alertaction variable
This commit adds the `alertaction` variable to the `fn_alert_*` functions in the `alert.sh` module. The `alertaction` variable is used to specify the action that triggered the alert, such as "Started", "Stopped", "Restarted", etc. This allows for more informative and descriptive alerts.
* refactor: rework email alert
* feat: add environment detail
* refactor: simplify Discord and Pushbullet alert message handling
The code changes in this commit refactor the way Discord and Pushbullet alert messages are handled. The previous implementation used separate variables for short information and no information scenarios, but now it uses a single variable for both cases. Additionally, the code now checks if the "alerturl" is empty instead of comparing it to a specific value.
These changes improve code readability and maintainability by reducing redundancy and simplifying conditional logic.
* title
* fix: update Pushover alert message formatting
The commit fixes the formatting of the Pushover alert message by removing unnecessary information and adding a conditional check for the presence of an alert URL.
* refactor: improve formatting of server IP value in Discord alert
The code changes in this commit refactor the formatting of the server IP value in the Discord alert. The value is now enclosed in single quotes for better readability.
* refactor: improve alert message formatting and remove unnecessary code
The commit refactors the alert message formatting in the `alert_pushbullet.sh`, `alert_slack.sh`, and `alert_telegram.sh` files. It improves the structure and readability of the messages by using proper markdown syntax. Additionally, it removes unnecessary code from the files to simplify their implementation.
* more changes
* feat: add server name and information fields to Discord alert
The code changes in the `alert_discord.sh` file include adding new fields for server name and information to the JSON payload sent in a Discord alert. This allows for more detailed information about the server to be included in the alert message.
refactor: improve conditional logic for Gotify alerts
In the `alert_gotify.sh` file, the code changes involve improving the conditional logic for determining which JSON payload to use when sending a Gotify alert. The updated logic checks if an alert URL is provided and selects the appropriate JSON payload accordingly.
chore: update field names in IFTTT alerts
The changes made in `alert_ifttt.sh` involve updating field names in the JSON payloads used for IFTTT alerts. The field names have been modified to match a consistent format across all fields.
fix: correct body formatting in Pushbullet alerts
The code changes made in `alert_pushbullet.sh` address an issue with incorrect body formatting in Pushbullet alerts. The body of the alert now includes separate lines for each piece of information, such as server name, information, game, server IP, hostname, and more info.
refactor: improve attachment structure in RocketChat alerts
In `alert_rocketchat.sh`, the code changes involve improving the attachment structure of RocketChat alerts. The updated structure includes separate sections for server name, information, game, server IP, hostname, and more info.
feat: add additional sections to Slack alerts
The changes made in `alert_slack.sh` include adding additional sections to Slack alerts. These sections provide separate blocks of text for server name and information within each message.
feat: add HTML formatting to Telegram alerts
In `alert_telegram.sh`, HTML formatting has been added to Telegram alerts. This allows for bold text styling and clickable links within each message sent via Telegram.
* bug
* bug
* refactor: improve alert message formatting
- Refactored the code in `alert_pushover.sh` and `alert_telegram.sh` to improve the formatting of the alert messages.
- Updated the message structure to include the server name before other information.
- Added line breaks for better readability.
- Made sure that all variables are properly interpolated within the messages.
* bug
* remove rocketchattoken
* feat: add alert types for server start, stop, restart, and wipe
- Added new alert types for server start, stop, restart, and wipe.
- Updated the `alert.sh` module to include functions for handling these new alert types.
- Modified the `command_start.sh`, `command_stop.sh`, and `command_wipe.sh` modules to trigger the corresponding alerts when appropriate.
- Updated the `alert_rocketchat.sh` module to display the relevant information for each alert type in Rocket.Chat notifications.
* refactor: update alert messages in lgsm/modules/alert.sh
- Updated the alert messages for when the game server is stopped, started, restarted, and when an LinuxGSM update is received.
- Changed the wording to use "has been" instead of "has" for consistency.
- Added a mention that the server has been restarted after receiving an LinuxGSM update.
* bug
* refactor: update alert emojis and add server time
- Updated the alert emojis in the `alert.sh` module.
- Added the server time to the alert messages in various modules (`alert_discord.sh`, `alert_gotify.sh`, `alert_ifttt.sh`, `alert_pushbullet.sh`, `alert_pushover.sh`, `alert_rocketchat.sh`, and `alert_slack.sh`).
* refactor: remove date from alert messages
The commit refactors the code in `alert_discord.sh` and `alert_slack.sh` to remove the date from the alert messages sent by LinuxGSM. This change simplifies the message content while still indicating that it was sent by LinuxGSM and includes the version number.
* feat: add statusalert option to server configs
This commit adds the "statusalert" option to the default configuration files for various game servers. The "statusalert" option allows users to enable or disable alerts on server start, stop, and restart events. This feature provides more flexibility in managing server notifications.
* feat: add alert for update and restart if necessary
The code change adds an alert for updates and restarts the service if necessary. This ensures that the service is restarted after an update to prevent any issues.
* feat: add backup alert functionality
This commit adds a new function `fn_alert_backup` to the `alert.sh` module. This function sends an alert when the system has been backed up. The alert includes a message, action, emoji, sound, and color.
In addition, this commit modifies the `command_backup.sh` module to trigger the backup alert by setting the variable `alert` to "backup" and calling `alert.sh`.
The purpose of these changes is to provide notifications when backups are created.
Co-authored-by: AI Assistant <[email protected]>
* refactor: change alert color to green
The code in the `alert.sh` file has been refactored to change the alert color from blue to green. This change updates the `alertcolourhex` and `alertcolourdec` variables accordingly.
---------
Co-authored-by: AI Assistant <[email protected]>
* 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.
* add appmanifest files to data
* refactor: improve appmanifest check and force update logic
The code changes refactor the `fn_appmanifest_check` function in the `core_steamcmd.sh` file. The improvements include:
- Checking if `BytesDownloaded` and `BytesToDownload` match, and forcing an update if they don't.
- Checking if `BytesStaged` and `BytesToStage` match, and forcing an update if they don't.
- For GoldSrc engine, checking if `SharedDepots` exists in the appmanifest file, and forcing an update if it doesn't.
- Fetching missing appmanifest files from GitHub for specific game shortnames.
These changes enhance the reliability of the appmanifest check process and ensure that updates are forced when necessary.
* a
* refactor: improve removal of appinfo.vdf file
The code has been refactored to improve the removal of the appinfo.vdf file. The find command now redirects error output to /dev/null for a cleaner execution.
* a
* fn_check_steamcmd_appmanifest is now a full check
* a
* a
* feat: add support for fetching appmanifest files
This commit adds support for fetching appmanifest files from the GitHub repository. The code now fetches the appropriate appmanifest files based on the game's shortname and updates them in the serverfiles/steamapps directory. This change ensures that the correct appmanifest files are used, fixing an issue related to updating certain games.
* more appmanifest files
* feat: add appmanifest_10.acf for Counter-Strike
Added the appmanifest_10.acf file for Counter-Strike to resolve an issue with missing SharedDepots. This commit fetches the necessary files from GitHub and forces an update to correct the issue.
- Set `consoleverbose` to "yes" in BTL Server configuration
- Remove redundant line in KF Server configuration
- Remove redundant line in RO Server configuration
- Update VH Server executable path and remove redundant line
- Update BTL Server game version to Ubuntu 20.04 in serverlist.csv
- Updated the operating system version for Action: Source server from ubuntu-22.04 to ubuntu-20.04
- Updated the operating system version for Arma Reforger server from ubuntu-22.04 to ubuntu-20.04
The commit adds the libxml2-utils package to several CSV files. This change is necessary for the proper functioning of some scripts that depend on this package.
* feat: add header to serverlist.csv
added header to serverlistto help ansible and other tools better work with the csv file
* feat: update serverlist menu
The script now skips the first line of the serverlist file when generating the list for 'list' and 'install' commands. This ensures that the header is not included in the output.
* fix: check details
* fix serverlist validate test
Added support for Ubuntu 23.04 by creating a new CSV file with package dependencies for each game server. Also, fixed a minor typo in the info_game.sh script where "most liky" was corrected to "most likely".
This commit adds the libxi6 package to the Debian and Ubuntu distribution files. The libxi6 package is required for some games that use X11 input extension library. This change will ensure that LGSM users can install and run these games on their systems without encountering any issues.
* python version change for rhel-9 & centos-9
- python36 is no longer available in the repo list for rhel-9 & centos-9
- not possible to use "dnf install python36" or "yum install python36", manually compiling from source or using pyenv is only way
- switching from python36 to python3 in lgsm data files works for latest rhel-9 (redhat9) dev build
* python36 to python3 for rocky-9
* python36 to python3 for almalinux-9
* feat(btl): rename bt1944 to btl (#4124)
* fix(bt1944): update binary file
* feat(btl): rename bt1944 to btl
* rename gameworld to worldname
* rename autosaveinverval to saveinterval
* rust seed
* add exit code to details
* update some variables
* comment
* update random
* current refactor
* modules
* json
* xml
* add core modules to functions dir
* functions
* fix
* use xmllint for parsing xml
* check root
* check logs
* sdtd
* quakec
* changes
* remove dev null
* arma3
* add detect details
* config origin
* fix: cmw mkdir bug
* ini improvements
* further ini improvements
* dst ini
* revert
* httpport
* max players
* source engine
* fix: cannot iterate over null
* fix quakec
* fix(nec): no query port
* more updates
* more updated
* more
* more
* telnet ip
* first test of details checking
* more details updates
* more standardizing
* comment out steamport in not set
* kf2 master server true
* update roserver
* fix bug
* looks for file called config and uses that
* test
test
test
test
test
* download correct configs
* test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
* remove blank lines
* update var names
* fail
* continue on error
* install xmllint
* adjust quakec
* fix dst
* fix java
* re order mcb
* fix query port mc
* fix mom
* fix pc
* pc add http port
* add api and http port
* change naming to http from web admin
* api port
* http
* pc2
* add query raw
* list cluster config
* servercfgparse
* update avserver
* tidy up steam ports
* more servers completed
* fix sb
* no config file
* no config file
* add emserver config install
* codacy
* add legacy vars
* add more legacy
* add xmllint
* mta xmllint
* codacy
* codacy