ソースを参照

Merge branch 'release/v24.1.0'

Daniel Gibbs 2 年 前
コミット
c3c994cef6
45 ファイル変更272 行追加48 行削除
  1. 4 2
      .github/labeler.yml
  2. 1 0
      .github/workflows/add-to-project.yml
  3. 2 0
      .github/workflows/details-check.yml
  4. 1 0
      .github/workflows/git-sync.yml
  5. 2 0
      .github/workflows/labeler.yml
  6. 1 0
      .github/workflows/lock.yml
  7. 1 0
      .github/workflows/potential-duplicates.yml
  8. 1 0
      .github/workflows/serverlist-validate.yml
  9. 2 0
      .github/workflows/trigger-docker-build.yml
  10. 1 0
      .github/workflows/update-check.yml
  11. 1 0
      .github/workflows/update-copyright-years-in-license-file.yml
  12. 1 0
      .github/workflows/version-check.yml
  13. 1 1
      LICENSE.md
  14. 2 30
      lgsm/config-default/config-lgsm/cs2server/_default.cfg
  15. 185 0
      lgsm/config-default/config-lgsm/pwserver/_default.cfg
  16. 2 1
      lgsm/config-default/config-lgsm/rustserver/_default.cfg
  17. 1 0
      lgsm/data/almalinux-8.csv
  18. 1 0
      lgsm/data/almalinux-9.csv
  19. 1 0
      lgsm/data/centos-7.csv
  20. 1 0
      lgsm/data/centos-8.csv
  21. 1 0
      lgsm/data/centos-9.csv
  22. 3 2
      lgsm/data/debian-10.csv
  23. 1 0
      lgsm/data/debian-11.csv
  24. 1 0
      lgsm/data/debian-12.csv
  25. 1 0
      lgsm/data/debian-9.csv
  26. BIN
      lgsm/data/gameicons/pw-icon.png
  27. 1 0
      lgsm/data/rhel-7.csv
  28. 1 0
      lgsm/data/rhel-8.csv
  29. 1 0
      lgsm/data/rhel-9.csv
  30. 1 0
      lgsm/data/rocky-8.csv
  31. 1 0
      lgsm/data/rocky-9.csv
  32. 1 0
      lgsm/data/serverlist.csv
  33. 1 0
      lgsm/data/ubuntu-16.04.csv
  34. 1 0
      lgsm/data/ubuntu-18.04.csv
  35. 1 0
      lgsm/data/ubuntu-20.04.csv
  36. 1 0
      lgsm/data/ubuntu-22.04.csv
  37. 1 0
      lgsm/data/ubuntu-23.04.csv
  38. 1 0
      lgsm/data/ubuntu-23.10.csv
  39. 1 1
      lgsm/modules/core_modules.sh
  40. 17 5
      lgsm/modules/info_game.sh
  41. 12 1
      lgsm/modules/info_messages.sh
  42. 6 0
      lgsm/modules/install_config.sh
  43. 2 2
      lgsm/modules/mods_list.sh
  44. 2 2
      lgsm/modules/query_gsquery.py
  45. 1 1
      linuxgsm.sh

+ 4 - 2
.github/labeler.yml

@@ -74,6 +74,8 @@
   - "/(Barotrauma)/i"
 "game: Counter-Strike: Global Offensive":
   - "/(Counter-Strike: Global Offensive|CS:GO|csgo)/i"
+"game: Counter-Strike 2":
+  - "/(Counter-Strike 2|CS2)/i"
 "game: Counter-Strike: Source":
   - "/(Counter-Strike: Source|CS:S)/i"
 "game: Counter-Strike 1.6":
@@ -95,13 +97,13 @@
 "game: Left 4 Dead 2":
   - "/(Left 4 Dead 2|L4D2)/i"
 "game: Minecraft":
-  - "/(minecraft)((?!bedrock).)*$/i"
+  - "/(Minecraft)((?!bedrock).)*$/i"
 "game: Minecraft Bedrock":
   - "/(Bedrock)/i"
 "game: Mumble":
   - "/(Mumble)/i"
 "game: Project Zomboid":
-  - "/(Project Zomboid)/i"
+  - "/(Project Zomboid|PZ)/i"
 "game: Quake 3":
   - "/(Quake 3|Q3A|q3)/i"
 "game: Rising World":

