115 lines
3.7 KiB
Markdown
115 lines
3.7 KiB
Markdown
# What Is Minecraft Server Systemd Services?
|
|
|
|
Systemd unit files for use with the Minecraft Server and associated services
|
|
(backup and stats).
|
|
|
|
# Features
|
|
|
|
- Supports use with Minecraft server software [PaperMC](https://papermc.io/),
|
|
[SpigotMC](https://www.spigotmc.org/) and
|
|
[Vanilla](https://www.minecraft.net/download/server/).
|
|
- Backup the Minecraft server directory.
|
|
- To an archive.
|
|
- Sync to a desired destination.
|
|
- Sync Minecraft stats data to [MinecraftStats](https://github.com/pdinklag/MinecraftStats).
|
|
|
|
# System Requirements
|
|
|
|
- GNU Linux operating System
|
|
- [Git](https://git-scm.com/)
|
|
- [Wardenctl](https://gitlab.com/adouglas/wardenctl) (optional if one replaces wardenctl commands)
|
|
|
|
# Installation
|
|
|
|
**Assumptions**
|
|
|
|
- Installed all required dependencies as stated in
|
|
[System Requirements](#system-requirements) section.
|
|
- Dependencies are accessible via
|
|
[environment PATH](https://wiki.archlinux.org/index.php/Environment_variables).
|
|
- Installation is done via Linux CLI.
|
|
- Steps prefixed with a "$" (dollar sign) represents the CLI prompt. The text
|
|
after the "$" is to be entered at the CLI.
|
|
- Steps prefixed with a "#" (number sign) represents the CLI prompt with
|
|
elevated user permissions (e.g. root). The text after the "#" is to be entered
|
|
at the CLI.
|
|
- A single backslash character beside another character is used to escape the
|
|
proceeding character. In this case backslash character is not to to be entered
|
|
at the CLI.
|
|
- These instructions are an example of installation and configuration.
|
|
|
|
## Manual
|
|
|
|
1. Change to your home directory.
|
|
```console
|
|
$ cd ~
|
|
```
|
|
1. Download the project.
|
|
```console
|
|
$ git clone git@gitlab.com:adouglas/minecraft-systemd-services.git
|
|
```
|
|
1. Change to the project directory.
|
|
```console
|
|
$ cd minecraft-systemd-services
|
|
```
|
|
1. Copy Systemd unit files.
|
|
```console
|
|
# cp minecraft-* /etc/systemd/system/
|
|
```
|
|
```
|
|
minecraft-backup.service
|
|
minecraft-backup.timer
|
|
minecraft-paper.service
|
|
minecraft-spigot.service
|
|
minecraft-stats.service
|
|
minecraft-stats.timer
|
|
minecraft-vanilla.service
|
|
```
|
|
1. Edit each applicable unit file(s).
|
|
- Ensure paths are correct (ReadWriteDirectories, WorkingDirectory, ExecStart,
|
|
ExecStop).
|
|
- Ensure timers property "OnUnitActiveSec" (backup interval) is set as
|
|
desired.
|
|
```console
|
|
$ nano minecraft-backup.service
|
|
```
|
|
1. Set file permissions.
|
|
```console
|
|
# chmod 644 /etc/systemd/system/minecraft-*
|
|
```
|
|
1. Set file ownership and group.
|
|
```console
|
|
# chown root:root /etc/systemd/system/minecraft-*
|
|
```
|
|
1. Enable services.
|
|
```console
|
|
# systemctl enable minecraft-paper.service
|
|
# systemctl enable minecraft-backup.timer
|
|
# systemctl enable minecraft-stats.timer
|
|
```
|
|
|
|
# Usage
|
|
|
|
For an even simpler usage at the CLI run "wardenctl help" without double quotes.
|
|
|
|
## Useful Command Examples
|
|
|
|
Action | Command Example | Notes
|
|
---------------------|-----------------------|--------
|
|
Reload all unit files| systemctl daemon-reload | Required after modifying unit file(s).
|
|
Restart unit | systemctl restart minecraft-paper.service |
|
|
Start unit | systemctl start minecraft-paper.service |
|
|
Stop unit | systemctl stop minecraft-paper.service |
|
|
View unit status | systemctl status minecraft-paper.service |
|
|
View unit messages | journalctl -u minecraft-paper.service |
|
|
View unit messages | journalctl -fu minecraft-paper.service | View most recent entries and follow new entries as they occur. Press CTRL-C to quit.
|
|
|
|
# License
|
|
|
|
Minecraft Server Systemd Services is licensed under the GNU General Public
|
|
License v3.0. Review the license by viewing the LICENSE file.
|
|
|
|
# Copyright Notice
|
|
|
|
Copyright (c) 2019-2020 Adam Douglas Some Rights Reserved
|