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): Trackmania Nations/United Forever #4184

Draft
wants to merge 1 commit into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
173 changes: 173 additions & 0 deletions lgsm/config-default/config-lgsm/tmnfserver/_default.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
##################################
######## 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
gamesettings="Matchsettings/Nations/NationsWhite.txt"

## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="/nodaemon /dedicated_cfg=${servercfg} /game_settings=${gamesettings}"

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

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

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

## Console type
consoleverbose="no"
consoleinteract="no"

## Game Server Details
# Do not edit
gamename="Trackmania Nations Forever"
engine="maniaplanet"
glibc="2.18"

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

## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./TrackmaniaServer"
servercfgdir="${systemdir}/GameData/Config"
servercfg="${selfname}.xml"
servercfgdefault="server.xml"
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"
1 change: 1 addition & 0 deletions lgsm/data/almalinux-8.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl.i686
tfc
ti
tmnf,libxml2
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/almalinux-9.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl.i686
tfc
ti
tmnf,libxml2
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/centos-7.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl.i686
tfc
ti
tmnf,libxml2
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/centos-8.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl.i686
tfc
ti
tmnf,libxml2
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/centos-9.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl.i686
tfc
ti
tmnf,libxml2
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/debian-10.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl4-gnutls-dev:i386
tfc
ti
tmnf,libxml2-utils
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/debian-11.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl4-gnutls-dev:i386
tfc
ti
tmnf,libxml2-utils
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/debian-12.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl4-gnutls-dev:i386
tfc
ti
tmnf,libxml2-utils
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/debian-9.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl4-gnutls-dev:i386
tfc
ti
tmnf,libxml2-utils
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/rhel-7.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl.i686
tfc
ti
tmnf,libxml2
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/rhel-8.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl.i686
tfc
ti
tmnf,libxml2
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/rhel-9.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl.i686
tfc
ti
tmnf,libxml2
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/rocky-8.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl.i686
tfc
ti
tmnf,libxml2
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/rocky-9.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl.i686
tfc
ti
tmnf,libxml2
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/serverlist.csv
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ tf,tfserver,The Front,ubuntu-22.04
tf2,tf2server,Team Fortress 2,ubuntu-22.04
tfc,tfcserver,Team Fortress Classic,ubuntu-22.04
ti,tiserver,The Isle,ubuntu-22.04
tmnf,tmnfserver,Trackmania Nations Forever,ubuntu-22.04
ts,tsserver,The Specialists,ubuntu-22.04
ts3,ts3server,Teamspeak 3,ubuntu-22.04
tu,tuserver,Tower Unite,ubuntu-22.04
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/ubuntu-16.04.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl4-gnutls-dev:i386
tfc
ti
tmnf,libxml2-utils
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/ubuntu-18.04.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl4-gnutls-dev:i386
tfc
ti
tmnf,libxml2-utils
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/ubuntu-20.04.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl4-gnutls-dev:i386
tfc
ti
tmnf,libxml2-utils
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/ubuntu-22.04.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl4-gnutls-dev:i386
tfc
ti
tmnf,libxml2-utils
ts
ts3
tu
Expand Down
1 change: 1 addition & 0 deletions lgsm/data/ubuntu-23.04.csv
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ tf
tf2,libcurl4-gnutls-dev:i386
tfc
ti
tmnf,libxml2-utils
ts
ts3
tu
Expand Down
2 changes: 1 addition & 1 deletion lgsm/modules/core_getopt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ currentopt+=("${cmd_update_linuxgsm[@]}")

# Exclude noupdate games here.
if [ "${shortname}" == "jk2" ] || [ "${engine}" != "idtech3" ]; then
if [ "${shortname}" != "bf1942" ] && [ "${shortname}" != "bfv" ] && [ "${engine}" != "idtech2" ] && [ "${engine}" != "iw2.0" ] && [ "${engine}" != "iw3.0" ] && [ "${engine}" != "quake" ] && [ "${shortname}" != "samp" ] && [ "${shortname}" != "ut2k4" ]; then
if [ "${shortname}" != "bf1942" ] && [ "${shortname}" != "bfv" ] && [ "${engine}" != "idtech2" ] && [ "${engine}" != "iw2.0" ] && [ "${engine}" != "iw3.0" ] && [ "${engine}" != "quake" ] && [ "${shortname}" != "samp" ] && [ "${shortname}" != "tmnf" ] && [ "${shortname}" != "ut2k4" ]; then
currentopt+=("${cmd_update[@]}" "${cmd_check_update[@]}")
# force update for SteamCMD or Multi Theft Auto only.
if [ "${appid}" ] || [ "${shortname}" == "mta" ]; then
Expand Down
21 changes: 21 additions & 0 deletions lgsm/modules/info_game.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1438,6 +1438,25 @@ fn_info_game_jk2() {
serverversion="${serverversion:-"NOT SET"}"
}

# Config Type: xml
# Comment: <!-- -->
# Example: <name>LinuxGSM</name>
# Filetype: xml
fn_info_game_maniaplanet() {
if [ -f "${servercfgfullpath}" ]; then
fn_info_game_xml "servername" "/dedicated/server_options/name"
fn_info_game_xml "maxplayers" "/dedicated/server_options/max_players"
fn_info_game_xml "serverpassword" "/dedicated/server_options/password"
fn_info_game_xml "port" "/dedicated/system_config/server_port"
fn_info_game_xml "queryport" "/dedicated/system_config/xmlrpc_port"
fi
servername="${servername:-"NOT SET"}"
maxplayers="${maxplayers:-"0"}"
serverpassword="${serverpassword:-"NOT SET"}"
port="${port:-"0"}"
queryport="${port:-"0"}"
}

# Config Type: Java properties
# Comment: # or !
# Example: motd=SERVERNAME
Expand Down Expand Up @@ -2379,6 +2398,8 @@ elif [ "${shortname}" == "kf" ]; then
fn_info_game_kf
elif [ "${shortname}" == "kf2" ]; then
fn_info_game_kf2
elif [ "${engine}" == "maniaplanet" ]; then
fn_info_game_maniaplanet
elif [ "${shortname}" == "mc" ] || [ "${shortname}" == "pmc" ]; then
fn_info_game_mc
elif [ "${shortname}" == "mcb" ]; then
Expand Down
7 changes: 7 additions & 0 deletions lgsm/modules/install_server_files.sh
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,13 @@ fn_install_server_files() {
run="norun"
force="noforce"
md5="201e23bab04207d00ce813d001c483d9"
elif [ "${shortname}" == "tmnf" ]; then
remote_fileurl="http://files2.trackmaniaforever.com/TrackmaniaServer_2011-02-21.zip"
local_filedir="${tmpdir}"
local_filename="TrackmaniaServer_2011-02-21.zip"
chmodx="nochmodx" run="norun"
force="noforce"
md5="dd021f49c3d58d45ee09f333015bdb35b19243a38fa65f202ca8a88fb6550c0b" # sha256 sum
elif [ "${shortname}" == "ts" ]; then
remote_fileurl="http://linuxgsm.download/TheSpecialists/ts-3-linux-final.tar.xz"
local_filedir="${tmpdir}"
Expand Down