120023dcae
* 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 <assistant@example.com> * 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 <assistant@example.com> |
||
---|---|---|
.github | ||
.vscode | ||
lgsm | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.prettierrc | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE.md | ||
linuxgsm.sh | ||
package-lock.json | ||
package.json | ||
README.md |
LinuxGSM is the command-line tool for quick, simple deployment and management of Linux dedicated game servers.
Hassle-Free Dedicated Game Servers
Traditionally game servers are not easy to manage yourself. Admins often have to spend hours messing around trying to get their servers working. LinuxGSM is a command-line tool designed to be as simple as possible, allowing admins to spend less time on management and more time gaming.
Main features
100+ game servers supported
- 🚚 Installer
- 🔍 Monitor
- ☎️ Alerts
- ☁️ Updater
- 📘 Server Details
- 💾 Backup
- 💻 Console
🐧 Compatibility
LinuxGSM will run on popular distros as long as the minimum requirements are met.
- Ubuntu
- Debian
- CentOS
Other distros are likely to work but are not fully tested.
🔧 Requirements
Each game server has specific dependency requirements. Visit a specific game server installation page on the LinuxGSM website to check dependency requirements for the game server you want to install.
📘 Documentation
Documentation is found at linuxgsm.com and docs.linuxgsm.com.
❓ Support
There are various ways to get support, check out the support page for the right support.
❤️ Sponsor
If you would like to sponsor to the project there are several ways you can, via GitHub Sponsors and PayPal. I would like to thank everyone who sponsors me. Since 2012 LinuxGSM has been steadily growing with new servers, features, and improvements added regularly.
🧙♂️ Contributors
A big thank you goes to all the wonderful people who contribute ideas, code, docs, and support to this project.