cstrike | ||
dmc | ||
gearbox | ||
hunger | ||
rewolf | ||
scihunt | ||
tfc | ||
valve | ||
copy-cfgs.sh | ||
disable-services.sh | ||
enable-services.sh | ||
freehl.service | ||
freehl@.service | ||
install-services.sh | ||
README.md | ||
restart-services.sh | ||
stop-services.sh |
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.
systemd services, the rundown
You can also run sudo ./install-services.sh
to install the systemd service files.
Do edit them first, they assume the dedicated server sits in ~/halflife
. They'll be run in user mode. If you want them to keep running after logging out, enable lingering like so: sudo loginctl enable-linger username
From then on you can enable them all like this:
./enable-services.sh
...to restart/launch them:
./restart-services.sh
etc. - you will figure it out.
For a new mod to be recognized by the service scripts, you simply need to have a sub-directory with a server.cfg
file and it'll assume you've got a mod directory set up within your installation.
If you're unfamilar with how systemd units work, this is how you host a new mod via a systemctl:
systemctl --user start freehl@moddir
Should be self explanatory? That's basically all those scripts do, iterate over the mod directories and run those commands over and over.
-- eukara