LinuxGSM/lgsm
Daniel Gibbs 8f714822fe
feat(ci): game server update checker (#4298)
* refactor: shorten module update function names

The commit renames the update functions for several game modules to shorter names. The new names are more concise and easier to remember, which should improve code readability and maintainability.

* feat: Add Update Check workflow

This commit adds a new GitHub Actions workflow that checks if LinuxGSM is picking up game server config and parameter variables. The workflow runs on push and manual triggers, with concurrency settings to cancel in-progress jobs. It downloads linuxgsm.sh, installs dependencies, grabs the server, enables developer mode, installs the server, and updates it.

* feat: Add concurrency group names to workflows

The `details-check.yml` and `update-check.yml` workflows now have a concurrency group name that includes the branch or tag name. This will allow for better management of concurrent workflow runs.

* refactor: Update script names for Minecraft, Factorio, Jedi Knight 2 and Vintage Story

This commit updates the script names for Minecraft, Factorio, Jedi Knight 2 and Vintage Story. The update includes changes to command_check_update.sh, command_update.sh, core_functions.sh and install_server_files.sh. The new script names are update_mc.sh (formerly update_minecraft.sh), update_fctr.sh (formerly update_factorio.sh), update_jk2.sh (formerly update_jediknight2.sh) and update_vints.sh (formerly update_vintagestory.sh).

* feat: Add support for 32-bit architecture

This commit adds support for 32-bit architecture by running the command "sudo dpkg --add-architecture i386" instead of installing libxml2-utils and jq.

* feat: Add i386 architecture and install libstdc++6

This commit adds the installation of libstdc++6:i386 package to support 32-bit applications. It also includes adding the i386 architecture to dpkg.

* feat: Update dependencies for LinuxGSM

Changed the dependency from libstdc++6:i386 to libgcc-s1:i386 in the update-check.yml file. This change was made to ensure compatibility with newer versions of LinuxGSM.

* feat: Add update and force-update server functionality

This commit adds the ability to check for updates and force updates on a server. The update-check.yml file has been modified to include new jobs that run the LGSM_GITHUBBRANCH command with specific arguments.

* feat: Add dependencies for server installation

This commit adds the necessary dependencies to install a game server. The `update-check.yml` file has been updated to include the installation of `bsdmainutils`, `libsdl2-2.0-0:i386`, `libtinfo5:i386`, and `steamcmd`.

* steamcmd only

* steamcmd

* test

* test

* refactor: improve random password generation in install_config.sh

The code change refactors the random password generation in the `install_config.sh` file. Instead of using `tr -dc A-Za-z0-9_ < /dev/urandom | head -c 8 | xargs`, it now uses `tr -dc 'A-Za-z0-9_' < /dev/urandom 2>/dev/null | head -c 8 | xargs`. This change improves the reliability and security of generating random passwords.

* refactor: remove redundant code and set default branch

The commit refactors the code by removing redundant code that sets the branch to "public" if no custom branch is specified. This change simplifies the logic and improves readability.

* test

* fix: fix steamcmd build version retrieval

The code changes in this commit fix an issue with retrieving the build version from SteamCMD. The previous implementation was not correctly capturing the buildid. This has been resolved by adding additional echo statements for debugging purposes.

* test

fix: remove unnecessary app_info_print command

The commit removes the unnecessary `app_info_print` command from the code. This command was not needed to check the buildid.

* fix: GitHub Actions test failure

The code change fixes a failing GitHub Actions test by running SteamCMD twice. The first run is to update the app info, and the second run retrieves the build ID for the specified branch.

* Add steam user and password secret for jk2

* refactor: update steamuser and steampass paths in jk2server config

The code changes refactor the paths for `steamuser` and `steampass` in the configuration file of the `jk2server`. The previous paths were incorrect, so they have been updated to point to the correct location.

* refactor: update steamuser and steampass insertion in LGSM configuration

The code changes refactor the way steamuser and steampass are inserted into the LGSM configuration file. Instead of hardcoding the values, they are now dynamically inserted using environment variables. This improves flexibility and security when setting up the server.

* refactor: simplify steamuser and steampass insertion in update-check.yml

The code changes remove unnecessary sed commands and replace them with a single echo command to insert the values of STEAMCMD_USER and STEAMCMD_PASS into the common.cfg file. This simplifies the code and improves readability.

* feat: update steamuser and steampass in common.cfg

The commit updates the code to properly insert the `steamuser` and `steampass` values in the `common.cfg` file. The previous code was not correctly formatting the values, which caused issues with server installation. This change ensures that the values are properly formatted using double quotes for `steamuser` and single quotes for `steampass`.
2023-09-07 23:12:53 +01:00
..
config-default/config-lgsm feat(inss): enable master server checking 2023-09-07 21:25:20 +01:00
data feat(ps): Renamed pstbs to ps 2023-09-06 19:27:05 +01:00
functions Fix(tmux): better tmux session handling for multiple instance on same server / user session (#3767) 2023-07-20 22:54:05 +01:00
modules feat(ci): game server update checker (#4298) 2023-09-07 23:12:53 +01:00