/home/bedrock/.config/systemd/user/bedrock.service [Unit] Description=Minecraft bedrock server After=network.target [Service] Type=forking #User=%i WorkingDirectory=/home/bedrock/server PIDFile=/home/bedrock/server/pidfile ExecStart=/home/bedrock/bedrock-control.sh start ExecStop=/home/bedrock/bedrock-control.sh stop TimeoutStopSec=15 # Hardening ProtectSystem=full PrivateTmp=true SystemCallArchitectures=native MemoryDenyWriteExecute=true NoNewPrivileges=true [Install] WantedBy=default.target bedrock-control.sh #!/bin/bash export PATH=$PATH:/usr/bin start_server() { tmux new -c /home/bedrock/server -P -F '#{pid}' -d -s minecraft "LD_LIBRARY_PATH=. ./bedrock_server" > /home/bedrock/server/pidfile #tmux send-keys -t minecraft.0 "cd /home/bedrock/server/" ENTER #tmux send-keys -t minecraft.0 "LD_LIBRARY_PATH=. ./bedrock_server" ENTER } stop_server() { tmux send-keys -t minecraft.0 stop ENTER sleep 5s } while [ -n "$1" ]; do case "$1" in start) start_server ;; stop ) stop_server ;; esac shift done