wesnoth/packaging/systemd/wesnothd.service.in
2024-05-07 18:58:57 -05:00

49 lines
1.4 KiB
SYSTEMD

[Unit]
Description=Wesnoth@BINARY_SUFFIX@ Multiplayer Server Daemon
Documentation=https://www.wesnoth.org/wiki/ServerAdministration
Documentation=man:wesnothd(6)
After=network.target
# Other wesnothd installations use the same port by default
# Conflicts=wesnothd-1.12.service wesnothd-1.10.service
[Service]
# If wesnothd is started from within the game it runs under a different user
# Deleting the pipe resets owner, group and mode
ExecStartPre=/bin/rm -f @FIFO_DIR@/socket
ExecStart=@CMAKE_INSTALL_FULL_BINDIR@/wesnothd@BINARY_SUFFIX@
# You can use -c to specify the same configuration file
# which is used when starting wesnothd from within the wesnoth UI
# e.g. -c /home/user/.local/share/wesnoth/1.14/lan_server.cfg
# (and make sure wesnothd has the required access permissions)
ExecReload=/bin/kill -s SIGHUP $MAINPID
ExecStopPost=/bin/rm -f @FIFO_DIR@/socket
SyslogIdentifier=Wesnothd@BINARY_SUFFIX@
WorkingDirectory=@FIFO_DIR@
User=_wesnoth
Group=_wesnoth
# Additional security-related features
# (when using the -c option, do not use ProtectHome)
ProtectHome=yes
ProtectSystem=strict
ReadWritePaths=@FIFO_DIR@
PrivateTmp=yes
PrivateDevices=yes
NoNewPrivileges=yes
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
RestrictRealtime=yes
MemoryDenyWriteExecute=yes
SystemCallArchitectures=native
ProtectControlGroups=yes
ProtectKernelTunables=yes
ProtectKernelModules=yes
RestrictNamespaces=yes
LockPersonality=yes
[Install]
WantedBy=multi-user.target