Skip to content

Commit 2adc3ae

Browse files
committed
feat(newserver): TrackMania Nations Forever
1 parent 7a0fc70 commit 2adc3ae

24 files changed

+222
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
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+
gamesettings="Matchsettings/Nations/NationsWhite.txt"
13+
14+
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
15+
startparameters="/nodaemon /dedicated_cfg=${servercfg} /game_settings=${gamesettings}"
16+
17+
#### LinuxGSM Settings ####
18+
19+
## LinuxGSM Stats
20+
# Send useful stats to LinuxGSM developers.
21+
# https://docs.linuxgsm.com/configuration/linuxgsm-stats
22+
# (on|off)
23+
stats="off"
24+
25+
## Notification Alerts
26+
# (on|off)
27+
28+
# Display IP | https://docs.linuxgsm.com/alerts#display-ip
29+
displayip=""
30+
31+
# More info | https://docs.linuxgsm.com/alerts#more-info
32+
postalert="off"
33+
34+
# Alert on Start/Stop/Restart
35+
statusalert="off"
36+
37+
# Discord Alerts | https://docs.linuxgsm.com/alerts/discord
38+
discordalert="off"
39+
discordwebhook="webhook"
40+
41+
# Email Alerts | https://docs.linuxgsm.com/alerts/email
42+
emailalert="off"
43+
email="email@example.com"
44+
emailfrom=""
45+
46+
# Gotify Alerts | https://docs.linuxgsm.com/alerts/gotify
47+
gotifyalert="off"
48+
gotifytoken="token"
49+
gotifywebhook="webhook"
50+
51+
# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt
52+
iftttalert="off"
53+
ifttttoken="accesstoken"
54+
iftttevent="linuxgsm_alert"
55+
56+
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
57+
pushbulletalert="off"
58+
pushbullettoken="accesstoken"
59+
channeltag=""
60+
61+
# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover
62+
pushoveralert="off"
63+
pushovertoken="accesstoken"
64+
pushoveruserkey="userkey"
65+
66+
# Rocket.Chat Alerts | https://docs.linuxgsm.com/alerts/rocket.chat
67+
rocketchatalert="off"
68+
rocketchatwebhook="webhook"
69+
70+
# Slack Alerts | https://docs.linuxgsm.com/alerts/slack
71+
slackalert="off"
72+
slackwebhook="webhook"
73+
74+
# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
75+
# You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
76+
# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
77+
telegramapi="api.telegram.org"
78+
telegramalert="off"
79+
telegramtoken="accesstoken"
80+
telegramchatid=""
81+
telegramthreadid=""
82+
telegramsilentnotification="false"
83+
curlcustomstring=""
84+
85+
## Updating | https://docs.linuxgsm.com/commands/update
86+
updateonstart="off"
87+
88+
## Backup | https://docs.linuxgsm.com/commands/backup
89+
maxbackups="4"
90+
maxbackupdays="30"
91+
stoponbackup="on"
92+
93+
## Logging | https://docs.linuxgsm.com/features/logging
94+
consolelogging="on"
95+
logdays="7"
96+
97+
## Monitor | https://docs.linuxgsm.com/commands/monitor
98+
# Query delay time
99+
querydelay="1"
100+
101+
## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
102+
ansi="on"
103+
104+
#### Advanced Settings ####
105+
106+
## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
107+
sleeptime="0.5"
108+
109+
## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
110+
# 1: tmux kill
111+
# 2: CTRL+c
112+
# 3: quit
113+
# 4: quit 120s
114+
# 5: stop
115+
# 6: q
116+
# 7: exit
117+
# 8: 7 Days to Die
118+
# 9: GoldSrc
119+
# 10: Avorion
120+
# 11: end
121+
stopmode="2"
122+
123+
## Query mode
124+
# 1: session only
125+
# 2: gamedig (gsquery fallback)
126+
# 3: gamedig
127+
# 4: gsquery
128+
# 5: tcp
129+
querymode="5"
130+
querytype=""
131+
132+
## Console type
133+
consoleverbose="no"
134+
consoleinteract="no"
135+
136+
## Game Server Details
137+
# Do not edit
138+
gamename="Trackmania Nations Forever"
139+
engine="maniaplanet"
140+
glibc="2.18"
141+
142+
#### Directories ####
143+
# Edit with care
144+
145+
## Game Server Directories
146+
systemdir="${serverfiles}"
147+
executabledir="${serverfiles}"
148+
executable="./TrackmaniaServer"
149+
servercfgdir="${systemdir}/GameData/Config"
150+
servercfg="${selfname}.xml"
151+
servercfgdefault="server.xml"
152+
servercfgfullpath="${servercfgdir}/${servercfg}"
153+
154+
## Backup Directory
155+
backupdir="${lgsmdir}/backup"
156+
157+
## Logging Directories
158+
[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log"
159+
gamelogdir="${systemdir}/Logs"
160+
lgsmlogdir="${logdir}/script"
161+
consolelogdir="${logdir}/console"
162+
lgsmlog="${lgsmlogdir}/${selfname}-script.log"
163+
consolelog="${consolelogdir}/${selfname}-console.log"
164+
alertlog="${lgsmlogdir}/${selfname}-alert.log"
165+
postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
166+
167+
## Logs Naming
168+
lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
169+
consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
170+
171+
## Log Parameters
172+
logtimestamp="off"
173+
logtimestampformat="%Y-%m-%d %H:%M:%S"

lgsm/data/almalinux-8.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl.i686
118118
tfc
119119
ti
120+
tmnf,libxml2
120121
ts
121122
ts3
122123
tu

lgsm/data/almalinux-9.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl.i686
118118
tfc
119119
ti
120+
tmnf,libxml2
120121
ts
121122
ts3
122123
tu

lgsm/data/centos-7.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl.i686
118118
tfc
119119
ti
120+
tmnf,libxml2
120121
ts
121122
ts3
122123
tu

lgsm/data/centos-8.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl.i686
118118
tfc
119119
ti
120+
tmnf,libxml2
120121
ts
121122
ts3
122123
tu

lgsm/data/centos-9.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl.i686
118118
tfc
119119
ti
120+
tmnf,libxml2
120121
ts
121122
ts3
122123
tu

lgsm/data/debian-10.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl4-gnutls-dev:i386
118118
tfc
119119
ti
120+
tmnf,libxml2-utils
120121
ts
121122
ts3
122123
tu

lgsm/data/debian-11.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl4-gnutls-dev:i386
118118
tfc
119119
ti
120+
tmnf,libxml2-utils
120121
ts
121122
ts3
122123
tu

lgsm/data/debian-12.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl4-gnutls-dev:i386
118118
tfc
119119
ti
120+
tmnf,libxml2-utils
120121
ts
121122
ts3
122123
tu

lgsm/data/debian-9.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl4-gnutls-dev:i386
118118
tfc
119119
ti
120+
tmnf,libxml2-utils
120121
ts
121122
ts3
122123
tu

lgsm/data/rhel-7.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl.i686
118118
tfc
119119
ti
120+
tmnf,libxml2
120121
ts
121122
ts3
122123
tu

lgsm/data/rhel-8.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl.i686
118118
tfc
119119
ti
120+
tmnf,libxml2
120121
ts
121122
ts3
122123
tu

lgsm/data/rhel-9.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl.i686
118118
tfc
119119
ti
120+
tmnf,libxml2
120121
ts
121122
ts3
122123
tu

lgsm/data/rocky-8.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl.i686
118118
tfc
119119
ti
120+
tmnf,libxml2
120121
ts
121122
ts3
122123
tu

lgsm/data/rocky-9.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl.i686
118118
tfc
119119
ti
120+
tmnf,libxml2
120121
ts
121122
ts3
122123
tu

lgsm/data/serverlist.csv

+1
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ tf,tfserver,The Front,ubuntu-24.04
116116
tf2,tf2server,Team Fortress 2,ubuntu-24.04
117117
tfc,tfcserver,Team Fortress Classic,ubuntu-24.04
118118
ti,tiserver,The Isle,ubuntu-24.04
119+
tmnf,tmnfserver,Trackmania Nations Forever,ubuntu-24.04
119120
ts,tsserver,The Specialists,ubuntu-24.04
120121
ts3,ts3server,Teamspeak 3,ubuntu-24.04
121122
tu,tuserver,Tower Unite,ubuntu-24.04

lgsm/data/ubuntu-16.04.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl4-gnutls-dev:i386
118118
tfc
119119
ti
120+
tmnf,libxml2-utils
120121
ts
121122
ts3
122123
tu

lgsm/data/ubuntu-18.04.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl4-gnutls-dev:i386
118118
tfc
119119
ti
120+
tmnf,libxml2-utils
120121
ts
121122
ts3
122123
tu

lgsm/data/ubuntu-20.04.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl4-gnutls-dev:i386
118118
tfc
119119
ti
120+
tmnf,libxml2-utils
120121
ts
121122
ts3
122123
tu

lgsm/data/ubuntu-22.04.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl4-gnutls-dev:i386
118118
tfc
119119
ti
120+
tmnf,libxml2-utils
120121
ts
121122
ts3
122123
tu

lgsm/data/ubuntu-23.04.csv

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ tf
117117
tf2,libcurl4-gnutls-dev:i386
118118
tfc
119119
ti
120+
tmnf,libxml2-utils
120121
ts
121122
ts3
122123
tu

lgsm/modules/core_getopt.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ currentopt+=("${cmd_update_linuxgsm[@]}")
6868

6969
# Exclude noupdate games here.
7070
if [ "${shortname}" == "jk2" ] || [ "${engine}" != "idtech3" ]; then
71-
if [ "${shortname}" != "bf1942" ] && [ "${shortname}" != "bfv" ] && [ "${engine}" != "idtech2" ] && [ "${engine}" != "iw2.0" ] && [ "${engine}" != "iw3.0" ] && [ "${engine}" != "quake" ] && [ "${shortname}" != "samp" ] && [ "${shortname}" != "ut2k4" ]; then
71+
if [ "${shortname}" != "bf1942" ] && [ "${shortname}" != "bfv" ] && [ "${engine}" != "idtech2" ] && [ "${engine}" != "iw2.0" ] && [ "${engine}" != "iw3.0" ] && [ "${engine}" != "quake" ] && [ "${shortname}" != "samp" ] && [ "${shortname}" != "tmnf" ] && [ "${shortname}" != "ut2k4" ]; then
7272
currentopt+=("${cmd_update[@]}" "${cmd_check_update[@]}")
7373
# force update for SteamCMD or Multi Theft Auto only.
7474
if [ "${appid}" ] || [ "${shortname}" == "mta" ]; then

lgsm/modules/info_game.sh

+21
Original file line numberDiff line numberDiff line change
@@ -1442,6 +1442,25 @@ fn_info_game_jk2() {
14421442
serverversion="${serverversion:-"NOT SET"}"
14431443
}
14441444

1445+
# Config Type: xml
1446+
# Comment: <!-- -->
1447+
# Example: <name>LinuxGSM</name>
1448+
# Filetype: xml
1449+
fn_info_game_maniaplanet() {
1450+
if [ -f "${servercfgfullpath}" ]; then
1451+
fn_info_game_xml "servername" "/dedicated/server_options/name"
1452+
fn_info_game_xml "maxplayers" "/dedicated/server_options/max_players"
1453+
fn_info_game_xml "serverpassword" "/dedicated/server_options/password"
1454+
fn_info_game_xml "port" "/dedicated/system_config/server_port"
1455+
fn_info_game_xml "queryport" "/dedicated/system_config/xmlrpc_port"
1456+
fi
1457+
servername="${servername:-"NOT SET"}"
1458+
maxplayers="${maxplayers:-"0"}"
1459+
serverpassword="${serverpassword:-"NOT SET"}"
1460+
port="${port:-"0"}"
1461+
queryport="${port:-"0"}"
1462+
}
1463+
14451464
# Config Type: Java properties
14461465
# Comment: # or !
14471466
# Example: motd=SERVERNAME
@@ -2386,6 +2405,8 @@ elif [ "${shortname}" == "kf" ]; then
23862405
fn_info_game_kf
23872406
elif [ "${shortname}" == "kf2" ]; then
23882407
fn_info_game_kf2
2408+
elif [ "${engine}" == "maniaplanet" ]; then
2409+
fn_info_game_maniaplanet
23892410
elif [ "${shortname}" == "mc" ] || [ "${shortname}" == "pmc" ]; then
23902411
fn_info_game_mc
23912412
elif [ "${shortname}" == "mcb" ]; then

lgsm/modules/install_server_files.sh

+7
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,13 @@ fn_install_server_files() {
160160
run="norun"
161161
force="noforce"
162162
md5="201e23bab04207d00ce813d001c483d9"
163+
elif [ "${shortname}" == "tmnf" ]; then
164+
remote_fileurl="http://files2.trackmaniaforever.com/TrackmaniaServer_2011-02-21.zip"
165+
local_filedir="${tmpdir}"
166+
local_filename="TrackmaniaServer_2011-02-21.zip"
167+
chmodx="nochmodx" run="norun"
168+
force="noforce"
169+
md5="dd021f49c3d58d45ee09f333015bdb35b19243a38fa65f202ca8a88fb6550c0b" # sha256 sum
163170
elif [ "${shortname}" == "ts" ]; then
164171
remote_fileurl="http://linuxgsm.download/TheSpecialists/ts-3-linux-final.tar.xz"
165172
local_filedir="${tmpdir}"

0 commit comments

Comments
 (0)