Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(newserver): add Xonotic #4633

Merged
merged 49 commits into from
Aug 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
1c76695
Adding default_cfg and Distro Requirements
Aug 23, 2024
08b1b14
Adding Shellscripts for Xonotic
Aug 23, 2024
9dec8c9
Fixing serverlist.csv
Aug 23, 2024
a2f3c78
Fixing again serverlist.csv
Aug 23, 2024
c5144d5
Fixed Typo
Aug 23, 2024
8ba4362
Changing Shortname to XNT
Aug 23, 2024
d48e1bb
Fixing missed _default.cfg change
Aug 23, 2024
028155f
Fixing _default.cfg
Aug 23, 2024
f0a7076
Updating Modules and Server installation
Aug 23, 2024
c55bd13
Updating paths and install script
Aug 23, 2024
69369dc
Fixing install Scripts Issues
Aug 23, 2024
c13c188
Update info_game.sh
Aug 23, 2024
51ab804
Updating Game Info Curling
Aug 23, 2024
93d4b26
fix bug with npm download of gamedig on branches
dgibbs64 Aug 27, 2024
6e2766c
styling fix
dgibbs64 Aug 27, 2024
a572c21
move to fix
dgibbs64 Aug 27, 2024
3fd7fbc
typo
dgibbs64 Aug 27, 2024
6d61be9
bug
dgibbs64 Aug 27, 2024
663536a
add missing details
dgibbs64 Aug 27, 2024
432f08a
edit using config
dgibbs64 Aug 27, 2024
b003d49
add missing servercfgfullpath
dgibbs64 Aug 27, 2024
1024bf8
bug
dgibbs64 Aug 27, 2024
16f12ff
config settings update
dgibbs64 Aug 27, 2024
29a8eb0
update cp command based off warn message
dgibbs64 Aug 27, 2024
e100090
fix dir
dgibbs64 Aug 27, 2024
e5dc911
update dirs
dgibbs64 Aug 27, 2024
a2041fc
fix exit code
dgibbs64 Aug 27, 2024
851be6a
fix dir install
dgibbs64 Aug 27, 2024
447bdb9
remove -v
dgibbs64 Aug 27, 2024
6727767
update settings
dgibbs64 Aug 27, 2024
cfb89ba
update info game
dgibbs64 Aug 27, 2024
440f711
update config type
dgibbs64 Aug 27, 2024
c540be9
fix dir
dgibbs64 Aug 27, 2024
097699c
update config parsing
dgibbs64 Aug 27, 2024
4d3f40e
change to remove config
dgibbs64 Aug 27, 2024
3352b99
add server.cfg
dgibbs64 Aug 27, 2024
581ed3a
remove serverconfigdefault
dgibbs64 Aug 28, 2024
6b2aff9
add new default
dgibbs64 Aug 28, 2024
1bc82db
move to use an updater
dgibbs64 Aug 28, 2024
3e1e871
send key to update function
dgibbs64 Aug 28, 2024
5423b69
typo
dgibbs64 Aug 28, 2024
7145968
change extract location
dgibbs64 Aug 28, 2024
9ca1fcc
update directory location
dgibbs64 Aug 28, 2024
cc98369
filename fix
dgibbs64 Aug 28, 2024
884e9bb
update dirs
dgibbs64 Aug 28, 2024
37bfcc7
fix extraction
dgibbs64 Aug 28, 2024
9813666
creatre datadir if missing
dgibbs64 Aug 28, 2024
e942a78
consoleinteract yes
dgibbs64 Aug 28, 2024
54c0c51
lint
dgibbs64 Aug 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 171 additions & 0 deletions lgsm/config-default/config-lgsm/xntserver/_default.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
##################################
######## 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

## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-userdir ${systemdir}/${selfname}"

#### 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 all".
telegramapi="api.telegram.org"
telegramalert="off"
telegramtoken="accesstoken"
telegramchatid=""
telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""

## 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"

## 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="3"
querytype="xonotic"