+ 1 - 0
.github/workflows/add-to-project.yml

@@ -7,6 +7,7 @@ on:
 
 jobs:
   add-to-project:
+    if: github.repository_owner == 'GameServerManagers'
     runs-on: ubuntu-latest
     steps:
       - name: Add to Project

+ 2 - 0
.github/workflows/details-check.yml

@@ -10,6 +10,7 @@ concurrency:
 
 jobs:
   create-matrix:
+    if: github.repository_owner == 'GameServerManagers'
     runs-on: ubuntu-latest
     outputs:
       matrix: ${{ steps.set-matrix.outputs.matrix }}
@@ -28,6 +29,7 @@ jobs:
           echo -n "matrix=${shortnamearray}" >> $GITHUB_OUTPUT
 
   details-check:
+    if: github.repository_owner == 'GameServerManagers'
     needs: create-matrix
     continue-on-error: true
     runs-on: ubuntu-latest

+ 1 - 0
.github/workflows/git-sync.yml

@@ -9,6 +9,7 @@ on:
 
 jobs:
   gitHub-to-bitbucket:
+    if: github.repository_owner == 'GameServerManagers'
     runs-on: ubuntu-latest
     steps:
       - name: SSH Agent

+ 2 - 0
.github/workflows/labeler.yml

@@ -11,6 +11,7 @@ permissions:
 
 jobs:
   issue-labeler:
+    if: github.repository_owner == 'GameServerManagers'
     runs-on: ubuntu-latest
     steps:
       - name: Issue Labeler
@@ -22,6 +23,7 @@ jobs:
           include-title: 1
 
   is-sponsor-label:
+    if: github.repository_owner == 'GameServerManagers'
     runs-on: ubuntu-latest
     steps:
       - name: Is Sponsor Label

+ 1 - 0
.github/workflows/lock.yml

@@ -9,6 +9,7 @@ permissions:
 
 jobs:
   lock:
+    if: github.repository_owner == 'GameServerManagers'
     runs-on: ubuntu-latest
     steps:
       - name: Lock Threads

+ 1 - 0
.github/workflows/potential-duplicates.yml

@@ -5,6 +5,7 @@ on:
       - opened
 jobs:
   potential-duplicates:
+    if: github.repository_owner == 'GameServerManagers'
     runs-on: ubuntu-latest
     steps:
       - name: Potential Duplicates

+ 1 - 0
.github/workflows/serverlist-validate.yml

@@ -5,6 +5,7 @@ on:
 
 jobs:
   serverlist-validate:
+    if: github.repository_owner == 'GameServerManagers'
     runs-on: ubuntu-latest
     steps:
       - name: Checkout

+ 2 - 0
.github/workflows/trigger-docker-build.yml

@@ -6,6 +6,7 @@ on:
 
 jobs:
   trigger_build_docker-linuxgsm:
+    if: github.repository_owner == 'GameServerManagers'
     name: Trigger Build Docker LinuxGSM
     runs-on: ubuntu-latest
     steps:
@@ -18,6 +19,7 @@ jobs:
           workflow_file_name: docker-publish.yml
 
   trigger_build_docker-gameserver:
+    if: github.repository_owner == 'GameServerManagers'
     name: Trigger Build Docker GameServer
     needs: trigger_build_docker-linuxgsm
     runs-on: ubuntu-latest

+ 1 - 0
.github/workflows/update-check.yml

@@ -10,6 +10,7 @@ concurrency:
 
 jobs:
   update-check:
+    if: github.repository_owner == 'GameServerManagers'
     continue-on-error: true
     runs-on: ubuntu-latest
 

+ 1 - 0
.github/workflows/update-copyright-years-in-license-file.yml

@@ -6,6 +6,7 @@ on:
 
 jobs:
   update-license-year:
+    if: github.repository_owner == 'GameServerManagers'
     runs-on: ubuntu-latest
     steps:
       - name: Checkout

+ 1 - 0
.github/workflows/version-check.yml

@@ -7,6 +7,7 @@ permissions:
 
 jobs:
   version-Check:
+    if: github.repository_owner == 'GameServerManagers'
     runs-on: ubuntu-latest
     steps:
       - name: Checkout

+ 1 - 1
LICENSE.md

@@ -1,6 +1,6 @@
 # The MIT License (MIT)
 
