Initial commit

This commit is contained in:
Marco Cawthorne 2023-11-18 09:53:08 -08:00
commit 5a027ad146
Signed by: eukara
GPG Key ID: CE2032F0A2882A22
20 changed files with 309 additions and 0 deletions

35
README.md Normal file
View File

@ -0,0 +1,35 @@
# FreeHL Server Configs
Here's our systemd service files as well as the configs
we run on our FreeHL test servers.
Clone this directory into the root of your dedicated
server setup.
## In case you need the dedicated server...
You can bootstrap a dedicated server with this gist:
https://code.idtech.space/eukara/gist/raw/branch/main/freehlded-bootstrap.sh
## When you have the dedicated server files...
...and you cloned this repo into its own directory inside of it, e.g. `configs/`,
simply run `./copy-cfgs.sh` and it will copy the `server.cfg` files.
You can also run `./install-services.sh` to install the systemd service files.
From then on you can enable them all like this:
sudo systemctl enable freehl-cstrike
sudo systemctl enable freehl-dmc
sudo systemctl enable freehl-gearbox
sudo systemctl enable freehl-hunger
sudo systemctl enable freehl-rewolf
sudo systemctl enable freehl-scihunt
sudo systemctl enable freehl-tfc
sudo systemctl enable freehl-valve
etc.

13
copy-cfgs.sh Executable file
View File

@ -0,0 +1,13 @@
#!/bin/sh
find ./ -type f -name 'server.cfg' -print | while read LINE
do
DIR=$(dirname "$LINE")
cp -va "$LINE" "../$DIR/server.cfg"
done
find ./ -type f -name 'mapcycle.txt' -print | while read LINE
do
DIR=$(dirname "$LINE")
cp -va "$LINE" "../$DIR/mapcycle.txt"
done

8
cstrike/server.cfg Normal file
View File

@ -0,0 +1,8 @@
hostname "FreeCS Test Server"
set sv_public 2
set deathmatch 1
set coop 0
set maxplayers 16
set mp_timelimit 20
set pausable 0
map de_dust2

9
dmc/server.cfg Normal file
View File

@ -0,0 +1,9 @@
hostname "FreeDMC Test Server"
set sv_public 2
set deathmatch 1
set coop 0
set maxplayers 16
set mp_timelimit 10
set mp_fraglimit 30
set pausable 0
map dcdm5

22
freehl-cstrike.service Normal file
View File

@ -0,0 +1,22 @@
[Unit]
Description=FreeHL-CStrike
[Service]
ExecReload=/bin/kill $MAINPID
KillMode=process
Restart=on-failure
; You want to adjust these for your user, this example assumes debian
User=debian
Environment="HOME=/home/debian"
WorkingDirectory=/home/debian/halflife/
ExecStart=/home/debian/halflife/fteqw-sv64 -halflife -game cstrike
PrivateTmp=true
ProtectHome=false
ProtectSystem=full
PrivateDevices=false
CapabilityBoundingSet=~CAP_SYS_ADMIN
[Install]
WantedBy=multi-user.target

22
freehl-dmc.service Normal file
View File

@ -0,0 +1,22 @@
[Unit]
Description=FreeHL-DMC
[Service]
ExecReload=/bin/kill $MAINPID
KillMode=process
Restart=on-failure
; You want to adjust these for your user, this example assumes debian
User=debian
Environment="HOME=/home/debian"
WorkingDirectory=/home/debian/halflife/
ExecStart=/home/debian/halflife/fteqw-sv64 -halflife -game dmc
PrivateTmp=true
ProtectHome=false
ProtectSystem=full
PrivateDevices=false
CapabilityBoundingSet=~CAP_SYS_ADMIN
[Install]
WantedBy=multi-user.target

22
freehl-gearbox.service Normal file
View File

@ -0,0 +1,22 @@
[Unit]
Description=FreeHL-Gearbox
[Service]
ExecReload=/bin/kill $MAINPID
KillMode=process
Restart=on-failure
; You want to adjust these for your user, this example assumes debian
User=debian
Environment="HOME=/home/debian"
WorkingDirectory=/home/debian/halflife/
ExecStart=/home/debian/halflife/fteqw-sv64 -halflife -game gearbox
PrivateTmp=true
ProtectHome=false
ProtectSystem=full
PrivateDevices=false
CapabilityBoundingSet=~CAP_SYS_ADMIN
[Install]
WantedBy=multi-user.target

22
freehl-hunger.service Normal file
View File

@ -0,0 +1,22 @@
[Unit]
Description=FreeHL-Hunger
[Service]
ExecReload=/bin/kill $MAINPID
KillMode=process
Restart=on-failure
; You want to adjust these for your user, this example assumes debian
User=debian
Environment="HOME=/home/debian"
WorkingDirectory=/home/debian/halflife/
ExecStart=/home/debian/halflife/fteqw-sv64 -halflife -game hunger
PrivateTmp=true
ProtectHome=false
ProtectSystem=full
PrivateDevices=false
CapabilityBoundingSet=~CAP_SYS_ADMIN
[Install]
WantedBy=multi-user.target

