Browse Source

Merge branch 'develop' into repo-sync/master

pull/4904/head
Daniel Gibbs 1 month ago
committed by GitHub
parent
commit
35074bbf02
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 19
      .github/workflows/details-check-generate-matrix.sh
  2. 22
      .github/workflows/details-check.yml
  3. 2
      .github/workflows/git-sync.yml
  4. 2
      .github/workflows/lock.yml
  5. 5
      .github/workflows/serverlist-validate.yml
  6. 44
      .github/workflows/trigger-docker-build.yml
  7. 16
      .github/workflows/update-check.yml
  8. 2
      .github/workflows/update-copyright-years-in-license-file.yml
  9. 2
      .github/workflows/version-check.yml
  10. 189
      lgsm/config-default/config-lgsm/mcvserver/_default.cfg
  11. 4
      lgsm/data/almalinux-8.csv
  12. 4
      lgsm/data/almalinux-9.csv
  13. 4
      lgsm/data/centos-7.csv
  14. 4
      lgsm/data/centos-8.csv
  15. 4
      lgsm/data/centos-9.csv
  16. 2
      lgsm/data/debian-10.csv
  17. 2
      lgsm/data/debian-11.csv
  18. 2
      lgsm/data/debian-12.csv
  19. 6
      lgsm/data/debian-13.csv
  20. 2
      lgsm/data/debian-9.csv
  21. BIN
      lgsm/data/gameicons/mcv-icon.png
  22. BIN
      lgsm/data/gameicons/ps-icon.png
  23. BIN
      lgsm/data/gameicons/squad44-icon.png
  24. BIN
      lgsm/data/gameicons/tf2c-icon.png
  25. 4
      lgsm/data/rhel-7.csv
  26. 4
      lgsm/data/rhel-8.csv
  27. 4
      lgsm/data/rhel-9.csv
  28. 4
      lgsm/data/rocky-8.csv
  29. 4
      lgsm/data/rocky-9.csv
  30. 1
      lgsm/data/serverlist.csv
  31. 2
      lgsm/data/ubuntu-16.04.csv
  32. 2
      lgsm/data/ubuntu-18.04.csv
  33. 2
      lgsm/data/ubuntu-20.04.csv
  34. 2
      lgsm/data/ubuntu-22.04.csv
  35. 2
      lgsm/data/ubuntu-23.04.csv
  36. 2
      lgsm/data/ubuntu-23.10.csv
  37. 14
      lgsm/data/ubuntu-24.04.csv
  38. 141
      lgsm/data/ubuntu-26.04.csv
  39. 6
      lgsm/modules/check_deps.sh
  40. 25
      lgsm/modules/fix_steamcmd.sh
  41. 5
      lgsm/modules/install_config.sh

19
.github/workflows/details-check-generate-matrix.sh

@ -1,6 +1,7 @@
#!/bin/bash
curl "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${GITHUB_REF#refs/heads/}/lgsm/data/serverlist.csv" | grep -v '^[[:blank:]]*$' > serverlist.csv
ref="${LGSM_REF:-${GITHUB_REF#refs/heads/}}"
curl "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${ref}/lgsm/data/serverlist.csv" | grep -v '^[[:blank:]]*$' > serverlist.csv
echo -n "{" > "shortnamearray.json"
echo -n "\"include\":[" >> "shortnamearray.json"
@ -14,10 +15,26 @@ while read -r line; do
export gamename
distro=$(echo "$line" | awk -F, '{ print $4 }')
export distro
# Legacy servers that require older Ubuntu/Debian versions due to glibc compatibility
case "${shortname}" in
bfv|bf1942)
# Requires Ubuntu <= 22.04 or Debian <= 12 (glibc 2.31 compatible)
runner="ubuntu-22.04"
;;
btl|onset)
# Requires Ubuntu <= 20.04 or Debian <= 11 (glibc 2.31 compatible)
runner="ubuntu-20.04"
;;
*)
runner="ubuntu-latest"
;;
esac
{
echo -n "{";
echo -n "\"shortname\":";
echo -n "\"${shortname}\"";
echo -n ",\"runner\":";
echo -n "\"${runner}\"";
echo -n "},";
} >> "shortnamearray.json"
done < <(tail -n +2 serverlist.csv)

22
.github/workflows/details-check.yml