-Copyright (c) 2012-2023 Daniel Gibbs
+Copyright (c) 2012-2024 Daniel Gibbs
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal

+ 2 - 30
lgsm/config-default/config-lgsm/cs2server/_default.cfg

@@ -10,41 +10,13 @@
 
 ## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters
 # https://docs.linuxgsm.com/game-servers/counter-strike-2
-# [Game Modes]						gametype	gamemode	gamemodeflags	skirmishid	mapgroup (you can mix these across all Game Modes except Danger Zone, but use only one)
-# Arms Race							1			0			0				0			mg_armsrace
-# Boom! Headshot!					1			2			0				6			mg_skirmish_headshots
-# Classic Casual					0			0			0				0			mg_casualsigma, mg_casualdelta
-# Classic Competitive (Default)		0			1			0				0			mg_active, mg_reserves, mg_hostage, mg_de_dust2, ...
-# Classic Competitive (Short Match)	0			1			32				0			mg_active, mg_reserves, mg_hostage, mg_de_dust2, ...
-# Danger Zone						6			0			0				0			mg_dz_blacksite (map: dz_blacksite), mg_dz_sirocco (map: dz_sirocco)
-# Deathmatch (Default)				1			2			0				0			mg_deathmatch
-# Deathmatch (Free For All)			1			2			32				0			mg_deathmatch
-# Deathmatch (Team vs Team)			1			2			4				0			mg_deathmatch
-# Demolition						1			1			0				0			mg_demolition
-# Flying Scoutsman					0			0			0				3			mg_skirmish_flyingscoutsman
-# Hunter-Gatherers					1			2			0				7			mg_skirmish_huntergatherers
-# Retakes							0			0			0				12			mg_skirmish_retakes
-# Stab Stab Zap						0			0			0				1			mg_skirmish_stabstabzap
-# Trigger Discipline				0			0			0				4			mg_skirmish_triggerdiscipline
-# Wingman							0			2			0				0			mg_de_prime, mg_de_blagai, mg_de_vertigo, mg_de_inferno, mg_de_overpass, mg_de_cbble, mg_de_train, mg_de_shortnuke,	mg_de_shortdust, mg_de_lake
-gametype="0"
-gamemode="1"
-gamemodeflags="0"
-skirmishid="0"
-mapgroup="mg_active"
 ip="0.0.0.0"
 port="27015"
-defaultmap="de_dust2"
 maxplayers="16"
-tickrate="64"
-
-## Game Server Login Token (GSLT): Required
-# GSLT is required for running a public server.
-# More info: https://docs.linuxgsm.com/steamcmd/gslt
-gslt=""
+wsapikey=""
 
 ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
-startparameters="-dedicated -ip ${ip} -port ${port} -maxplayers ${maxplayers} -tickrate ${tickrate} -serverlogging +sv_setsteamaccount ${gslt} +map ${defaultmap} +game_type ${gametype} +game_mode ${gamemode} +sv_game_mode_flags ${gamemodeflags} +sv_skirmish_id ${skirmishid} +sv_logfile 1 +exec ${selfname}.cfg"
+startparameters="-dedicated -ip ${ip} -port ${port} -maxplayers ${maxplayers} -authkey ${wsapikey} +exec ${selfname}.cfg"
 
 #### LinuxGSM Settings ####
 

+ 185 - 0
lgsm/config-default/config-lgsm/pwserver/_default.cfg

