Skip to content

Commit 70fd6f4

Browse files
PlayMTLdgibbs64
andauthored
feat(new server): Palworld (#4449)
* add palworld * add palworld * add palworld to ubuntu * add server to serverlist * rework _default.cfg for pwserver * fix servercfgdir for palworld * edit _default.cfg for pwserver * first try info_game.sh * debug info_game.sh * update info_game.sh * update info_game.sh * update info_game.sh * add package check for rhel, rocky, debian & ubuntu * add details port info * add details port change * improve _default.cfg for pwserver * improve _default.cfg for pwserver * fix issues mentioned in pr * change servername parameter for pwserver * add: steamport var for Palworld * fix: info_game for palworld * change: load palworld settings from serverconfig file & change unknow port * update ports info * change to binary file from .sh prevents issues with ss command --------- Co-authored-by: Daniel Gibbs <[email protected]>
1 parent ae3deee commit 70fd6f4

17 files changed

+230
-1
lines changed
Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
##################################
2+
######## Default Settings ########
3+
##################################
4+
# DO NOT EDIT, ANY CHANGES WILL BE OVERWRITTEN!
5+
# Copy settings from here and use them in either:
6+
# common.cfg - applies settings to every instance.
7+
# [instance].cfg - applies settings to a specific instance.
8+
9+
#### Game Server Settings ####
10+
11+
## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters
12+
servername="LinuxGSM"
13+
14+
# Use game server config file to edit, used for port check script (workaround)
15+
port="8211"
16+
17+
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
18+
## Game Server Docs | https://tech.palworldgame.com/dedicated-server-guide#linux
19+
startparameters="EpicApp=PalServer -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -servername='${servername}'"
20+
21+
#### LinuxGSM Settings ####
22+
23+
## LinuxGSM Stats
24+
# Send useful stats to LinuxGSM developers.
25+
# https://docs.linuxgsm.com/configuration/linuxgsm-stats
26+
# (on|off)
27+
stats="off"
28+
29+
## Notification Alerts
30+
# (on|off)
31+
32+
# Display IP | https://docs.linuxgsm.com/alerts#display-ip
33+
displayip=""
34+
35+
# More info | https://docs.linuxgsm.com/alerts#more-info
36+
postalert="off"
37+
38+
# Alert on Start/Stop/Restart
39+
statusalert="off"
40+
41+
# Discord Alerts | https://docs.linuxgsm.com/alerts/discord
42+
discordalert="off"
43+
discordwebhook="webhook"
44+
45+
# Email Alerts | https://docs.linuxgsm.com/alerts/email
46+
emailalert="off"
47+
48+
emailfrom=""
49+
50+
# Gotify Alerts | https://docs.linuxgsm.com/alerts/gotify
51+
gotifyalert="off"
52+
gotifytoken="token"
53+
gotifywebhook="webhook"
54+
55+
# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt
56+
iftttalert="off"
57+
ifttttoken="accesstoken"
58+
iftttevent="linuxgsm_alert"
59+
60+
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
61+
pushbulletalert="off"
62+
pushbullettoken="accesstoken"
63+
channeltag=""
64+
65+
# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover
66+
pushoveralert="off"
67+
pushovertoken="accesstoken"
68+
pushoveruserkey="userkey"
69+
70+
# Rocket.Chat Alerts | https://docs.linuxgsm.com/alerts/rocket.chat
71+
rocketchatalert="off"
72+
rocketchatwebhook="webhook"
73+
74+
# Slack Alerts | https://docs.linuxgsm.com/alerts/slack
75+
slackalert="off"
76+
slackwebhook="webhook"
77+
78+
# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
79+
# You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
80+
# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
81+
telegramapi="api.telegram.org"
82+
telegramalert="off"
83+
telegramtoken="accesstoken"
84+
telegramchatid=""
85+
curlcustomstring=""
86+
87+
## Updating | https://docs.linuxgsm.com/commands/update
88+
updateonstart="off"
89+
90+
## Backup | https://docs.linuxgsm.com/commands/backup
91+
maxbackups="4"
92+
maxbackupdays="30"
93+
stoponbackup="on"
94+
95+
## Logging | https://docs.linuxgsm.com/features/logging
96+
consolelogging="on"
97+
logdays="7"
98+
99+
## Monitor | https://docs.linuxgsm.com/commands/monitor
100+
# Query delay time
101+
querydelay="1"
102+
103+
## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
104+
ansi="on"
105+
106+
#### Advanced Settings ####
107+
108+
## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
109+
sleeptime="0.5"
110+
111+
## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
112+
# Server appid
113+
appid="2394010"
114+
steamcmdforcewindows="no"
115+
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
116+
branch=""
117+
betapassword=""
118+
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
119+
steammaster="false"
120+
121+
## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
122+
# 1: tmux kill
123+
# 2: CTRL+c
124+
# 3: quit
125+
# 4: quit 120s
126+
# 5: stop
127+
# 6: q
128+
# 7: exit
129+
# 8: 7 Days to Die
130+
# 9: GoldSrc
131+
# 10: Avorion
132+
# 11: end
133+
stopmode="2"
134+
135+
## Query mode
136+
# 1: session only
137+
# 2: gamedig (gsquery fallback)
138+
# 3: gamedig
139+
# 4: gsquery
140+
# 5: tcp
141+
querymode="1"
142+
querytype="1"
143+
144+
## Console type
145+
consoleverbose="yes"
146+
consoleinteract="no"
147+
148+
## Game Server Details
149+
# Do not edit
150+
gamename="Palworld"
151+
engine="unreal5"
152+
glibc="2.17"
153+
154+
#### Directories ####
155+
# Edit with care
156+
157+
## Game Server Directories
158+
systemdir="${serverfiles}/Pal"
159+
executabledir="${systemdir}/Engine/Binaries/Linux"
160+
executable="./PalServer-Linux"
161+
servercfgdir="${serverfiles}/Pal/Saved/Config/LinuxServer"
162+
servercfg="PalWorldSettings.ini"
163+
servercfgdefault="PalWorldSettings.ini"
164+
servercfgfullpath="${servercfgdir}/${servercfg}"
165+
166+
## Backup Directory
167+
backupdir="${lgsmdir}/backup"
168+
169+
## Logging Directories
170+
[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log"
171+
gamelogdir="${systemdir}/Saved/Logs"
172+
lgsmlogdir="${logdir}/script"
173+
consolelogdir="${logdir}/console"
174+
lgsmlog="${lgsmlogdir}/${selfname}-script.log"
175+
consolelog="${consolelogdir}/${selfname}-console.log"
176+
alertlog="${lgsmlogdir}/${selfname}-alert.log"
177+
postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
178+
179+
## Logs Naming
180+
lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
181+
consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
182+
183+
## Log Parameters
184+
logtimestamp="off"
185+
logtimestampformat="%Y-%m-%d %H:%M:%S"

lgsm/data/almalinux-8.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ pmc,java-17-openjdk
8585
ps,GConf2
8686
pvkii
8787
pvr,libcxx
88+
pw
8889
pz,java-11-openjdk rng-tools
8990
q2
9091
q3

lgsm/data/almalinux-9.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ pmc,java-17-openjdk
8585
ps,GConf2
8686
pvkii
8787
pvr,libcxx
88+
pw
8889
pz,java-11-openjdk rng-tools
8990
q2
9091
q3

lgsm/data/debian-11.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ pmc,openjdk-17-jre
8585
ps,libgconf-2-4
8686
pvkii
8787
pvr,libc++1
88+
pw
8889
pz,openjdk-17-jre,rng-tools
8990
q2
9091
q3

lgsm/data/debian-12.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ pmc,openjdk-17-jre
8585
ps,libgconf-2-4
8686
pvkii
8787
pvr,libc++1
88+
pw
8889
pz,openjdk-17-jre,rng-tools5
8990
q2
9091
q3

lgsm/data/rhel-8.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ pmc,java-17-openjdk
8585
ps,GConf2
8686
pvkii
8787
pvr,libcxx
88+
pw
8889
pz,java-11-openjdk rng-tools
8990
q2
9091
q3

lgsm/data/rhel-9.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ pmc,java-17-openjdk
8585
ps,GConf2
8686
pvkii
8787
pvr,libcxx
88+
pw
8889
pz,java-11-openjdk rng-tools
8990
q2
9091
q3

lgsm/data/rocky-8.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ pmc,java-17-openjdk
8585
ps,GConf2
8686
pvkii
8787
pvr,libcxx
88+
pw
8889
pz,java-11-openjdk rng-tools
8990
q2
9091
q3

lgsm/data/rocky-9.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ pmc,java-17-openjdk
8585
ps,GConf2
8686
pvkii
8787
pvr,libcxx
88+
pw
8889
pz,java-11-openjdk rng-tools
8990
q2
9091
q3

lgsm/data/serverlist.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ pmc,pmcserver,PaperMC,ubuntu-22.04
8484
ps,psserver,Post Scriptum,ubuntu-22.04
8585
pvkii,pvkiiserver,Pirates Vikings & Knights II,ubuntu-22.04
8686
pvr,pvrserver,Pavlov VR,ubuntu-22.04
87+
pw,pwserver,Palworld,ubuntu-22.04
8788
pz,pzserver,Project Zomboid,ubuntu-22.04
8889
q2,q2server,Quake 2,ubuntu-22.04
8990
q3,q3server,Quake 3: Arena,ubuntu-22.04

lgsm/data/ubuntu-20.04.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ pmc,openjdk-17-jre
8585
ps,libgconf-2-4
8686
pvkii
8787
pvr,libc++1
88+
pw
8889
pz,openjdk-17-jre,rng-tools
8990
q2
9091
q3

lgsm/data/ubuntu-22.04.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ pmc,openjdk-17-jre
8585
ps,libgconf-2-4
8686
pvkii
8787
pvr,libc++1
88+
pw
8889
pz,openjdk-17-jre,rng-tools5
8990
q2
9091
q3

lgsm/data/ubuntu-23.04.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ pmc,openjdk-17-jre
8585
ps,libgconf-2-4
8686
pvkii
8787
pvr,libc++1
88+
pw
8889
pz,openjdk-17-jre,rng-tools5
8990
q2
9091
q3

lgsm/data/ubuntu-23.10.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ pmc,openjdk-17-jre
8585
ps,libgconf-2-4
8686
pvkii
8787
pvr,libc++1
88+
pw
8889
pz,openjdk-17-jre,rng-tools5
8990
q2
9091
q3

lgsm/modules/info_game.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -613,6 +613,18 @@ fn_info_game_pvr() {
613613
servername="${servername:-"NOT SET"}"
614614
}
615615

616+
# Config Type: ini
617+
# Parameters: false
618+
# Comment: ; or #
619+
# Example: ServerName=SERVERNAME
620+
# Filetype: cfg
621+
fn_info_game_pw() {
622+
servername="${servername:-"NOT SET"}"
623+
port="${port:-"0"}"
624+
steamport="27015"
625+
unknownport="1985"
626+
}
627+
616628
# Config Type: ini
617629
# Parameters: true
618630
# Comment: ; or #
@@ -2357,6 +2369,8 @@ elif [ "${shortname}" == "ps" ]; then
23572369
fn_info_game_ps
23582370
elif [ "${shortname}" == "pvr" ]; then
23592371
fn_info_game_pvr
2372+
elif [ "${shortname}" == "pw" ]; then
2373+
fn_info_game_pw
23602374
elif [ "${shortname}" == "pz" ]; then
23612375
fn_info_game_pz
23622376
elif [ "${shortname}" == "q2" ]; then

lgsm/modules/info_messages.sh

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -674,7 +674,7 @@ fn_info_messages_ports_edit() {
674674
fi
675675
done
676676
# engines/games that require editing the start parameters.
677-
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")
677+
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")
678678
for port_edit in "${ports_edit_array[@]}"; do
679679
if [ "${engine}" == "${port_edit}" ] || [ "${gamename}" == "${port_edit}" ] || [ "${shortname}" == "${port_edit}" ]; then
680680
startparameterslocation="${configdirserver}"
@@ -1269,6 +1269,15 @@ fn_info_messages_pvr() {
12691269
} | column -s $'\t' -t
12701270
}
12711271

1272+
fn_info_messages_pw() {
1273+
{
1274+
fn_port "header"
1275+
fn_port "Game" port udp
1276+
fn_port "Steam" steamport udp
1277+
fn_port "Unknown" unknownport tcp
1278+
} | column -s $'\t' -t
1279+
}
1280+
12721281
fn_info_messages_pz() {
12731282
{
12741283
fn_port "header"
@@ -1798,6 +1807,8 @@ fn_info_messages_select_engine() {
17981807
fn_info_messages_ps
17991808
elif [ "${shortname}" == "pvr" ]; then
18001809
fn_info_messages_pvr
1810+
elif [ "${shortname}" == "pw" ]; then
1811+
fn_info_messages_pw
18011812
elif [ "${shortname}" == "pz" ]; then
18021813
fn_info_messages_pz
18031814
elif [ "${shortname}" == "q2" ]; then

lgsm/modules/install_config.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -604,6 +604,12 @@ elif [ "${shortname}" == "pvkii" ]; then
604604
fn_default_config_remote
605605
fn_set_config_vars
606606
fn_list_config_locations
607+
elif [ "${shortname}" == "pw" ]; then
608+
array_configs+=(PalWorldSettings.ini)
609+
fn_fetch_default_config
610+
fn_default_config_remote
611+
fn_set_config_vars
612+
fn_list_config_locations
607613
elif [ "${shortname}" == "pz" ]; then
608614
fn_check_cfgdir
609615
array_configs+=(server.ini)

0 commit comments

Comments
 (0)