@ -17,11 +17,13 @@ jobs:
create-matrix:
if: github.repository_owner == 'GameServerManagers'
runs-on: ubuntu-latest
env:
LGSM_REF: ${{ github.event.pull_request.head.sha || github.ref_name }}
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Generate matrix with generate-matrix.sh
run: chmod +x .github/workflows/details-check-generate-matrix.sh; .github/workflows/details-check-generate-matrix.sh
@ -37,14 +39,16 @@ jobs:
if: github.repository_owner == 'GameServerManagers'
needs: create-matrix
continue-on-error: true
runs-on: ubuntu-latest
runs-on: ${{ matrix.runner }}
env:
LGSM_REF: ${{ github.event.pull_request.head.sha || github.ref_name }}
strategy:
matrix: ${{ fromJSON(needs.create-matrix.outputs.matrix) }}
steps:
- name: Download linuxgsm.sh
run: wget "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${GITHUB_REF#refs/heads/}/linuxgsm.sh"; chmod +x linuxgsm.sh
run: wget "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${LGSM_REF}/linuxgsm.sh"; chmod +x linuxgsm.sh
- name: Install dependencies
run: sudo apt-get install libxml2-utils jq
@ -53,10 +57,10 @@ jobs:
run: mkdir -p serverfiles
- name: Grab server
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./linuxgsm.sh ${{ matrix.shortname }}server
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./linuxgsm.sh ${{ matrix.shortname }}server
- name: Enable developer mode
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server developer
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server developer
- name: Generate servercfgname
id: sets-servercfgname
@ -73,7 +77,7 @@ jobs:
fi
- name: Pre-load LinuxGSM
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server details
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server details
- name: Display config
run: |
@ -87,10 +91,10 @@ jobs:
run: grep "startparameters" lgsm/config-default/config-lgsm/${{ matrix.shortname }}server/_default.cfg
- name: Details
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server details
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server details
- name: Detect details
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server parse-game-details
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server parse-game-details
- name: Query Raw
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server query-raw
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server query-raw

2
.github/workflows/git-sync.yml

@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: SSH Agent
uses: webfactory/ssh-agent@v0.9.0
uses: webfactory/ssh-agent@v0.10.0
with:
ssh-private-key: ${{ secrets.BITBUCKET_SECRET }}

2
.github/workflows/lock.yml

@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Lock Threads
uses: dessant/lock-threads@v5
uses: dessant/lock-threads@v6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
issue-comment: >

5
.github/workflows/serverlist-validate.yml

@ -6,13 +6,16 @@ on:
permissions:
contents: read
env:
datadir: lgsm/data
jobs:
serverlist-validate:
if: github.repository_owner == 'GameServerManagers'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Compare Versions
run: chmod +x .github/workflows/serverlist-validate.sh; .github/workflows/serverlist-validate.sh

44
.github/workflows/trigger-docker-build.yml

@ -15,12 +15,22 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Trigger Workflow and Wait (linuxgsm)
uses: convictional/[email protected]
with:
owner: GameServerManagers
repo: docker-linuxgsm
github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
workflow_file_name: action-docker-publish.yml
env:
GH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
run: |
before=$(date -u +%Y-%m-%dT%H:%M:%SZ)
gh workflow run action-docker-publish.yml --repo GameServerManagers/docker-linuxgsm
sleep 10
run_id=$(gh run list \
--workflow action-docker-publish.yml \
--repo GameServerManagers/docker-linuxgsm \
--created ">=${before}" \
--limit 1 \
--json databaseId \
--jq '.[0].databaseId')
gh run watch "${run_id}" \
--repo GameServerManagers/docker-linuxgsm \
--exit-status
trigger_build_docker-gameserver:
if: github.repository_owner == 'GameServerManagers'
@ -29,9 +39,19 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Trigger Workflow and Wait (gameserver)
uses: convictional/[email protected]
with:
owner: GameServerManagers
repo: docker-gameserver
github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
workflow_file_name: action-docker-publish.yml
env:
GH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
run: |
before=$(date -u +%Y-%m-%dT%H:%M:%SZ)
gh workflow run action-docker-publish.yml --repo GameServerManagers/docker-gameserver
sleep 10
run_id=$(gh run list \
--workflow action-docker-publish.yml \
--repo GameServerManagers/docker-gameserver \
--created ">=${before}" \
--limit 1 \
--json databaseId \
--jq '.[0].databaseId')
gh run watch "${run_id}" \
--repo GameServerManagers/docker-gameserver \
--exit-status

