WIP: ...
This commit is contained in:
10
SOURCES/main/firewalld/kf2-srv.xml
Normal file
10
SOURCES/main/firewalld/kf2-srv.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<short>kf2-srv</short>
|
||||
<description>Killing Floor 2 server</description>
|
||||
<port protocol="udp" port="7777"/>
|
||||
<port protocol="udp" port="27015"/>
|
||||
<port protocol="tcp" port="8080"/>
|
||||
<port protocol="udp" port="20560"/>
|
||||
<port protocol="udp" port="123"/>
|
||||
</service>
|
1282
SOURCES/main/kf2-srv
Normal file
1282
SOURCES/main/kf2-srv
Normal file
File diff suppressed because it is too large
Load Diff
22
SOURCES/main/kf2-srv-beta
Normal file
22
SOURCES/main/kf2-srv-beta
Normal file
@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
# kf2-srv is a command line tool for managing a set of Killing Floor 2 servers.
|
||||
# Copyright (C) 2019, 2020 GenZmeY
|
||||
# mailto: genzmey@gmail.com
|
||||
#
|
||||
# This file is part of kf2-srv.
|
||||
#
|
||||
# kf2-srv is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
/usr/bin/kf2-srv beta $*
|
17
SOURCES/main/logrotate/kf2-srv
Normal file
17
SOURCES/main/logrotate/kf2-srv
Normal file
@ -0,0 +1,17 @@
|
||||
/var/log/kf2-srv/*.log
|
||||
/var/log/kf2-srv-beta/*.log
|
||||
{
|
||||
su root steam
|
||||
daily
|
||||
missingok
|
||||
rotate 7
|
||||
create 0644
|
||||
missingok
|
||||
compress
|
||||
notifempty
|
||||
postrotate
|
||||
test -s /run/rsyslogd.pid && kill -HUP $(cat /run/rsyslogd.pid)
|
||||
# postrotate script should always return 0
|
||||
true
|
||||
endscript
|
||||
}
|
10
SOURCES/main/rsyslog/kf2-srv.conf
Normal file
10
SOURCES/main/rsyslog/kf2-srv.conf
Normal file
@ -0,0 +1,10 @@
|
||||
global(parser.permitSlashInProgramName="on")
|
||||
|
||||
template(name="DynFile" type="string" string="/var/log/%programname%.log")
|
||||
|
||||
if ($programname startswith "kf2-srv") then
|
||||
{
|
||||
action(Type="omfile" DynaFile="DynFile" FileCreateMode="0640" Umask="0027" FileOwner="root" FileGroup="steam")
|
||||
stop
|
||||
}
|
||||
|
30
SOURCES/main/systemd/kf2-srv-beta-update.service
Normal file
30
SOURCES/main/systemd/kf2-srv-beta-update.service
Normal file
@ -0,0 +1,30 @@
|
||||
[Unit]
|
||||
Description=Check and Update Killing Floor 2 server
|
||||
After=network-online.target
|
||||
Requires=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
|
||||
ExecStart=/usr/bin/kf2-srv-beta --chat 'Scheduled server restart at 4:00 (MSK)'
|
||||
ExecStart=/usr/bin/kf2-srv-beta --chat 'Server will restart after 30 minutes'
|
||||
ExecStart=/bin/sleep 15m
|
||||
|
||||
ExecStart=/usr/bin/kf2-srv-beta --chat 'Server will restart after 15 minutes'
|
||||
ExecStart=/bin/sleep 10m
|
||||
|
||||
ExecStart=/usr/bin/kf2-srv-beta --chat 'Server will restart after 5 minutes'
|
||||
ExecStart=/bin/sleep 5m
|
||||
|
||||
ExecStart=/usr/bin/kf2-srv-beta --chat 'Server shutting down...'
|
||||
ExecStart=/bin/sleep 5s
|
||||
|
||||
ExecStart=/usr/bin/kf2-srv-beta --update
|
||||
|
||||
PrivateTmp=true
|
||||
PrivateDevices=true
|
||||
ProtectHome=false
|
||||
ProtectSystem=false
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
9
SOURCES/main/systemd/kf2-srv-beta-update.timer
Normal file
9
SOURCES/main/systemd/kf2-srv-beta-update.timer
Normal file
@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Check and Update killing Floor 2 beta job
|
||||
|
||||
[Timer]
|
||||
OnCalendar=Wed, 03:30
|
||||
Unit=kf2-srv-beta-update.service
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
25
SOURCES/main/systemd/kf2-srv-beta@.service
Normal file
25
SOURCES/main/systemd/kf2-srv-beta@.service
Normal file
@ -0,0 +1,25 @@
|
||||
[Unit]
|
||||
Description=Killing Floor 2 Beta Server Daemon - %i
|
||||
After=kf2-srv-force-attr.service
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
User=steam
|
||||
Group=steam
|
||||
Type=simple
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
SyslogIdentifier=kf2-srv-beta/%i
|
||||
EnvironmentFile=/etc/kf2-srv/instances-beta/%i/instance.conf
|
||||
ExecStart=/usr/games/kf2-srv-beta/Binaries/Win64/KFGameSteamServer.bin.x86_64 ${Map}?Difficulty=${Difficulty}?GameLength=${Length}?Game=${Game}?Mutator=${Mutators}?${Args} configsubdir=instances/%i -webadminport=${PortWeb} -queryport=${PortQuery} -port=${PortGame}
|
||||
Restart=always
|
||||
|
||||
NoNewPrivileges=yes
|
||||
PrivateTmp=true
|
||||
PrivateDevices=true
|
||||
ProtectHome=true
|
||||
ProtectSystem=false
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
30
SOURCES/main/systemd/kf2-srv-update.service
Normal file
30
SOURCES/main/systemd/kf2-srv-update.service
Normal file
@ -0,0 +1,30 @@
|
||||
[Unit]
|
||||
Description=Check and Update Killing Floor 2 server
|
||||
After=network-online.target
|
||||
Requires=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
|
||||
ExecStart=/usr/bin/kf2-srv --chat 'Scheduled server restart at 4:00 (MSK)'
|
||||
ExecStart=/usr/bin/kf2-srv --chat 'Server will restart after 30 minutes'
|
||||
ExecStart=/bin/sleep 15m
|
||||
|
||||
ExecStart=/usr/bin/kf2-srv --chat 'Server will restart after 15 minutes'
|
||||
ExecStart=/bin/sleep 10m
|
||||
|
||||
ExecStart=/usr/bin/kf2-srv --chat 'Server will restart after 5 minutes'
|
||||
ExecStart=/bin/sleep 5m
|
||||
|
||||
ExecStart=/usr/bin/kf2-srv --chat 'Server shutting down...'
|
||||
ExecStart=/bin/sleep 5s
|
||||
|
||||
ExecStart=/usr/bin/kf2-srv --update
|
||||
|
||||
PrivateTmp=true
|
||||
PrivateDevices=true
|
||||
ProtectHome=false
|
||||
ProtectSystem=false
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
9
SOURCES/main/systemd/kf2-srv-update.timer
Normal file
9
SOURCES/main/systemd/kf2-srv-update.timer
Normal file
@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Check and Update killing Floor 2 job
|
||||
|
||||
[Timer]
|
||||
OnCalendar=Wed, 03:30
|
||||
Unit=kf2-srv-update.service
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
25
SOURCES/main/systemd/kf2-srv@.service
Normal file
25
SOURCES/main/systemd/kf2-srv@.service
Normal file
@ -0,0 +1,25 @@
|
||||
[Unit]
|
||||
Description=Killing Floor 2 Server Daemon - %i
|
||||
After=kf2-srv-force-attr.service
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
User=steam
|
||||
Group=steam
|
||||
Type=simple
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
SyslogIdentifier=kf2-srv/%i
|
||||
EnvironmentFile=/etc/kf2-srv/instances/%i/instance.conf
|
||||
ExecStart=/usr/games/kf2-srv/Binaries/Win64/KFGameSteamServer.bin.x86_64 ${Map}?Difficulty=${Difficulty}?GameLength=${Length}?Game=${Game}?Mutator=${Mutators}?${Args} configsubdir=instances/%i -webadminport=${PortWeb} -queryport=${PortQuery} -port=${PortGame}
|
||||
Restart=always
|
||||
|
||||
NoNewPrivileges=yes
|
||||
PrivateTmp=true
|
||||
PrivateDevices=true
|
||||
ProtectHome=true
|
||||
ProtectSystem=false
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Reference in New Issue
Block a user