@@ -0,0 +1,185 @@
+##################################
+######## 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 ####
+
+## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters
+servername="LinuxGSM"
+
+# Use game server config file to edit, used for port check script (workaround)
+port="8211"
+
+## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
+## Game Server Docs | https://tech.palworldgame.com/dedicated-server-guide#linux
+startparameters="EpicApp=PalServer -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -servername='${servername}'"
+
+#### 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@example.com"
+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="2394010"
+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="2"
+
+## Query mode
+# 1: session only
+# 2: gamedig (gsquery fallback)
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="1"
+querytype="1"
+
+## Console type
+consoleverbose="yes"
+consoleinteract="no"
+
+## Game Server Details
+# Do not edit
+gamename="Palworld"
+engine="unreal5"
+glibc="2.17"
+
+#### Directories ####
+# Edit with care
+
+## Game Server Directories
+systemdir="${serverfiles}/Pal"
+executabledir="${systemdir}/Engine/Binaries/Linux"
+executable="./PalServer-Linux"
+servercfgdir="${serverfiles}/Pal/Saved/Config/LinuxServer"
+servercfg="PalWorldSettings.ini"
+servercfgdefault="PalWorldSettings.ini"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+
+## Backup Directory
+backupdir="${lgsmdir}/backup"
+
+## Logging Directories
+[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log"
+gamelogdir="${systemdir}/Saved/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"

+ 2 - 1
lgsm/config-default/config-lgsm/rustserver/_default.cfg

@@ -26,9 +26,10 @@ maxplayers="50"
 worldsize="3000"   # default: 3000, range: 1000-6000, map size in meters.
 saveinterval="300" # Auto-save in seconds.
 tickrate="30"      # default: 30, range: 15-100.
+tags=""            # values: monthly, biweekly, weekly, vanilla, hardcore, softcore, pve, roleplay, creative, minigame, training, battlefield, broyale, builds, NA, SA, EU, WA, EA, OC, AF ( Doc: https://wiki.facepunch.com/rust/server-browser-tags )
 
 ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
-startparameters="-batchmode +app.listenip ${ip} +app.port ${appport} +server.ip ${ip} +server.port ${port} +server.queryport ${queryport} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${selfname}\" +server.gamemode ${gamemode} +server.level \"${serverlevel}\" +server.seed ${seed} +server.salt ${salt} +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.web ${rconweb} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -logfile ${gamelog}"
+startparameters="-batchmode +app.listenip ${ip} +app.port ${appport} +server.ip ${ip} +server.port ${port} +server.queryport ${queryport} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${selfname}\" +server.gamemode ${gamemode} +server.level \"${serverlevel}\" +server.seed ${seed} +server.salt ${salt} +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.web ${rconweb} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" +server.tags ${tags} -logfile ${gamelog}"
 
 #### LinuxGSM Settings ####
 

+ 1 - 0
lgsm/data/almalinux-8.csv

@@ -85,6 +85,7 @@ pmc,java-17-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
+pw
 pz,java-11-openjdk rng-tools
 q2
 q3

+ 1 - 0
lgsm/data/almalinux-9.csv

@@ -85,6 +85,7 @@ pmc,java-17-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
+pw
 pz,java-11-openjdk rng-tools
 q2
 q3

+ 1 - 0
lgsm/data/centos-7.csv

@@ -85,6 +85,7 @@ pmc,java-11-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
+pw
 pz,java-11-openjdk rng-tools
 q2
 q3

+ 1 - 0
lgsm/data/centos-8.csv

@@ -85,6 +85,7 @@ pmc,java-17-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
+pw
 pz,java-11-openjdk rng-tools
 q2
 q3

+ 1 - 0
lgsm/data/centos-9.csv

@@ -85,6 +85,7 @@ pmc,java-17-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
+pw
 pz,java-11-openjdk rng-tools
 q2
 q3

+ 3 - 2
lgsm/data/debian-10.csv

@@ -1,8 +1,7 @@
-all,bc,binutils,bsdmainutils,bzip2,ca-certificates,cpio,curl,distro-info,file,gzip,hostname,jq,lib32gcc1,lib32stdc++6,netcat,python3,tar,tmux,unzip,util-linux,uuid-runtime,wget,xz-utils
-steamcmd,lib32gcc1,lib32stdc++6,libsdl2-2.0-0:i386,steamcmd
 ac
 ahl
 ahl2
+all,bc,binutils,bsdmainutils,bzip2,ca-certificates,cpio,curl,distro-info,file,gzip,hostname,jq,lib32gcc1,lib32stdc++6,netcat,python3,tar,tmux,unzip,util-linux,uuid-runtime,wget,xz-utils
 ark
 arma3
 armar,libcurl4
@@ -85,6 +84,7 @@ pmc,openjdk-11-jre
 ps,libgconf-2-4
 pvkii
 pvr,libc++1
+pw
 pz,openjdk-11-jre,rng-tools
 q2
 q3
@@ -108,6 +108,7 @@ sof2
 sol
 squad
 st,libxml2-utils
+steamcmd,lib32gcc1,lib32stdc++6,libsdl2-2.0-0:i386,steamcmd
 stn
 sven,libssl1.1:i386,zlib1g:i386
 terraria

+ 1 - 0
lgsm/data/debian-11.csv

@@ -85,6 +85,7 @@ pmc,openjdk-17-jre
 ps,libgconf-2-4
 pvkii
 pvr,libc++1
+pw
 pz,openjdk-17-jre,rng-tools
 q2
 q3

+ 1 - 0
lgsm/data/debian-12.csv

@@ -85,6 +85,7 @@ pmc,openjdk-17-jre
 ps,libgconf-2-4
 pvkii
 pvr,libc++1
+pw
 pz,openjdk-17-jre,rng-tools5
 q2
 q3

+ 1 - 0
lgsm/data/debian-9.csv

@@ -85,6 +85,7 @@ pmc,openjdk-8-jre
 ps,libgconf-2-4
 pvkii
 pvr,libc++1
+pw
 pz,openjdk-8-jre,rng-tools
 q2
 q3

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


+ 1 - 0
lgsm/data/rhel-7.csv

@@ -9,6 +9,7 @@ armar,libcurl,openssl11-libs
 ats
 av
 bb
+pw
 bb2,libcurl.i686
 bd
 bf1942,ncurses-libs.i686

+ 1 - 0
lgsm/data/rhel-8.csv

@@ -85,6 +85,7 @@ pmc,java-17-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
+pw
 pz,java-11-openjdk rng-tools
 q2
 q3

+ 1 - 0
lgsm/data/rhel-9.csv

@@ -85,6 +85,7 @@ pmc,java-17-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
+pw
 pz,java-11-openjdk rng-tools
 q2
 q3

+ 1 - 0
lgsm/data/rocky-8.csv

@@ -85,6 +85,7 @@ pmc,java-17-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
+pw
 pz,java-11-openjdk rng-tools
 q2
 q3

+ 1 - 0
lgsm/data/rocky-9.csv

@@ -85,6 +85,7 @@ pmc,java-17-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
+pw
 pz,java-11-openjdk rng-tools
 q2
 q3

+ 1 - 0
lgsm/data/serverlist.csv

@@ -84,6 +84,7 @@ pmc,pmcserver,PaperMC,ubuntu-22.04
 ps,psserver,Post Scriptum,ubuntu-22.04
 pvkii,pvkiiserver,Pirates Vikings & Knights II,ubuntu-22.04
 pvr,pvrserver,Pavlov VR,ubuntu-22.04
+pw,pwserver,Palworld,ubuntu-22.04
 pz,pzserver,Project Zomboid,ubuntu-22.04
 q2,q2server,Quake 2,ubuntu-22.04
 q3,q3server,Quake 3: Arena,ubuntu-22.04

+ 1 - 0
lgsm/data/ubuntu-16.04.csv

@@ -9,6 +9,7 @@ armar,libcurl4
 ats
 av
 bb
+pw
 bb2,libcurl4-gnutls-dev:i386
 bd
 bf1942,libncurses5:i386,libtinfo5:i386

+ 1 - 0
lgsm/data/ubuntu-18.04.csv

@@ -8,6 +8,7 @@ arma3
 armar,libcurl4
 ats
 av
+pw
 bb
 bb2,libcurl4-gnutls-dev:i386
 bd

+ 1 - 0
lgsm/data/ubuntu-20.04.csv

@@ -85,6 +85,7 @@ pmc,openjdk-17-jre
 ps,libgconf-2-4
 pvkii
 pvr,libc++1
+pw
 pz,openjdk-17-jre,rng-tools
 q2
 q3

+ 1 - 0
lgsm/data/ubuntu-22.04.csv

@@ -85,6 +85,7 @@ pmc,openjdk-17-jre
 ps,libgconf-2-4
 pvkii
 pvr,libc++1
+pw
 pz,openjdk-17-jre,rng-tools5
 q2
 q3

+ 1 - 0
lgsm/data/ubuntu-23.04.csv

@@ -85,6 +85,7 @@ pmc,openjdk-17-jre
 ps,libgconf-2-4
 pvkii
 pvr,libc++1
+pw
 pz,openjdk-17-jre,rng-tools5
 q2
 q3

+ 1 - 0
lgsm/data/ubuntu-23.10.csv

@@ -85,6 +85,7 @@ pmc,openjdk-17-jre
 ps,libgconf-2-4
 pvkii
 pvr,libc++1
+pw
 pz,openjdk-17-jre,rng-tools5
 q2
 q3

+ 1 - 1
lgsm/modules/core_modules.sh

@@ -8,7 +8,7 @@
 
 moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
-modulesversion="v23.7.1"
+modulesversion="v24.1.0"
 
 # Core
 

+ 17 - 5
lgsm/modules/info_game.sh

@@ -613,6 +613,18 @@ fn_info_game_pvr() {
 	servername="${servername:-"NOT SET"}"
 }
 
+# Config Type: ini
+# Parameters: false
+# Comment: ; or #
+# Example: ServerName=SERVERNAME
+# Filetype: cfg
+fn_info_game_pw() {
+	servername="${servername:-"NOT SET"}"
+	port="${port:-"0"}"
+	steamport="27015"
+	unknownport="1985"
+}
+
 # Config Type: ini
 # Parameters: true
 # Comment: ; or #
@@ -1159,14 +1171,12 @@ fn_info_game_col() {
 fn_info_game_cs2() {
 	if [ -f "${servercfgfullpath}" ]; then
 		fn_info_game_valve_keyvalues "servername" "hostname"
-	fi
-	# Steamport can be between 26901-26910 and is normally automatically set.
-	# Some servers might support -steamport parameter to set
-	if [ "${steamport}" == "0" ] || [ -v "${steamport}" ]; then
-		steamport="$(echo "${ssinfo}" | grep "${srcdslinuxpid}" | awk '{print $5}' | grep ":269" | cut -d ":" -f2)"
+		fn_info_game_valve_keyvalues "defaultmap" "map"
+		fn_info_game_valve_keyvalues "password" "sv_password"
 	fi
 	defaultmap="${defaultmap:-"NOT SET"}"
 	maxplayers="${maxplayers:-"0"}"
+	password="${password:-"NOT SET"}"
 	port="${port:-"0"}"
 	queryport="${port:-"0"}"
 	servername="${servername:-"NOT SET"}"
@@ -2359,6 +2369,8 @@ elif [ "${shortname}" == "ps" ]; then
 	fn_info_game_ps
 elif [ "${shortname}" == "pvr" ]; then
 	fn_info_game_pvr
+elif [ "${shortname}" == "pw" ]; then
+	fn_info_game_pw
 elif [ "${shortname}" == "pz" ]; then
 	fn_info_game_pz
 elif [ "${shortname}" == "q2" ]; then

+ 12 - 1
lgsm/modules/info_messages.sh

@@ -674,7 +674,7 @@ fn_info_messages_ports_edit() {
 		fi
 	done
 	# engines/games that require editing the start parameters.
-	local ports_edit_array=("av" "ck" "col" "cs2" "fctr" "goldsrc" "hcu" "hw" "iw3.0" "ioquake3" "qfusion" "rust" "scpsl" "scpslsm" "sf" "sol" "spark" "source" "unreal4" "arma3" "dayz" "unt" "vh")
+	local ports_edit_array=("av" "ck" "col" "cs2" "fctr" "goldsrc" "hcu" "hw" "iw3.0" "ioquake3" "pw" "qfusion" "rust" "scpsl" "scpslsm" "sf" "sol" "spark" "source" "unreal4" "arma3" "dayz" "unt" "vh")
 	for port_edit in "${ports_edit_array[@]}"; do
 		if [ "${engine}" == "${port_edit}" ] || [ "${gamename}" == "${port_edit}" ] || [ "${shortname}" == "${port_edit}" ]; then
 			startparameterslocation="${configdirserver}"
@@ -1269,6 +1269,15 @@ fn_info_messages_pvr() {
 	} | column -s $'\t' -t
 }
 
+fn_info_messages_pw() {
+	{
+		fn_port "header"
+		fn_port "Game" port udp
+		fn_port "Steam" steamport udp
+		fn_port "Unknown" unknownport tcp
+	} | column -s $'\t' -t
+}
+
 fn_info_messages_pz() {
 	{
 		fn_port "header"
@@ -1798,6 +1807,8 @@ fn_info_messages_select_engine() {
 		fn_info_messages_ps
 	elif [ "${shortname}" == "pvr" ]; then
 		fn_info_messages_pvr
+	elif [ "${shortname}" == "pw" ]; then
+		fn_info_messages_pw
 	elif [ "${shortname}" == "pz" ]; then
 		fn_info_messages_pz
 	elif [ "${shortname}" == "q2" ]; then

+ 6 - 0
lgsm/modules/install_config.sh

@@ -604,6 +604,12 @@ elif [ "${shortname}" == "pvkii" ]; then
 	fn_default_config_remote
 	fn_set_config_vars
 	fn_list_config_locations
+elif [ "${shortname}" == "pw" ]; then
+	array_configs+=(PalWorldSettings.ini)
+	fn_fetch_default_config
+	fn_default_config_remote
+	fn_set_config_vars
+	fn_list_config_locations
 elif [ "${shortname}" == "pz" ]; then
 	fn_check_cfgdir
 	array_configs+=(server.ini)

+ 2 - 2
lgsm/modules/mods_list.sh

@@ -97,7 +97,7 @@ oxiderustlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos
 oxidehurtworldlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest | jq -r '.assets[].browser_download_url')
 oxidesdtdlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url')
 # Valheim Plus
-valeimpluslatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/valheimPlus/ValheimPlus/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("UnixServer.tar.gz")) | .browser_download_url')
+valheimpluslatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/Grantapher/ValheimPlus/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("UnixServer.tar.gz")) | .browser_download_url')
 # Valheim BepInEx
 bepinexvhlatestlink=$(curl --connect-timeout 10 -sL "https://valheim.thunderstore.io/api/experimental/package/denikson/BepInExPack_Valheim/" -H "accept: application/json" | jq -r '.latest.download_url')
 
@@ -200,7 +200,7 @@ mod_info_hwoxide=(MOD "hwoxide" "Oxide for Hurtworld" "${oxidehurtworldlatestlin
 mod_info_sdtdoxide=(MOD "sdtdoxide" "Oxide for 7 Days To Die" "${oxidesdtdlatestlink}" "Oxide.SevenDaysToDie.zip" "0" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "7 Days To Die;" "NOTGAMES" "https://umod.org/games/7-days-to-die" "Allows for the use of plugins")
 
 # ValheimPlus
-mod_info_valheimplus=(MOD "valheimplus" "Valheim PLUS" "${valeimpluslatestlink}" "ValheimPlus.tar.gz" "0" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "Valheim;" "NOTGAMES" "https://github.com/Grantapher/ValheimPlus.git" "Mod to improve Valheim gameplay")
+mod_info_valheimplus=(MOD "valheimplus" "Valheim PLUS" "${valheimpluslatestlink}" "ValheimPlus.tar.gz" "0" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "Valheim;" "NOTGAMES" "https://github.com/Grantapher/ValheimPlus.git" "Mod to improve Valheim gameplay")
 
 # BepInEx Valheim
 mod_info_bepinexvh=(MOD "bepinexvh" "BepInEx Valheim" "${bepinexvhlatestlink}" "denikson-BepInExPack_Valheim.zip" "0" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "Valheim;" "NOTGAMES" "https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/" "Unity / XNA game patcher and plugin framework")

+ 2 - 2
lgsm/modules/query_gsquery.py

@@ -10,13 +10,13 @@ import argparse
 import socket
 import sys
 
-engine_types=('protocol-valve','protocol-quake3','protocol-quake3','protocol-gamespy1','protocol-unreal2','ut3','minecraft','minecraftbe','jc2mp','mumbleping','soldat','teeworlds')
+engine_types=('protocol-valve','protocol-quake2','protocol-quake3','protocol-gamespy1','protocol-unreal2','ut3','minecraft','minecraftbe','jc2mp','mumbleping','soldat','teeworlds')
 
 class gsquery:
     server_response_timeout = 2
     default_buffer_length = 1024
     sourcequery=('protocol-valve','avalanche3.0','barotrauma','madness','quakelive','realvirtuality','refractor','source','goldsrc','spark','starbound','unity3d','unreal4','wurm')
-    idtech2query=('protocol-quake3','idtech2','quake','iw2.0')
+    idtech2query=('protocol-quake2','idtech2','quake','iw2.0')
     idtech3query=('protocol-quake3','iw3.0','ioquake3','qfusion')
     minecraftquery=('minecraft','lwjgl2')
     minecraftbequery=('minecraftbe',)

+ 1 - 1
linuxgsm.sh

@@ -24,7 +24,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="v23.7.1"
+version="v24.1.0"
 shortname="core"
 gameservername="core"
 commandname="CORE"