Daniel Gibbs
4 years ago
No known key found for this signature in database
GPG Key ID: 5D5AB867A27738EC
20 changed files with
95 additions and
62 deletions
-
.github/FUNDING.yml
-
.github/labeler.yml
-
.github/pr-labeler.yml
-
.github/workflows/label-sponsors.yml
-
.github/workflows/labeler.yml
-
.github/workflows/pr-labeler.yml
-
lgsm/config-default/config-lgsm/loserver/_default.cfg
-
lgsm/data/ubuntu-21.04.csv
-
lgsm/functions/alert_telegram.sh
-
lgsm/functions/check_deps.sh
-
lgsm/functions/core_functions.sh
-
lgsm/functions/info_distro.sh
-
lgsm/functions/info_game.sh
-
lgsm/functions/info_messages.sh
-
lgsm/functions/install_server_files.sh
-
linuxgsm.sh
-
tests/tests_fctrserver.sh
-
tests/tests_jc2server.sh
-
tests/tests_mcserver.sh
-
tests/tests_ts3server.sh
|
|
@ -9,4 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl |
|
|
|
liberapay: # Replace with a single Liberapay username |
|
|
|
issuehunt: # Replace with a single IssueHunt username |
|
|
|
otechie: # Replace with a single Otechie username |
|
|
|
custom: [paypal.me/dgibbs64] # Replace with a single custom sponsorship URL |
|
|
|
custom: # Replace with a single custom sponsorship URL |
|
|
|
|
|
@ -1,83 +1,98 @@ |
|
|
|
# Add/remove 'critical' label if issue contains the words 'urgent' or 'critical' |
|
|
|
# Type |
|
|
|
"type: game server request": |
|
|
|
- '(Server Request)' |
|
|
|
- '/(Server Request)/i' |
|
|
|
"type: bug": |
|
|
|
- '(bug)' |
|
|
|
- '/(bug)/i' |
|
|
|
"type: feature request": |
|
|
|
- '(feature)' |
|
|
|
- '/(feature)/i' |
|
|
|
# Commands |
|
|
|
"command: backup": |
|
|
|
- '(backup)' |
|
|
|
- '/(backup)/i' |
|
|
|
"command: console": |
|
|
|
- '(console|tmux)' |
|
|
|
- '/(console|tmux)/i' |
|
|
|
"command: debug": |
|
|
|
- '(debug)' |
|
|
|
- '/(debug)/i' |
|
|
|
"command: details": |
|
|
|
- '(details)' |
|
|
|
- '/(details)/i' |
|
|
|
"command: fast-dl": |
|
|
|
- '(fast-dl|fastdl)' |
|
|
|
- '/(fast-dl|fastdl)/i' |
|
|
|
"command: install": |
|
|
|
- '(install)' |
|
|
|
- '/(install)/i' |
|
|
|
"command: mods": |
|
|
|
- '(mods)' |
|
|
|
- '/(mods)/i' |
|
|
|
"command: monitor": |
|
|
|
- '(monitor)' |
|
|
|
- '/(monitor)/i' |
|
|
|
"command: post-details": |
|
|
|
- '(post-details)' |
|
|
|
- '/(post-details)/i' |
|
|
|
"command: restart": |
|
|
|
- '(restart)' |
|
|
|
- '/(restart)/i' |
|
|
|
"command: send": |
|
|
|
- '(send)' |
|
|
|
- '/(send)/i' |
|
|
|
"command: skeleton": |
|
|
|
- '(skeleton)' |
|
|
|
- '/(skeleton)/i' |
|
|
|
"command: start": |
|
|
|
- '(start)' |
|
|
|
- '/(start)/i' |
|
|
|
"command: stop": |
|
|
|
- '(stop)' |
|
|
|
- '/(stop)/i' |
|
|
|
"command: update-lgsm": |
|
|
|
- '(update-lgsm)' |
|
|
|
- '/(update-lgsm)/i' |
|
|
|
"command: update": |
|
|
|
- '(update)' |
|
|
|
- '/(update)/i' |
|
|
|
"command: validate": |
|
|
|
- '(validate)' |
|
|
|
- '/(validate)/i' |
|
|
|
"command: wipe": |
|
|
|
- '(wipe)' |
|
|
|
- '/(wipe)/i' |
|
|
|
# Distros |
|
|
|
"distro: AlmaLinux": |
|
|
|
- '(Alma)' |
|
|
|
- '/(Alma)/i' |
|
|
|
"distro: Arch Linux": |
|
|
|
- '(Arch)' |
|
|
|
- '/(Arch)/i' |
|
|
|
"distro: CentOS": |
|
|
|
- '(CentOS)' |
|
|
|
- '/(CentOS)/i' |
|
|
|
"distro: Debian": |
|
|
|
- '(Debian)' |
|
|
|
- '/(Debian)/i' |
|
|
|
"distro: Fedora": |
|
|
|
- '(Fedora)' |
|
|
|
- '/(Fedora)/i' |
|
|
|
"distro: openSUSE": |
|
|
|
- '(openSUSE)' |
|
|
|
- '/(openSUSE|suse)/i' |
|
|
|
"distro: Rocky Linux": |
|
|
|
- '(Rocky)' |
|
|
|
- '/(Rocky)/i' |
|
|
|
"distro: Slackware": |
|
|
|
- '(Slackware)' |
|
|
|
- '/(Slackware)/i' |
|
|
|
"distro: Ubuntu": |
|
|
|
- '(Ubuntu)' |
|
|
|
- '/(Ubuntu)/i' |
|
|
|
# Info |
|
|
|
"info: alerts": |
|
|
|
- '(alert)' |
|
|
|
- '/(alert)/i' |
|
|
|
"info: dependency": |
|
|
|
- '(dependency|deps)' |
|
|
|
- '/(dependency|deps)/i' |
|
|
|
"info: docker": |
|
|
|
- '(docker)' |
|
|
|
- '/(docker)/i' |
|
|
|
"info: docs": |
|
|
|
- '(documentation|docs)' |
|
|
|
- '/(documentation|docs)/i' |
|
|
|
"info: email": |
|
|
|
- '(postfix|sendmail|exim|smtp)' |
|
|
|
- '/(postfix|sendmail|exim|smtp)/i' |
|
|
|
"info: query": |
|
|
|
- '/(gamedig|gsquery)/i' |
|
|
|
"info: steamcmd": |
|
|
|
- '(steamcmd)' |
|
|
|
- '/(steamcmd)/i' |
|
|
|
"info: systemd": |
|
|
|
- '(systemd)' |
|
|
|
- '/(systemd)/i' |
|
|
|
"info: tmux": |
|
|
|
- '(tmux)' |
|
|
|
- '/(tmux)/i' |
|
|
|
"info: website": |
|
|
|
- '(website)' |
|
|
|
- '/(website)/i' |
|
|
|
# Games |
|
|
|
"game: Ark: Survival Evolved": |
|
|
|
- '/(Ark: Survival Evolved|Ark)/i' |
|
|
|
"game: ARMA 3": |
|
|
|
- '/(ARMA 3)/i' |
|
|
|
"game: Assetto Corsa": |
|
|
|
- '/(Assetto Corsa)/i' |
|
|
|
"game: Avorion": |
|
|
|
- '/(Avorion)/i' |
|
|
|
"game: Ballistic Overkill": |
|
|
|
- '/(Ballistic Overkill)/i' |
|
|
|
"game: Barotrauma": |
|
|
|
- '/(Barotrauma)/i' |
|
|
|
|
|
@ -0,0 +1,3 @@ |
|
|
|
feature: ['feature/*', 'feat/*'] |
|
|
|
hotfix: hotfix/* |
|
|
|
release: release/* |
|
|
@ -1,9 +1,9 @@ |
|
|
|
name: Label sponsors |
|
|
|
on: |
|
|
|
pull_request: |
|
|
|
types: [opened, edited] |
|
|
|
types: [opened] |
|
|
|
issues: |
|
|
|
types: [opened, edited] |
|
|
|
types: [opened] |
|
|
|
jobs: |
|
|
|
build: |
|
|
|
name: is-sponsor-label |
|
|
|
|
|
@ -7,7 +7,9 @@ jobs: |
|
|
|
triage: |
|
|
|
runs-on: ubuntu-latest |
|
|
|
steps: |
|
|
|
- uses: github/issue-labeler@v2.0 |
|
|
|
- uses: github/issue-labeler@v2.4 |
|
|
|
with: |
|
|
|
repo-token: "${{ secrets.GITHUB_TOKEN }}" |
|
|
|
configuration-path: .github/labeler.yml |
|
|
|
not-before: |
|
|
|
enable-versioned-regex: 0 |
|
|
|
|
|
@ -0,0 +1,14 @@ |
|
|
|
name: PR Labeler |
|
|
|
on: |
|
|
|
pull_request: |
|
|
|
types: [opened, edited, closed] |
|
|
|
|
|
|
|
jobs: |
|
|
|
pr-labeler: |
|
|
|
runs-on: ubuntu-latest |
|
|
|
steps: |
|
|
|
- uses: TimonVS/pr-labeler-action@v3 |
|
|
|
with: |
|
|
|
configuration-path: .github/pr-labeler.yml # optional, .github/pr-labeler.yml is the default value |
|
|
|
env: |
|
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
|
@ -8,10 +8,6 @@ |
|
|
|
|
|
|
|
#### Game Server Settings #### |
|
|
|
|
|
|
|
## SteamCMD Login | https://docs.linuxgsm.com/steamcmd#steamcmd-login |
|
|
|
steamuser="username" |
|
|
|
steampass='password' |
|
|
|
|
|
|
|
## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters |
|
|
|
## https://docs.linuxgsm.com/game-servers/last-oasis |
|
|
|
servername="${selfname}" |
|
|
|
|
|
@ -99,7 +99,7 @@ squad |
|
|
|
st |
|
|
|
stn |
|
|
|
sven,libssl1.1:i386,zlib1g:i386 |
|
|
|
terraria |
|
|
|
terraria,libsdl |
|
|
|
tf2,libcurl4-gnutls-dev:i386 |
|
|
|
tfc |
|
|
|
ts |
|
|
|
Can't render this file because it has a wrong number of fields in line 2.
|
|
|
@ -12,7 +12,8 @@ json=$(cat <<EOF |
|
|
|
"chat_id": "${telegramchatid}", |
|
|
|
"parse_mode": "HTML", |
|
|
|
"text": "<b>${alertemoji} ${alertsubject} ${alertemoji}</b>\n\n<b>Server name</b>\n${servername}\n\n<b>Message</b>\n${alertbody}\n\n<b>Game</b>\n${gamename}\n\n<b>Server IP</b>\n<a href='https://www.gametracker.com/server_info/${alertip}:${port}'>${alertip}:${port}</a>\n\n<b>Hostname</b>\n${HOSTNAME}\n\n<b>More info</b>\n<a href='${alerturl}'>${alerturl}</a>", |
|
|
|
"disable_web_page_preview": "yes", |
|
|
|
"disable_web_page_preview": "yes" |
|
|
|
} |
|
|
|
EOF |
|
|
|
) |
|
|
|
|
|
|
|
|
|
@ -223,9 +223,9 @@ fn_check_loop(){ |
|
|
|
# Checks if dependency is installed or not. |
|
|
|
fn_deps_detector(){ |
|
|
|
## Check. |
|
|
|
# SteamCMD: Will be removed from required array if non-free repo is not available. |
|
|
|
# SteamCMD: Will be removed from required array if no appid is present or non-free repo is not available. |
|
|
|
# This will cause SteamCMD to be installed using tar. |
|
|
|
if [ "${deptocheck}" == "steamcmd" ]&&[ "${distroid}" == "debian" ]&& ! grep -qE "^deb .*non-free" /etc/apt/sources.list; then |
|
|
|
if [ -z "${appid}" ]||[ "${deptocheck}" == "steamcmd" ]&&[ "${distroid}" == "debian" ]&& ! grep -qE "^deb .*non-free" /etc/apt/sources.list; then |
|
|
|
array_deps_required=( "${array_deps_required[@]/steamcmd}" ) |
|
|
|
steamcmdstatus=1 |
|
|
|
# Java: Added for users using Oracle JRE to bypass check. |
|
|
@ -313,7 +313,7 @@ fi |
|
|
|
info_distro.sh |
|
|
|
|
|
|
|
if [ ! -f "${tmpdir}/dependency-no-check.tmp" ]&&[ ! -f "${datadir}/${distroid}-${distroversioncsv}.csv" ]; then |
|
|
|
# Check that the disto dependency csv file exists. |
|
|
|
# Check that the distro dependency csv file exists. |
|
|
|
fn_check_file_github "lgsm/data" "${distroid}-${distroversioncsv}.csv" |
|
|
|
if [ -n "${checkflag}" ]&&[ "${checkflag}" == "0" ]; then |
|
|
|
fn_fetch_file_github "lgsm/data" "${distroid}-${distroversioncsv}.csv" "lgsm/data" "chmodx" "norun" "noforce" "nohash" |
|
|
|
|
|
@ -8,7 +8,7 @@ |
|
|
|
|
|
|
|
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" |
|
|
|
|
|
|
|
modulesversion="v21.3.1" |
|
|
|
modulesversion="v21.3.2" |
|
|
|
|
|
|
|
# Core |
|
|
|
|
|
|
|
|
|
@ -36,7 +36,7 @@ for distro_info in "${distro_info_array[@]}"; do |
|
|
|
distroname="$(grep "PRETTY_NAME" /etc/os-release | awk -F\= '{gsub(/"/,"",$2);print $2}')" |
|
|
|
distroversion="$(grep "VERSION_ID" /etc/os-release | awk -F\= '{gsub(/"/,"",$2);print $2}')" |
|
|
|
# Special var for rhel like distros to removed point in number e.g 8.4 to just 8. |
|
|
|
distroversionrh="$(printf "%.0f\n" "${distroversion}")" |
|
|
|
distroversionrh="$(sed -nr 's/^VERSION_ID="([0-9]*).+?"/\1/p' /etc/os-release)" |
|
|
|
distroid="$(grep "ID=" /etc/os-release | grep -v _ID | awk -F\= '{gsub(/"/,"",$2);print $2}')" |
|
|
|
distroidlike="$(grep "ID_LIKE=" /etc/os-release | grep -v _ID | awk -F\= '{gsub(/"/,"",$2);print $2}')" |
|
|
|
distrocodename="$(grep "VERSION_CODENAME" /etc/os-release | awk -F\= '{gsub(/"/,"",$2);print $2}')" |
|
|
|
|
|
@ -1077,7 +1077,9 @@ fn_info_game_pstbs(){ |
|
|
|
|
|
|
|
# Parameters |
|
|
|
port=${port:-"0"} |
|
|
|
queryport=${port:-"0"} |
|
|
|
if [ -z "${queryport}" ]; then |
|
|
|
queryport=${port:-"0"} |
|
|
|
fi |
|
|
|
rconport=${rconport:-"0"} |
|
|
|
randommap=${randommap:-"NOT SET"} |
|
|
|
maxplayers=${maxplayers:-"0"} |
|
|
|
|
|
@ -1366,7 +1366,7 @@ fn_info_message_source(){ |
|
|
|
fn_port "RCON" rconport tcp |
|
|
|
fn_port "SourceTV" sourcetvport udp |
|
|
|
# Will not show if unaviable |
|
|
|
if [ "${steamport}" == "0" ]||[ -z "${steamport}" ]; then |
|
|
|
if [ "${steamport}" == "0" ]||[ -v "${steamport}" ]; then |
|
|
|
fn_port "Steam" steamport udp |
|
|
|
fi |
|
|
|
fn_port "Client" clientport udp |
|
|
|
|
|
@ -27,7 +27,7 @@ fn_install_server_files(){ |
|
|
|
elif [ "${shortname}" == "codwaw" ]; then |
|
|
|
remote_fileurl="http://linuxgsm.download/CallOfDutyWorldAtWar/codwaw-lnxded-1.7-full.tar.xz"; local_filedir="${tmpdir}"; local_filename="codwaw-lnxded-1.7-full.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="2c6be1bb66ea631b9b2e7ae6216c6680" |
|
|
|
elif [ "${shortname}" == "etl" ]; then |
|
|
|
remote_fileurl="http://linuxgsm.download/WolfensteinEnemyTerritory/etlegacy-v2.77.1-i386-et-260b.tar.xz"; local_filedir="${tmpdir}"; local_filename="etlegacy-v2.77.1-i386-et-260b.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="cc307a9232abd3999be499b42d8e4ea8" |
|
|
|
remote_fileurl="http://linuxgsm.download/WolfensteinEnemyTerritory/etlegacy-v2.78-i386-et-260b.tar.xz"; local_filedir="${tmpdir}"; local_filename="etlegacy-v2.78-i386-et-260b.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="501e442fdac2eeab5e7f51e5b5c27280" |
|
|
|
elif [ "${shortname}" == "mohaa" ]; then |
|
|
|
remote_fileurl="http://linuxgsm.download/MedalofHonorAlliedAssault/moh_revival_v1.12_RC3.5.1.tar.xz"; local_filedir="${tmpdir}"; local_filename="moh_revival_v1.12_RC3.5.1.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="7c664538999252eeaf2b6d9949416480" |
|
|
|
elif [ "${shortname}" == "ns" ]; then |
|
|
|
|
|
@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then |
|
|
|
set -x |
|
|
|
fi |
|
|
|
|
|
|
|
version="v21.3.1" |
|
|
|
version="v21.3.2" |
|
|
|
shortname="core" |
|
|
|
gameservername="core" |
|
|
|
commandname="CORE" |
|
|
|
|
|
@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then |
|
|
|
set -x |
|
|
|
fi |
|
|
|
|
|
|
|
version="v21.3.1" |
|
|
|
version="v21.3.2" |
|
|
|
shortname="fctr" |
|
|
|
gameservername="fctrserver" |
|
|
|
commandname="CORE" |
|
|
|
|
|
@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then |
|
|
|
set -x |
|
|
|
fi |
|
|
|
|
|
|
|
version="v21.3.1" |
|
|
|
version="v21.3.2" |
|
|
|
shortname="jc2" |
|
|
|
gameservername="jc2server" |
|
|
|
commandname="CORE" |
|
|
|
|
|
@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then |
|
|
|
set -x |
|
|
|
fi |
|
|
|
|
|
|
|
version="v21.3.1" |
|
|
|
version="v21.3.2" |
|
|
|
shortname="mc" |
|
|
|
gameservername="mcserver" |
|
|
|
commandname="CORE" |
|
|
|
|
|
@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then |
|
|
|
set -x |
|
|
|
fi |
|
|
|
|
|
|
|
version="v21.3.1" |
|
|
|
version="v21.3.2" |
|
|
|
shortname="ts3" |
|
|
|
gameservername="ts3server" |
|
|
|
commandname="CORE" |
|
|
|