This repository has been archived on 2024-07-17. You can view files and clone it, but cannot push or open issues or pull requests.
minecraft-systemd-services/README.md

3.7 KiB

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, SpigotMC and Vanilla.
  • Backup the Minecraft server directory.
    • To an archive.
    • Sync to a desired destination.
  • Sync Minecraft stats data to MinecraftStats.

System Requirements

  • GNU Linux operating System
  • Git
  • Wardenctl (optional if one replaces wardenctl commands)

Installation

Assumptions

  • Installed all required dependencies as stated in System Requirements section.
  • Dependencies are accessible via environment PATH.
  • 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.
    $ cd ~
    
  2. Download the project.
    $ git clone git@gitlab.com:adouglas/minecraft-systemd-services.git
    
  3. Change to the project directory.
    $ cd minecraft-systemd-services
    
  4. Copy Systemd unit files.
    # 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
    
  5. Edit each applicable unit file(s).
    • Ensure paths are correct (ReadWriteDirectories, WorkingDirectory, ExecStart, ExecStop).
    • Ensure timers property "OnUnitActiveSec" (backup interval) is set as desired.
    $ nano minecraft-backup.service
    
  6. Set file permissions.
    # chmod 644 /etc/systemd/system/minecraft-*
    
  7. Set file ownership and group.
    # chown root:root /etc/systemd/system/minecraft-*
    
  8. Enable services.
    # 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