## Console type
consoleverbose="yes"
consoleinteract="yes"

## Game Server Details
# Do not edit
gamename="Xonotic"
engine="unreal3"
glibc="2.29"

#### Directories ####
# Edit with care

## Game Server Directories
systemdir="${serverfiles}"
executabledir="${systemdir}"
executable="./xonotic-linux64-dedicated"
servercfgdir="${systemdir}/${selfname}/data"
servercfg="server.cfg"
servercfgdefault="${systemdir}/server.cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"

## Backup Directory
backupdir="${lgsmdir}/backup"

## Logging Directories
[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log"
gamelogdir="${logdir}/server"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
gamelog="${gamelogdir}/${selfname}-game.log"
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"
gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"

## Log Parameters
logtimestamp="off"
logtimestampformat="%Y-%m-%d %H:%M:%S"
1 change: 1 addition & 0 deletions lgsm/data/almalinux-8.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,java-21-openjdk
wurm,xorg-x11-server-Xvfb
xnt
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
1 change: 1 addition & 0 deletions lgsm/data/almalinux-9.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,java-21-openjdk
wurm,xorg-x11-server-Xvfb
xnt
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
1 change: 1 addition & 0 deletions lgsm/data/centos-7.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,java-11-openjdk
wurm,xorg-x11-server-Xvfb
xnt
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
1 change: 1 addition & 0 deletions lgsm/data/centos-8.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,java-17-openjdk
wurm,xorg-x11-server-Xvfb
xnt
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
1 change: 1 addition & 0 deletions lgsm/data/centos-9.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,java-17-openjdk
wurm,xorg-x11-server-Xvfb
xnt
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
1 change: 1 addition & 0 deletions lgsm/data/debian-10.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,openjdk-11-jre
wurm,xvfb
xnt
zmr,libtinfo5:i386
zps,libtinfo5:i386
1 change: 1 addition & 0 deletions lgsm/data/debian-11.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,openjdk-17-jre
wurm,xvfb
xnt
zmr,libtinfo5:i386
zps,libtinfo5:i386
1 change: 1 addition & 0 deletions lgsm/data/debian-12.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,openjdk-17-jre
wurm,xvfb
xnt
zmr,libtinfo5:i386
zps,libtinfo5:i386
1 change: 1 addition & 0 deletions lgsm/data/debian-13.csv
Original file line number Diff line number Diff line change
Expand Up @@ -133,5 +133,6 @@ wet
wf
wmc,openjdk21-jre
wurm,xvfb
xnt
zmr,libtinfo5:i386
zps,libtinfo5:i386
1 change: 1 addition & 0 deletions lgsm/data/debian-9.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,openjdk-8-jre
wurm,xvfb
xnt
zmr,libtinfo5:i386
zps,libtinfo5:i386
1 change: 1 addition & 0 deletions lgsm/data/rhel-7.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,java-11-openjdk
wurm,xorg-x11-server-Xvfb
xnt
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
1 change: 1 addition & 0 deletions lgsm/data/rhel-8.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,java-21-openjdk
wurm,xorg-x11-server-Xvfb
xnt
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
1 change: 1 addition & 0 deletions lgsm/data/rhel-9.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,java-21-openjdk
wurm,xorg-x11-server-Xvfb
xnt
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
1 change: 1 addition & 0 deletions lgsm/data/rocky-8.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,java-21-openjdk
wurm,xorg-x11-server-Xvfb
xnt
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
1 change: 1 addition & 0 deletions lgsm/data/rocky-9.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,java-21-openjdk
wurm,xorg-x11-server-Xvfb
xnt
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
1 change: 1 addition & 0 deletions lgsm/data/serverlist.csv
Original file line number Diff line number Diff line change
Expand Up @@ -133,5 +133,6 @@ wet,wetserver,Wolfenstein: Enemy Territory,ubuntu-22.04
wf,wfserver,Warfork,ubuntu-22.04
wmc,wmcserver,WaterfallMC,ubuntu-22.04
wurm,wurmserver,Wurm Unlimited,ubuntu-22.04
xnt,xntserver,Xonotic,ubuntu-22.04
zmr,zmrserver,Zombie Master: Reborn,ubuntu-22.04
zps,zpsserver,Zombie Panic! Source,ubuntu-22.04
1 change: 1 addition & 0 deletions lgsm/data/ubuntu-16.04.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,openjdk-8-jre
wurm,xvfb
xnt
zmr,libtinfo5:i386
zps,libtinfo5:i386
1 change: 1 addition & 0 deletions lgsm/data/ubuntu-18.04.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,openjdk-11-jre
wurm,xvfb
xnt
zmr,libtinfo5:i386
zps,libtinfo5:i386
1 change: 1 addition & 0 deletions lgsm/data/ubuntu-20.04.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,openjdk-21-jre
wurm,xvfb
xnt
zmr,libtinfo5:i386
zps,libtinfo5:i386
1 change: 1 addition & 0 deletions lgsm/data/ubuntu-22.04.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,openjdk-21-jre
wurm,xvfb
xnt
zmr,libtinfo5:i386
zps,libtinfo5:i386
1 change: 1 addition & 0 deletions lgsm/data/ubuntu-23.04.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,openjdk-21-jre
wurm,xvfb
xnt
zmr,libtinfo5:i386
zps,libtinfo5:i386
1 change: 1 addition & 0 deletions lgsm/data/ubuntu-23.10.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,openjdk-21-jre
wurm,xvfb
xnt
zmr,libtinfo5:i386
zps,libtinfo5:i386
1 change: 1 addition & 0 deletions lgsm/data/ubuntu-24.04.csv
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,6 @@ wet
wf
wmc,openjdk-21-jre
wurm,xvfb
xnt
zmr,libtinfo5:i386
zps,libtinfo5:i386
4 changes: 2 additions & 2 deletions lgsm/modules/check_gamedig.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ if [ "$(command -v node)" ] && [ "$(node -v | cut -d 'v' -f 2 | cut -d '.' -f 1)
echo -e "${bold}${lightyellow}Installing Gamedig${default}"
fn_script_log_info "Installing Gamedig"
cd "${lgsmdir}" || exit
curl -L -o package.json "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${githubbranch}/package.json"
curl -L -o package.json "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/package.json"
npm install
elif [ "$(command -v node)" ] && [ "$(node -v | cut -d 'v' -f 2 | cut -d '.' -f 1)" -ge 16 ]; then
cd "${lgsmdir}" || exit
curl -s -L -o package.json "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${githubbranch}/package.json"
curl -s -L -o package.json "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/package.json"
npm update > /dev/null 2>&1
fi
2 changes: 2 additions & 0 deletions lgsm/modules/command_update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ elif [ "${shortname}" == "vints" ]; then
update_vints.sh
elif [ "${shortname}" == "ut99" ]; then
update_ut99.sh
elif [ "${shortname}" == "xnt" ]; then
update_xnt.sh
else
update_steamcmd.sh
fi
Expand Down
5 changes: 4 additions & 1 deletion lgsm/modules/core_dl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,10 @@ fn_dl_extract() {
fi
elif [ "${mime}" == "application/zip" ]; then
if [ -n "${extractsrc}" ]; then
extractcmd=$(unzip -qoj -d "${extractdest}" "${local_filedir}/${local_filename}" "${extractsrc}"/*)
temp_extractdir="${tmpdir}/Xonotic"
extractcmd=$(unzip -qo "${local_filedir}/${local_filename}" "${extractsrc}/*" -d "${temp_extractdir}")
find "${temp_extractdir}/${extractsrc}" -mindepth 1 -maxdepth 1 -exec mv -t "${extractdest}" {} +
rm -rf "${temp_extractdir}"
else
extractcmd=$(unzip -qo -d "${extractdest}" "${local_filedir}/${local_filename}")
fi
Expand Down
Loading