16
.github/workflows/update-check.yml

@ -16,6 +16,8 @@ jobs:
update-check:
if: github.repository_owner == 'GameServerManagers'
runs-on: ubuntu-latest
env:
LGSM_REF: ${{ github.event.pull_request.head.sha || github.ref_name }}
strategy:
fail-fast: false
@ -24,30 +26,30 @@ jobs:
steps:
- name: Download linuxgsm.sh
run: wget "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${GITHUB_REF#refs/heads/}/linuxgsm.sh"; chmod +x linuxgsm.sh
run: wget "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${LGSM_REF}/linuxgsm.sh"; chmod +x linuxgsm.sh
- name: Install dependencies
run: sudo dpkg --add-architecture i386; sudo apt-get update;
- name: Grab server
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./linuxgsm.sh ${{ matrix.shortname }}server
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./linuxgsm.sh ${{ matrix.shortname }}server
- name: Enable developer mode
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server developer
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server developer
- name: Insert steamuser
if: matrix.shortname == 'jk2'
run: echo -e "steamuser=\"${{ secrets.STEAMCMD_USER }}\"\nsteampass='${{ secrets.STEAMCMD_PASS }}'" > lgsm/config-lgsm/${{ matrix.shortname }}server/common.cfg
- name: Install server
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server auto-install
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server auto-install
- name: Check Update server
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server check-update
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server check-update
- name: Update server
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server update
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server update
- name: Force Update server
if: matrix.shortname == 'css'
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server force-update
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server force-update

2
.github/workflows/update-copyright-years-in-license-file.yml

@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Action Update License Year

2
.github/workflows/version-check.yml

@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Version Check
run: chmod +x .github/workflows/version-check.sh; .github/workflows/version-check.sh

189
lgsm/config-default/config-lgsm/mcvserver/_default.cfg