22
freehl-rewolf.service Normal file
View File

@ -0,0 +1,22 @@
[Unit]
Description=FreeHL-Rewolf
[Service]
ExecReload=/bin/kill $MAINPID
KillMode=process
Restart=on-failure
; You want to adjust these for your user, this example assumes debian
User=debian
Environment="HOME=/home/debian"
WorkingDirectory=/home/debian/halflife/
ExecStart=/home/debian/halflife/fteqw-sv64 -halflife -game rewolf
PrivateTmp=true
ProtectHome=false
ProtectSystem=full
PrivateDevices=false
CapabilityBoundingSet=~CAP_SYS_ADMIN
[Install]
WantedBy=multi-user.target

22
freehl-scihunt.service Normal file
View File

@ -0,0 +1,22 @@
[Unit]
Description=FreeHL-Scihunt
[Service]
ExecReload=/bin/kill $MAINPID
KillMode=process
Restart=on-failure
; You want to adjust these for your user, this example assumes debian
User=debian
Environment="HOME=/home/debian"
WorkingDirectory=/home/debian/halflife/
ExecStart=/home/debian/halflife/fteqw-sv64 -halflife -game scihunt
PrivateTmp=true
ProtectHome=false
ProtectSystem=full
PrivateDevices=false
CapabilityBoundingSet=~CAP_SYS_ADMIN
[Install]
WantedBy=multi-user.target

22
freehl-tfc.service Normal file
View File

@ -0,0 +1,22 @@
[Unit]
Description=FreeHL-TFC
[Service]
ExecReload=/bin/kill $MAINPID
KillMode=process
Restart=on-failure
; You want to adjust these for your user, this example assumes debian
User=debian
Environment="HOME=/home/debian"
WorkingDirectory=/home/debian/halflife/
ExecStart=/home/debian/halflife/fteqw-sv64 -halflife -game tfc
PrivateTmp=true
ProtectHome=false
ProtectSystem=full
PrivateDevices=false
CapabilityBoundingSet=~CAP_SYS_ADMIN
[Install]
WantedBy=multi-user.target

22
freehl-valve.service Normal file
View File

@ -0,0 +1,22 @@
[Unit]
Description=FreeHL-Valve
[Service]
ExecReload=/bin/kill $MAINPID
KillMode=process
Restart=on-failure
; You want to adjust these for your user, this example assumes debian
User=debian
Environment="HOME=/home/debian"
WorkingDirectory=/home/debian/halflife/
ExecStart=/home/debian/halflife/fteqw-sv64 -halflife
PrivateTmp=true
ProtectHome=false
ProtectSystem=full
PrivateDevices=false
CapabilityBoundingSet=~CAP_SYS_ADMIN
[Install]
WantedBy=multi-user.target

9
gearbox/server.cfg Normal file
View File

@ -0,0 +1,9 @@
hostname "FreeOP4 Test Server"
set sv_public 2
set deathmatch 1
set coop 0
set maxplayers 16
set mp_timelimit 10
set mp_fraglimit 30
set pausable 0
map op4_datacore

5
hunger/mapcycle.txt Normal file
View File

@ -0,0 +1,5 @@
thdm1
thdm2
thdm3
thdm4
thdm5

9
hunger/server.cfg Normal file
View File

@ -0,0 +1,9 @@
hostname "StillHungry Test Server"
set sv_public 2
set deathmatch 1
set coop 0
set maxplayers 16
set mp_timelimit 10
set mp_fraglimit 30
set pausable 0
map thdm1

9
install-services.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/sh
SERVICE_DIR="/etc/systemd/system"
find ./ -type f -name '*.service' -print | while read LINE
do
FILE=$(basename "$LINE")
cp -v "$FILE" "$SERVICE_DIR/$FILE"
done

9
rewolf/server.cfg Normal file
View File

@ -0,0 +1,9 @@
hostname "FreeGunman Test Server"
set sv_public 2
set deathmatch 1
set coop 0
set maxplayers 16
set mp_timelimit 10
set mp_fraglimit 30
set pausable 0
map highnoon

10
scihunt/server.cfg Normal file
View File

@ -0,0 +1,10 @@
hostname "FreeSci Test Server"
set sv_public 2
set deathmatch 1
set coop 0
set maxplayers 16
set mp_timelimit 10
set mp_fraglimit 30
set pausable 0
set sh_scimax 50
map 5amsci

8
tfc/server.cfg Normal file
View File

@ -0,0 +1,8 @@
hostname "FreeTFC Test Server"
set sv_public 2
set deathmatch 1
set coop 0
set maxplayers 16
set mp_timelimit 30
set pausable 0
map 2fort

9
valve/server.cfg Normal file
View File

@ -0,0 +1,9 @@
hostname "FreeHL Test Server"
set sv_public 2
set deathmatch 1
set coop 0
set maxplayers 16
set mp_timelimit 10
set mp_fraglimit 30
set pausable 0
map crossfire