Skip to content

Commit 1e40374

Browse files
authored
feat(orarserver): add OpenRA Red Alert dedicated server (#5102)
Adds orarserver for OpenRA: Red Alert using the official stable Linux x86_64 AppImage. LinuxGSM extracts the package so installation does not require FUSE, manages start/stop, checks the TCP game port and updates from the upstream stable GitHub release. Updates stage and validate the new package before replacing the old one, restoring the previous engine if the swap fails. Instance data is stored outside the replaceable engine directory. orar is added to the shared Update Check matrix. Related to #2233.
1 parent 79d0fbb commit 1e40374

36 files changed

Lines changed: 426 additions & 3 deletions

‎.github/workflows/action-update-check.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
strategy:
2323
fail-fast: false
2424
matrix:
25-
shortname: [css, fctr, jk2, mc, mcb, mta, pmc, ts3, ut99, vints, xnt]
25+
shortname: [css, fctr, jk2, mc, mcb, mta, orar, pmc, ts3, ut99, vints, xnt]
2626

2727
steps:
2828
- name: Download linuxgsm.sh
Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
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+
servername="LinuxGSM"
12+
serverpassword=""
13+
port="1234"
14+
advertiseonline="True"
15+
advertiseonlocalnetwork="True"
16+
enablesingleplayer="True"
17+
recordreplays="False"
18+
19+
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
20+
startparameters="--server Server.Name=\"${servername}\" Server.Password=\"${serverpassword}\" Server.ListenPort=${port} Server.AdvertiseOnline=${advertiseonline} Server.AdvertiseOnLocalNetwork=${advertiseonlocalnetwork} Server.EnableSingleplayer=${enablesingleplayer} Server.RecordReplays=${recordreplays} Engine.SupportDir=\"${servercfgdir}\""
21+
22+
## Extra Parameters | https://docs.linuxgsm.com/configuration/start-parameters#extra-parameters
23+
# Added to the end of startparameters.
24+
extraparams=""
25+
26+
#### LinuxGSM Settings ####
27+
28+
## LinuxGSM Stats
29+
# Send useful stats to LinuxGSM developers.
30+
# https://docs.linuxgsm.com/configuration/linuxgsm-stats
31+
# (on|off)
32+
stats="off"
33+
34+
## Notification Alerts
35+
# (on|off)
36+
37+
# Display IP | https://docs.linuxgsm.com/alerts#display-ip
38+
displayip=""
39+
40+
# More info | https://docs.linuxgsm.com/alerts#more-info
41+
postalert="off"
42+
43+
# Alert on Start/Stop/Restart
44+
statusalert="off"
45+
46+
# Discord Alerts | https://docs.linuxgsm.com/alerts/discord
47+
discordalert="off"
48+
discordwebhook="webhook"
49+
50+
# Email Alerts | https://docs.linuxgsm.com/alerts/email
51+
emailalert="off"
52+
email="email@example.com"
53+
emailfrom=""
54+
55+
# Gotify Alerts | https://docs.linuxgsm.com/alerts/gotify
56+
gotifyalert="off"
57+
gotifytoken="token"
58+
gotifywebhook="webhook"
59+
60+
# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt
61+
iftttalert="off"
62+
ifttttoken="accesstoken"
63+
iftttevent="linuxgsm_alert"
64+
65+
# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
66+
ntfyalert="off"
67+
ntfytopic="LinuxGSM"
68+
ntfyserver="https://ntfy.sh"
69+
ntfytoken=""
70+
ntfyusername=""
71+
ntfypassword=""
72+
ntfypriority=""
73+
ntfytags=""
74+
75+
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
76+
matrixalert="off"
77+
matrixhomeserver="matrix.org"
78+
matrixtoken="accesstoken"
79+
matrixroom=""
80+
81+
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
82+
pushbulletalert="off"
83+
pushbullettoken="accesstoken"
84+
channeltag=""
85+
86+
# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover
87+
pushoveralert="off"
88+
pushovertoken="accesstoken"
89+
pushoveruserkey="userkey"
90+
91+
# Rocket.Chat Alerts | https://docs.linuxgsm.com/alerts/rocket.chat
92+
rocketchatalert="off"
93+
rocketchatwebhook="webhook"
94+
95+
# Slack Alerts | https://docs.linuxgsm.com/alerts/slack
96+
slackalert="off"
97+
slackwebhook="webhook"
98+
99+
# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
100+
# You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
101+
# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
102+
telegramapi="api.telegram.org"
103+
telegramalert="off"
104+
telegramtoken="accesstoken"
105+
telegramchatid=""
106+
telegramthreadid=""
107+
telegramsilentnotification="false"
108+
curlcustomstring=""
109+
110+
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
111+
stoponlyifnoplayers="off"
112+
stoponlyifnoplayersallcommands="on"
113+
114+
## Player Warnings | https://docs.linuxgsm.com/features/player-warnings
115+
# Minutes to warn players in-game before a stop, restart or update. 0 to disable.
116+
# e.g. 15 warns at 15, 10, 5, 3 and 1 minutes.
117+
warnplayerstimer="0"
118+
119+
## Updating | https://docs.linuxgsm.com/commands/update
120+
updateonstart="off"
121+
122+
## Backup | https://docs.linuxgsm.com/commands/backup
123+
maxbackups="4"
124+
maxbackupdays="30"
125+
stoponbackup="on"
126+
127+
## Logging | https://docs.linuxgsm.com/features/logging
128+
consolelogging="on"
129+
logdays="7"
130+
131+
## Monitor | https://docs.linuxgsm.com/commands/monitor
132+
# Query delay time
133+
querydelay="1"
134+
135+
## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
136+
ansi="on"
137+
138+
#### Advanced Settings ####
139+
140+
## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
141+
sleeptime="0.5"
142+
143+
## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
144+
# 1: tmux kill
145+
# 2: CTRL+c
146+
# 3: quit
147+
# 4: quit 120s
148+
# 5: stop
149+
# 6: q
150+
# 7: exit
151+
# 8: 7 Days to Die
152+
# 9: GoldSrc
153+
# 10: Avorion
154+
# 11: end
155+
stopmode="2"
156+
157+
## Query mode
158+
# 1: session only
159+
# 2: gamedig (gsquery fallback)
160+
# 3: gamedig
161+
# 4: gsquery
162+
# 5: tcp
163+
querymode="5"
164+
querytype=""
165+
166+
## Console type
167+
consoleverbose="yes"
168+
consoleinteract="no"
169+
170+
## Game Server Details
171+
# Do not edit
172+
gamename="OpenRA: Red Alert"
173+
engine="openra"
174+
glibc="2.17"
175+
176+
#### Directories ####
177+
# Edit with care
178+
179+
## Game Server Directories
180+
systemdir="${serverfiles}"
181+
executabledir="${serverfiles}/openra"
182+
preexecutable=""
183+
executable="./AppRun"
184+
servercfgdir="${serverfiles}/data/${selfname}"
185+
servercfg=""
186+
servercfgdefault=""
187+
servercfgfullpath=""
188+
189+
## Backup Directory
190+
backupdir="${lgsmdir}/backup"
191+
192+
## Logging Directories
193+
[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log"
194+
gamelogdir="${servercfgdir}/Logs"
195+
lgsmlogdir="${logdir}/script"
196+
consolelogdir="${logdir}/console"
197+
lgsmlog="${lgsmlogdir}/${selfname}-script.log"
198+
consolelog="${consolelogdir}/${selfname}-console.log"
199+
alertlog="${lgsmlogdir}/${selfname}-alert.log"
200+
postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
201+
202+
## Logs Naming
203+
lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
204+
consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
205+
206+
## Log Parameters
207+
logtimestamp="off"
208+
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 @@ ns2,speex,tbb
8585
ns2c,speex.i686,tbb.i686
8686
ohd
8787
onset,mariadb-connector-c
88+
orar,libicu,openssl-libs,zlib
8889
opfor
8990
pc
9091
pc2

‎lgsm/data/almalinux-9.csv‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ ns2,speex,tbb
8585
ns2c,speex.i686,tbb.i686
8686
ohd
8787
onset,mariadb-connector-c
88+
orar,libicu,openssl-libs,zlib
8889
opfor
8990
pc
9091
pc2

‎lgsm/data/centos-7.csv‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ ns2,speex,tbb
8585
ns2c,speex.i686,tbb.i686
8686
ohd
8787
onset,mariadb-connector-c
88+
orar
8889
opfor
8990
pc
9091
pc2

‎lgsm/data/centos-8.csv‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ ns2,speex,tbb
8585
ns2c,speex.i686,tbb.i686
8686
ohd
8787
onset,mariadb-connector-c
88+
orar
8889
opfor
8990
pc
9091
pc2

‎lgsm/data/centos-9.csv‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ ns2,speex,tbb
8585
ns2c,speex.i686,tbb.i686
8686
ohd
8787
onset,mariadb-connector-c
88+
orar
8889
opfor
8990
pc
9091
pc2

‎lgsm/data/debian-10.csv‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ ns2,speex,libtbb2
8484
ns2c,speex:i386,libtbb2
8585
ohd
8686
onset,libmariadb-dev
87+
orar
8788
opfor
8889
pc
8990
pc2

‎lgsm/data/debian-11.csv‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ ns2,speex,libtbb2
8585
ns2c,speex:i386,libtbb2
8686
ohd
8787
onset,libmariadb-dev
88+
orar,libicu67,libssl1.1,zlib1g
8889
opfor
8990
pc
9091
pc2

‎lgsm/data/debian-12.csv‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ ns2,speex,libtbb12
8585
ns2c,speex:i386,libtbb12
8686
ohd
8787
onset,libmariadb-dev
88+
orar,libicu72,libssl3,zlib1g
8889
opfor
8990
pc
9091
pc2

0 commit comments

Comments
 (0)