@ -0,0 +1,189 @@
##################################
######## Default Settings ########
##################################
# DO NOT EDIT, ANY CHANGES WILL BE OVERWRITTEN!
# Copy settings from here and use them in either:
# common.cfg - applies settings to every instance.
# [instance].cfg - applies settings to a specific instance.
#### Game Server Settings ####
game_type="0"
game_mode="0"
ip="0.0.0.0"
port="27015"
clientport="27005"
sourcetvport="27020"
steamport="26901"
defaultmap="mcv_siege"
maxplayers="32"
tickrate="64"
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-game vietnam -usercon -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers_override ${maxplayers} +game_type ${game_type} +game_mode ${game_mode} -nobreakpad"
#### LinuxGSM Settings ####
## LinuxGSM Stats
# Send useful stats to LinuxGSM developers.
# https://docs.linuxgsm.com/configuration/linuxgsm-stats
# (on|off)
stats="off"
## Notification Alerts
# (on|off)
# Display IP | https://docs.linuxgsm.com/alerts#display-ip
displayip=""
# More info | https://docs.linuxgsm.com/alerts#more-info
postalert="off"
# Alert on Start/Stop/Restart
statusalert="off"
# Discord Alerts | https://docs.linuxgsm.com/alerts/discord
discordalert="off"
discordwebhook="webhook"
# Email Alerts | https://docs.linuxgsm.com/alerts/email
emailalert="off"
email="[email protected]"
emailfrom=""
# Gotify Alerts | https://docs.linuxgsm.com/alerts/gotify
gotifyalert="off"
gotifytoken="token"
gotifywebhook="webhook"
# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt
iftttalert="off"
ifttttoken="accesstoken"
iftttevent="linuxgsm_alert"
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
channeltag=""
# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover
pushoveralert="off"
pushovertoken="accesstoken"
pushoveruserkey="userkey"
# Rocket.Chat Alerts | https://docs.linuxgsm.com/alerts/rocket.chat
rocketchatalert="off"
rocketchatwebhook="webhook"
# Slack Alerts | https://docs.linuxgsm.com/alerts/slack
slackalert="off"
slackwebhook="webhook"
# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
# You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
telegramapi="api.telegram.org"
telegramalert="off"
telegramtoken="accesstoken"
telegramchatid=""
curlcustomstring=""
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"
## Backup | https://docs.linuxgsm.com/commands/backup
maxbackups="4"
maxbackupdays="30"
stoponbackup="on"
## Logging | https://docs.linuxgsm.com/features/logging
consolelogging="on"
logdays="7"
## Monitor | https://docs.linuxgsm.com/commands/monitor
# Query delay time
querydelay="1"
## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
#### Advanced Settings ####
## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="1136190"
steamcmdforcewindows="no"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
# 4: quit 120s
# 5: stop
# 6: q
# 7: exit
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
# 11: end
stopmode="3"
## Query mode
# 1: session only
# 2: gamedig (gsquery fallback)
# 3: gamedig
# 4: gsquery
# 5: tcp
querymode="2"
querytype="protocol-valve"
## Console type
consoleverbose="yes"
consoleinteract="yes"
## Game Server Details
# Do not edit
gamename="Military Conflict: Vietnam"
engine="source"
glibc="2.15"
#### Directories ####
# Edit with care
## Game Server Directories
systemdir="${serverfiles}/vietnam"
executabledir="${serverfiles}"
executable="./srcds_run_x64"
servercfgdir="${systemdir}/cfg"
servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
backupdir="${lgsmdir}/backup"
## Logging Directories
[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
lgsmlog="${lgsmlogdir}/${selfname}-script.log"
consolelog="${consolelogdir}/${selfname}-console.log"
alertlog="${lgsmlogdir}/${selfname}-alert.log"
postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
## Log Parameters
logtimestamp="off"
logtimestampformat="%Y-%m-%d %H:%M:%S"

4
lgsm/data/almalinux-8.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,java-21-openjdk
mcb,libnsl
mcv
mh
mohaa,compat-libstdc++-33.i686
mta,ncurses-compat-libs,libxml2
@ -82,7 +83,6 @@ opfor
pc
pc2
pmc,java-21-openjdk
ps,GConf2
pvkii
pvr,libcxx
pw
@ -109,12 +109,14 @@ sm,telnet,expect
sof2
sol
squad
squad44
st,libxml2
stn
sven
terraria
tf
tf2,libcurl.i686
tf2c,libcurl.i686
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

4
lgsm/data/almalinux-9.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,java-21-openjdk
mcb,libnsl
mcv
mh
mohaa,compat-libstdc++-33.i686
mta,ncurses-compat-libs,libxml2
@ -82,7 +83,6 @@ opfor
pc
pc2
pmc,java-21-openjdk
ps,GConf2
pvkii
pvr,libcxx
pw
@ -109,12 +109,14 @@ sm,telnet,expect
sof2
sol
squad
squad44
st,libxml2
stn
sven
terraria
tf
tf2,libcurl.i686
tf2c,libcurl.i686
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

4
lgsm/data/centos-7.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,java-21-openjdk
mcb,libnsl
mcv
mh
mohaa,compat-libstdc++-33.i686
mta,ncurses-libs,libxml2
@ -82,7 +83,6 @@ opfor
pc
pc2
pmc,java-11-openjdk
ps,GConf2
pvkii
pvr,libcxx
pw
@ -109,12 +109,14 @@ sm,telnet,expect
sof2
sol
squad
squad44
st,libxml2
stn
sven
terraria
tf
tf2,libcurl.i686
tf2c,libcurl.i686
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

4
lgsm/data/centos-8.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,java-21-openjdk
mcb,libnsl
mcv
mh
mohaa,compat-libstdc++-33.i686
mta,ncurses-compat-libs,libxml2
@ -82,7 +83,6 @@ opfor
pc
pc2
pmc,java-17-openjdk
ps,GConf2
pvkii
pvr,libcxx
pw
@ -109,12 +109,14 @@ sm,telnet,expect
sof2
sol
squad
squad44
st,libxml2
stn
sven
terraria
tf
tf2,libcurl.i686
tf2c,libcurl.i686
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

4
lgsm/data/centos-9.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,java-17-openjdk
mcb,libnsl
mcv
mh
mohaa,compat-libstdc++-33.i686
mta,ncurses-compat-libs,libxml2
@ -82,7 +83,6 @@ opfor
pc
pc2
pmc,java-17-openjdk
ps,GConf2
pvkii
pvr,libcxx
pw
@ -109,12 +109,14 @@ sm,telnet,expect
sof2
sol
squad
squad44
st,libxml2
stn
sven
terraria
tf
tf2,libcurl.i686
tf2c,libcurl.i686
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

2
lgsm/data/debian-10.csv

@ -66,6 +66,7 @@ l4d
l4d2
mc,openjdk-11-jre
mcb
mcv
mh
mohaa,libstdc++5:i386
mta,libncursesw5,libxml2-utils
@ -115,6 +116,7 @@ sven,zlib1g:i386
terraria
tf
tf2,libcurl4-gnutls-dev:i386
tf2c,libcurl4-gnutls-dev:i386
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 4.

2
lgsm/data/debian-11.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,openjdk-17-jre
mcb
mcv
mh
mohaa,libstdc++5:i386
mta,libncursesw5,libxml2-utils
@ -115,6 +116,7 @@ sven,zlib1g:i386
terraria
tf
tf2,libcurl4-gnutls-dev:i386
tf2c,libcurl4-gnutls-dev:i386
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

2
lgsm/data/debian-12.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,openjdk-17-jre
mcb
mcv
mh
mohaa,libstdc++5:i386
mta,libncursesw5,libxml2-utils
@ -115,6 +116,7 @@ sven,libssl3:i386,zlib1g:i386
terraria
tf
tf2,libcurl4-gnutls-dev:i386
tf2c,libcurl4-gnutls-dev:i386
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

6
lgsm/data/debian-13.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,openjdk-25-jre
mcb
mcv
mh
mohaa,libstdc++5:i386
mta,libncursesw5,libxml2-utils
@ -115,6 +116,7 @@ sven,libssl3:i386,zlib1g:i386
terraria
tf
tf2,libcurl4-gnutls-dev:i386
tf2c,libcurl4-gnutls-dev:i386
tfc
ti
ts
@ -128,11 +130,11 @@ ut3
ut99
vh,libc6-dev,libatomic1,libpulse-dev
vints,dotnet-runtime-8.0
vpmc,openjdk-21-jre
vpmc,openjdk-25-jre
vs
wet
wf
wmc,openjdk21-jre
wmc,openjdk-25-jre
wurm,xvfb
xnt
zmr

Can't render this file because it has a wrong number of fields in line 2.

2
lgsm/data/debian-9.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,openjdk-8-jre
mcb
mcv
mh
mohaa,libstdc++5:i386
mta,libncursesw5,libxml2-utils
@ -115,6 +116,7 @@ sven,zlib1g:i386
terraria
tf
tf2,libcurl4-gnutls-dev:i386
tf2c,libcurl4-gnutls-dev:i386
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

BIN
lgsm/data/gameicons/mcv-icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
lgsm/data/gameicons/ps-icon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

BIN
lgsm/data/gameicons/squad44-icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
lgsm/data/gameicons/tf2c-icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

4
lgsm/data/rhel-7.csv

@ -68,6 +68,7 @@ l4d
l4d2
mc,java-11-openjdk
mcb,libnsl
mcv
mh
mohaa,compat-libstdc++-33.i686
mta,ncurses-libs,libxml2
@ -83,7 +84,6 @@ opfor
pc
pc2
pmc,java-11-openjdk
ps,GConf2
pvkii
pvr,libcxx
pz,java-11-openjdk rng-tools
@ -109,12 +109,14 @@ sm,telnet,expect
sof2
sol
squad
squad44
st,libxml2
stn
sven
terraria
tf
tf2,libcurl.i686
tf2c,libcurl.i686
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

4
lgsm/data/rhel-8.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,java-21-openjdk
mcb,libnsl
mcv
mh
mohaa,compat-libstdc++-33.i686
mta,ncurses-compat-libs,libxml2
@ -82,7 +83,6 @@ opfor
pc
pc2
pmc,java-21-openjdk
ps,GConf2
pvkii
pvr,libcxx
pw
@ -109,12 +109,14 @@ sm,telnet,expect
sof2
sol
squad
squad44
st,libxml2
stn
sven
terraria
tf
tf2,libcurl.i686
tf2c,libcurl.i686
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

4
lgsm/data/rhel-9.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,java-21-openjdk
mcb,libnsl
mcv
mh
mohaa,compat-libstdc++-33.i686
mta,ncurses-compat-libs,libxml2
@ -82,7 +83,6 @@ opfor
pc
pc2
pmc,java-21-openjdk
ps,GConf2
pvkii
pvr,libcxx
pw
@ -109,12 +109,14 @@ sm,telnet,expect
sof2
sol
squad
squad44
st,libxml2
stn
sven
terraria
tf
tf2,libcurl.i686
tf2c,libcurl.i686
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

4
lgsm/data/rocky-8.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,java-21-openjdk
mcb,libnsl
mcv
mh
mohaa,compat-libstdc++-33.i686
mta,ncurses-compat-libs,libxml2
@ -82,7 +83,6 @@ opfor
pc
pc2
pmc,java-21-openjdk
ps,GConf2
pvkii
pvr,libcxx
pw
@ -109,12 +109,14 @@ sm,telnet,expect
sof2
sol
squad
squad44
st,libxml2
stn
sven
terraria
tf
tf2,libcurl.i686
tf2c,libcurl.i686
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

4
lgsm/data/rocky-9.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,java-21-openjdk
mcb,libnsl
mcv
mh
mohaa,compat-libstdc++-33.i686
mta,ncurses-compat-libs,libxml2
@ -82,7 +83,6 @@ opfor
pc
pc2
pmc,java-21-openjdk
ps,GConf2
pvkii
pvr,libcxx
pw
@ -109,12 +109,14 @@ sm,telnet,expect
sof2
sol
squad
squad44
st,libxml2
stn
sven
terraria
tf
tf2,libcurl.i686
tf2c,libcurl.i686
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

1
lgsm/data/serverlist.csv

@ -66,6 +66,7 @@ l4d,l4dserver,Left 4 Dead,ubuntu-24.04
l4d2,l4d2server,Left 4 Dead 2,ubuntu-24.04
mc,mcserver,Minecraft,ubuntu-24.04
mcb,mcbserver,Minecraft Bedrock,ubuntu-24.04
mcv,mcvserver,Military Conflict: Vietnam,ubuntu-24.04
mh,mhserver,MORDHAU,ubuntu-24.04
mohaa,mohaaserver,Medal of Honor: Allied Assault,ubuntu-24.04
mta,mtaserver,Multi Theft Auto,ubuntu-24.04

Can't render this file because it has a wrong number of fields in line 47.

2
lgsm/data/ubuntu-16.04.csv

@ -68,6 +68,7 @@ l4d
l4d2
mc,openjdk-8-jre
mcb
mcv
mh
mohaa,libstdc++5:i386
mta
@ -115,6 +116,7 @@ sven,zlib1g:i386
terraria
tf
tf2,libcurl4-gnutls-dev:i386
tf2c,libcurl4-gnutls-dev:i386
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

2
lgsm/data/ubuntu-18.04.csv

@ -68,6 +68,7 @@ l4d
l4d2
mc,openjdk-11-jre
mcb
mcv
mh
mohaa,libstdc++5:i386
mta,libncursesw5,libxml2-utils
@ -115,6 +116,7 @@ sven,zlib1g:i386
terraria
tf
tf2,libcurl4-gnutls-dev:i386
tf2c,libcurl4-gnutls-dev:i386
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

2
lgsm/data/ubuntu-20.04.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,openjdk-21-jre
mcb
mcv
mh
mohaa,libstdc++5:i386
mta,libncursesw5,libxml2-utils
@ -115,6 +116,7 @@ sven,zlib1g:i386
terraria
tf
tf2,libcurl4-gnutls-dev:i386
tf2c,libcurl4-gnutls-dev:i386
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

2
lgsm/data/ubuntu-22.04.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,openjdk-21-jre
mcb
mcv
mh
mohaa,libstdc++5:i386
mta,libncursesw5,libxml2-utils
@ -115,6 +116,7 @@ sven,zlib1g:i386
terraria
tf
tf2,libcurl4-gnutls-dev:i386
tf2c,libcurl4-gnutls-dev:i386
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

2
lgsm/data/ubuntu-23.04.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,openjdk-21-jre
mcb
mcv
mh
mohaa,libstdc++5:i386
mta,libncursesw5,libxml2-utils
@ -115,6 +116,7 @@ sven,zlib1g:i386
terraria
tf
tf2,libcurl4-gnutls-dev:i386
tf2c,libcurl4-gnutls-dev:i386
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

2
lgsm/data/ubuntu-23.10.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,openjdk-21-jre
mcb
mcv
mh
mohaa,libstdc++5:i386
mta,libncursesw5,libxml2-utils
@ -115,6 +116,7 @@ sven,zlib1g:i386
terraria
tf
tf2,libcurl4-gnutls-dev:i386
tf2c,libcurl4-gnutls-dev:i386
tfc
ti
ts

Can't render this file because it has a wrong number of fields in line 2.

14
lgsm/data/ubuntu-24.04.csv

@ -67,6 +67,7 @@ l4d
l4d2
mc,openjdk-25-jre
mcb
mcv
mh
mohaa,libstdc++5:i386
mta,libxml2-utils
@ -81,12 +82,11 @@ onset,libmariadb-dev
opfor
pc
pc2
pmc,openjdk-21-jre
ps
pmc,openjdk-25-jre
pvkii
pvr,libc++1
pw
pz,openjdk-21-jre,rng-tools5
pz,openjdk-25-jre,rng-tools5
q2
q3
q4
@ -96,7 +96,7 @@ ricochet
ro
rtcw
rust,lib32z1
rw,openjdk-21-jre
rw,openjdk-25-jre
samp
sb
sbots
@ -109,12 +109,14 @@ sm,telnet,expect
sof2
sol
squad
squad44
st,libxml2-utils
stn
sven,zlib1g:i386
terraria
tf
tf2,libcurl4-gnutls-dev:i386
tf2c,libcurl4-gnutls-dev:i386
tfc
ti
ts
@ -128,11 +130,11 @@ ut3
ut99
vh,libc6-dev,libatomic1,libpulse-dev
vints,dotnet-runtime-8.0
vpmc,openjdk-21-jre
vpmc,openjdk-25-jre
vs
wet
wf
wmc,openjdk-21-jre
wmc,openjdk-25-jre
wurm,xvfb
xnt
zmr

Can't render this file because it has a wrong number of fields in line 2.

141
lgsm/data/ubuntu-26.04.csv

@ -0,0 +1,141 @@
all,bc,binutils,bsdmainutils,bzip2,ca-certificates,cpio,curl,distro-info,file,gzip,hostname,jq,lib32gcc-s1,lib32stdc++6,netcat-openbsd,pigz,python3,tar,tmux,unzip,util-linux,uuid-runtime,wget,xz-utils
steamcmd,lib32gcc-s1,lib32stdc++6,libsdl2-2.0-0:i386,steamcmd
ac
ahl
ahl2
ark
arma3
armar,libcurl4t64
ats
av
bb
bb2,libcurl4-gnutls-dev:i386
bd
bf1942
bfv,libstdc++5:i386
bmdm
bo
bs
bt,libicu-dev,dos2unix,libxml2-utils
btl
cc
ck,xvfb,libxi6
cmw
cod,libstdc++5:i386
cod2,libstdc++5:i386
cod4
coduo,libstdc++5:i386
codwaw
col
cs
cs2
cscz
csgo
css
ct
dab
dayz
dmc
dod
dodr
dods
doi
dst,libcurl4-gnutls-dev:i386
dys
eco,libgdiplus
em
etl
ets2
fctr
fof
gmod
hcu
hl2dm
hldm
hldms
hw,lib32z1
hz
ins
inss
ios
jc2
jc3
jk2
kf
kf2
l4d
l4d2
mc,openjdk-25-jre
mcb
mcv
mh
mohaa,libstdc++5:i386
mta,libxml2-utils
nd
nec
nmrih
ns
ns2,speex
ns2c,speex:i386
ohd
onset,libmariadb-dev
opfor
pc
pc2
pmc,openjdk-25-jre
pvkii
pvr,libc++1
pw
pz,openjdk-25-jre,rng-tools5
q2
q3
q4
ql
qw
ricochet
ro
rtcw
rust,lib32z1
rw,openjdk-25-jre
samp
sb
sbots
scpsl,mono-complete
scpslsm,mono-complete
sdtd,telnet,expect,libxml2-utils
sf
sfc
sm,telnet,expect
sof2
sol
squad
squad44
st,libxml2-utils
stn
sven,zlib1g:i386
terraria
tf
tf2,libcurl4-gnutls-dev:i386
tf2c,libcurl4-gnutls-dev:i386
tfc
ti
ts
ts3
tu
tw
unt
ut
ut2k4
ut3
ut99
vh,libc6-dev,libatomic1,libpulse-dev
vints,dotnet-runtime-8.0
vpmc,openjdk-25-jre
vs
wet
wf
wmc,openjdk-25-jre
wurm,xvfb
xnt
zmr
zps
Can't render this file because it has a wrong number of fields in line 2.

6
lgsm/modules/check_deps.sh

@ -362,7 +362,7 @@ if [ -n "${distrosupport}" ]; then
fi
# These titles are only supported up to Ubuntu 22.04 (Jammy) and Debian 12 (Bookworm).
if { [ "${distroid}" == "ubuntu" ] && dpkg --compare-versions "${distroversion}" "gt" "22.04"; } || { [ "${distroidlike}" == "debian" ] && dpkg --compare-versions "${distroversion}" "gt" "12"; }; then
if { [ "${distroid}" == "ubuntu" ] && dpkg --compare-versions "${distroversion}" "gt" "22.04"; } || { [ "${distroid}" == "debian" ] && dpkg --compare-versions "${distroversion}" "gt" "12"; }; then
if [ "${shortname}" == "bf1942" ] || [ "${shortname}" == "bfv" ]; then
fn_print_failure_nl "${gamename} is not supported on ${distroname} (requires Ubuntu <= 22.04 or Debian <= 12)."
fn_script_log_fail "${gamename} is not supported on ${distroname}."
@ -370,8 +370,8 @@ if { [ "${distroid}" == "ubuntu" ] && dpkg --compare-versions "${distroversion}"
fi
fi
# These titles are only supported up to Ubuntu 20.04 and Debian 11 (and Debian-like derivatives).
if { [ "${distroid}" == "ubuntu" ] && dpkg --compare-versions "${distroversion}" "gt" "20.04"; } || { [ "${distroidlike}" == "debian" ] && dpkg --compare-versions "${distroversion}" "gt" "11"; }; then
# These titles are only supported up to Ubuntu 20.04 and Debian 11.
if { [ "${distroid}" == "ubuntu" ] && dpkg --compare-versions "${distroversion}" "gt" "20.04"; } || { [ "${distroid}" == "debian" ] && dpkg --compare-versions "${distroversion}" "gt" "11"; }; then
if [ "${shortname}" == "onset" ] || [ "${shortname}" == "btl" ]; then
fn_print_failure_nl "${gamename} is not supported on ${distroname} (requires Ubuntu <= 20.04 or Debian <= 11)."
fn_script_log_fail "${gamename} is not supported on ${distroname}."

25
lgsm/modules/fix_steamcmd.sh

@ -113,6 +113,31 @@ if [ ! -f "${steamclientsdk32}" ]; then
fn_fix_msg_end
fi
# Helps fix: WARNING: Failed to load 32-bit libtinfo.so.5 or libncurses.so.5.
# On distros that ship libtinfo.so.6 (e.g. Ubuntu 22.04+, Debian 12+) but not
# libtinfo.so.5, SteamCMD prints this warning and loses readline support.
# Creating a symlink from .so.5 -> .so.6 resolves the warning without root.
for libtinfo32dir in "${HOME}/.steam/steamcmd" "${steamcmddir}" "${HOME}/.local/share/Steam/steamcmd"; do
if [ -d "${libtinfo32dir}" ]; then
libtinfo32so="${libtinfo32dir}/libtinfo.so.5"
# Also repair broken symlinks (! -e catches missing target, -L catches dangling link)
if [ ! -e "${libtinfo32so}" ]; then
# Find the .so.6 in the system 32-bit lib paths
for libtinfo32so6 in /lib/i386-linux-gnu/libtinfo.so.6 /usr/lib/i386-linux-gnu/libtinfo.so.6 /lib32/libtinfo.so.6; do
if [ -f "${libtinfo32so6}" ]; then
fixname="libtinfo.so.5 32-bit symlink"
fn_fix_msg_start
mkdir -p "${libtinfo32dir}"
ln -sf "${libtinfo32so6}" "${libtinfo32so}"
exitcode=$?
fn_fix_msg_end
break
fi
done
fi
fi
done
# steamclient.so fixes
if [ "${shortname}" == "bo" ]; then
fn_fix_steamclient_so "32" "${serverfiles}/BODS_Data/Plugins/x86"

5
lgsm/modules/install_config.sh

@ -565,6 +565,11 @@ elif [ "${shortname}" == "mcb" ]; then
fn_default_config_remote
fn_set_config_vars
fn_list_config_locations
elif [ "${shortname}" == "mcv" ]; then
array_configs+=(server.cfg)
fn_default_config_remote
fn_set_config_vars
fn_list_config_locations
elif [ "${shortname}" == "mohaa" ]; then
array_configs+=(server.cfg)
fn_default_config_remote

Loading…
Cancel
Save