The command-line tool for quick, simple deployment and management of Linux dedicated game servers.
Go to file
Daniel Gibbs 08a8da26ff
feat: convert public ip to json (#4332)
* refactor: improve retrieval and handling of public IP address

The code in `info_game.sh` has been refactored to enhance the process of retrieving and handling the public IP address. The changes include:
- Using the API endpoint `http://ip-api.com/json/` instead of `https://api.ipify.org`
- Storing the retrieved data in `publicip.txt`
- Extracting additional information such as country and country code using `jq`

These improvements aim to provide more accurate and detailed information about the public IP address.

* refactor: update API URL and set default values for public IP, country, and country code

The commit refactors the code by updating the API URL to remove a trailing slash. Additionally, it sets default values for the variables `publicip`, `country`, and `countrycode` when the file `${tmpdir}/publicip.txt` is not found.

* feat: cache and retrieve public IP address

This commit adds functionality to cache the public IP address for 24 hours. If the cached IP address is older than 24 hours or doesn't exist, a new request is made to retrieve the public IP address. The retrieved IP address is then stored in a file for future use. Additionally, if there are any errors during the retrieval process, appropriate warning messages are logged and default values are set for the IP address, country, and country code.

Co-authored-by: AI Assistant <assistant@example.com>

* feat: cache and retrieve public IP address

This commit adds functionality to cache the public IP address for 24 hours. If the cached IP address is older than 24 hours or doesn't exist, a new request is made to retrieve the public IP address. The retrieved IP address is then stored in a file for future use. Additionally, if there are any errors during the retrieval process, appropriate warning messages are logged and default values are set for the IP address, country, and country code.

* refactor: improve caching and logging of public IP address

The code has been refactored to use a JSON file instead of a text file for caching the public IP address. The log messages have also been updated to provide more informative output.

* refactor(info_messages): Remove Mailgun alert

This commit refactors the `info_messages.sh` module by removing the Mailgun (email) alert functionality. The code changes remove the corresponding section that displays the Mailgun alert status in the info message script. This change simplifies and streamlines the code by eliminating unused functionality.

---------

Co-authored-by: AI Assistant <assistant@example.com>
2023-10-08 20:08:44 +01:00
.github build(deps): bump actions/checkout from 3 to 4 (#4306) 2023-09-10 20:17:10 +01:00
.vscode chore: fix issue with vscode prettier 2023-04-06 21:57:05 +01:00
lgsm feat: convert public ip to json (#4332) 2023-10-08 20:08:44 +01:00
tests feat: various UI changes (#4326) 2023-10-07 23:06:09 +01:00
.editorconfig update .editorconfig 2022-06-22 23:20:56 +01:00
.gitattributes chore: use prettier for code tidy (#3901) 2022-06-22 23:29:49 +01:00
.gitignore Release v23.3.3 2023-06-09 16:38:39 +01:00
.prettierrc chore: fix issue with vscode prettier 2023-04-06 21:57:05 +01:00
CODE_OF_CONDUCT.md chore: use prettier for code tidy (#3901) 2022-06-22 23:29:49 +01:00
CONTRIBUTING.md chore: use prettier for code tidy (#3901) 2022-06-22 23:29:49 +01:00
LICENSE.md Rename LICENSE to LICENSE.md 2023-01-14 00:37:13 +00:00
linuxgsm.sh feat: various UI changes (#4326) 2023-10-07 23:06:09 +01:00
package-lock.json feat(details): refactor of game info (#4174) 2023-05-16 20:56:58 +01:00
package.json feat(details): refactor of game info (#4174) 2023-05-16 20:56:58 +01:00
README.md Update README.md 2023-09-08 23:52:03 +01:00

LinuxGSM Codacy grade GitHub Workflow Status Discord SteamCMD MIT License

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.