Initial commit
This commit is contained in:
		
						commit
						2c972cc099
					
				
							
								
								
									
										33
									
								
								.SRCINFO
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								.SRCINFO
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,33 @@
 | 
				
			||||||
 | 
					pkgbase = minecraft-server
 | 
				
			||||||
 | 
						pkgdesc = Minecraft server unit files, script, and jar
 | 
				
			||||||
 | 
						pkgver = 1.8.6
 | 
				
			||||||
 | 
						pkgrel = 1
 | 
				
			||||||
 | 
						url = http://minecraft.net/
 | 
				
			||||||
 | 
						install = minecraft-server.install
 | 
				
			||||||
 | 
						arch = any
 | 
				
			||||||
 | 
						license = custom
 | 
				
			||||||
 | 
						depends = java-runtime-headless
 | 
				
			||||||
 | 
						depends = systemd
 | 
				
			||||||
 | 
						depends = screen
 | 
				
			||||||
 | 
						depends = expect
 | 
				
			||||||
 | 
						conflicts = minecraft-server-systemd
 | 
				
			||||||
 | 
						conflicts = minecraft-canary
 | 
				
			||||||
 | 
						noextract = minecraft_server.1.8.6.jar
 | 
				
			||||||
 | 
						options = !strip
 | 
				
			||||||
 | 
						options = emptydirs
 | 
				
			||||||
 | 
						backup = etc/conf.d/minecraft
 | 
				
			||||||
 | 
						source = https://s3.amazonaws.com/Minecraft.Download/versions/1.8.6/minecraft_server.1.8.6.jar
 | 
				
			||||||
 | 
						source = minecraftd
 | 
				
			||||||
 | 
						source = minecraftd-diag
 | 
				
			||||||
 | 
						source = minecraftd.service
 | 
				
			||||||
 | 
						source = minecraftctl
 | 
				
			||||||
 | 
						source = conf.minecraft
 | 
				
			||||||
 | 
						sha256sums = 7fc66b2b54f0f4d65fdd6d6484a50f432c144ef02072d3435d5660f120f58e0d
 | 
				
			||||||
 | 
						sha256sums = 043101c29d4b4f9092cb93ef52168cfe3d16d49ff573136f4fbb45071a38a5d1
 | 
				
			||||||
 | 
						sha256sums = de03317d02668bb71ec160fff497c7fbfe8b03ffff2950c6a0bcfb39f69cd214
 | 
				
			||||||
 | 
						sha256sums = 6eb4c085b8377712671445b891a3a2cf2a17cf7a7bea66be456a980c2b620e23
 | 
				
			||||||
 | 
						sha256sums = 472e06e1bd63838e88ace0bd2f971f72f2efd9e541cc0956599a44c324fd49ac
 | 
				
			||||||
 | 
						sha256sums = 738e10185df160d190a5f4f0226de110d67ba023877e4999a6d3ef41c9918ed6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pkgname = minecraft-server
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										40
									
								
								PKGBUILD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								PKGBUILD
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,40 @@
 | 
				
			||||||
 | 
					# Maintainer: Philip Abernethy <chais.z3r0@gmail.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pkgname=minecraft-server
 | 
				
			||||||
 | 
					pkgver=1.8.6
 | 
				
			||||||
 | 
					pkgrel=1
 | 
				
			||||||
 | 
					pkgdesc="Minecraft server unit files, script, and jar"
 | 
				
			||||||
 | 
					arch=(any)
 | 
				
			||||||
 | 
					url="http://minecraft.net/"
 | 
				
			||||||
 | 
					license=('custom')
 | 
				
			||||||
 | 
					depends=('java-runtime-headless' 'systemd' 'screen' 'expect')
 | 
				
			||||||
 | 
					conflicts=('minecraft-server-systemd' 'minecraft-canary')
 | 
				
			||||||
 | 
					options=(!strip emptydirs)
 | 
				
			||||||
 | 
					install=minecraft-server.install
 | 
				
			||||||
 | 
					backup=('etc/conf.d/minecraft')
 | 
				
			||||||
 | 
					source=(https://s3.amazonaws.com/Minecraft.Download/versions/${pkgver}/minecraft_server.${pkgver}.jar
 | 
				
			||||||
 | 
					        minecraftd
 | 
				
			||||||
 | 
					        minecraftd-diag
 | 
				
			||||||
 | 
					        minecraftd.service
 | 
				
			||||||
 | 
							minecraftctl
 | 
				
			||||||
 | 
							conf.minecraft)
 | 
				
			||||||
 | 
					noextract=("minecraft_server.${pkgver}.jar")  
 | 
				
			||||||
 | 
					sha256sums=('7fc66b2b54f0f4d65fdd6d6484a50f432c144ef02072d3435d5660f120f58e0d'
 | 
				
			||||||
 | 
					            '043101c29d4b4f9092cb93ef52168cfe3d16d49ff573136f4fbb45071a38a5d1'
 | 
				
			||||||
 | 
					            'de03317d02668bb71ec160fff497c7fbfe8b03ffff2950c6a0bcfb39f69cd214'
 | 
				
			||||||
 | 
					            '6eb4c085b8377712671445b891a3a2cf2a17cf7a7bea66be456a980c2b620e23'
 | 
				
			||||||
 | 
					            '472e06e1bd63838e88ace0bd2f971f72f2efd9e541cc0956599a44c324fd49ac'
 | 
				
			||||||
 | 
					            '738e10185df160d190a5f4f0226de110d67ba023877e4999a6d3ef41c9918ed6')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package() {
 | 
				
			||||||
 | 
					  install -Dm755 "${srcdir}/minecraftd" "${pkgdir}/usr/bin/minecraftd"
 | 
				
			||||||
 | 
					  install -Dm755 "${srcdir}/minecraftd-diag" "${pkgdir}/usr/bin/minecraftd-diag"
 | 
				
			||||||
 | 
					  install -Dm755 "${srcdir}/minecraftctl" "${pkgdir}/usr/bin/minecraftctl"
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  install -Dm644 "${srcdir}/minecraft_server.${pkgver}".jar "${pkgdir}/srv/minecraft/minecraft_server.${pkgver}".jar
 | 
				
			||||||
 | 
					  ln -s "minecraft_server.${pkgver}.jar" "${pkgdir}/srv/minecraft/minecraft_server.jar"
 | 
				
			||||||
 | 
					  install -Dm644 "${srcdir}/minecraftd.service" "${pkgdir}/usr/lib/systemd/system/minecraftd.service"
 | 
				
			||||||
 | 
					  install -Dm644 "${srcdir}/conf.minecraft" "${pkgdir}/etc/conf.d/minecraft"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  install -d "${pkgdir}/srv/minecraft/backup"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										37
									
								
								conf.minecraft
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								conf.minecraft
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,37 @@
 | 
				
			||||||
 | 
					# MINECRAFT SERVER LAUNCH CONFIGS
 | 
				
			||||||
 | 
					# not to be confused with server.properties.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Server root directory
 | 
				
			||||||
 | 
					_SRVDIR=/srv/minecraft
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# World directory (relative to SRVDIR)
 | 
				
			||||||
 | 
					# Ensure that this matches what is in your server.properties, 
 | 
				
			||||||
 | 
					#      or else the wrong folder will be backed up!
 | 
				
			||||||
 | 
					WORLD=world
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Maximum RAM usage (change to suit your needs)
 | 
				
			||||||
 | 
					MAXHEAP=1024M
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Minimum RAM usage (change to suit your needs)
 | 
				
			||||||
 | 
					MINHEAP=512M
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Number of concurrent threads (no more than the number of logical processors in your system)
 | 
				
			||||||
 | 
					THREADS=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Where to store backup files
 | 
				
			||||||
 | 
					BACKUPPATH=/srv/minecraft/backup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# What to say to the server when backup starts
 | 
				
			||||||
 | 
					BACKUPSTARTMSG="WORLD BACKUP STARTING. Server going read-only..."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# What to say when to the server when backup ends
 | 
				
			||||||
 | 
					BACKUPENDMSG="WORLD BACKUP ENDED. Server going read-write..."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Only change these if you know what you're doing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Server JAR file
 | 
				
			||||||
 | 
					SERVERJAR=minecraft_server.jar
 | 
				
			||||||
 | 
					SERVICE=${SERVERJAR}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# User to run server under
 | 
				
			||||||
 | 
					MCUSER=minecraft
 | 
				
			||||||
							
								
								
									
										33
									
								
								minecraft-server.install
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								minecraft-server.install
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,33 @@
 | 
				
			||||||
 | 
					post_install() {
 | 
				
			||||||
 | 
					  post_upgrade
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					post_upgrade() {
 | 
				
			||||||
 | 
					  getent group "minecraft" &>/dev/null || groupadd -r minecraft 1>/dev/null
 | 
				
			||||||
 | 
					  getent passwd "minecraft" &>/dev/null && usermod -s "/usr/bin/nologin" minecraft &>/dev/null || useradd -r -g minecraft -d "/srv/minecraft" -s "/usr/bin/nologin" minecraft 1>/dev/null
 | 
				
			||||||
 | 
					  touch /srv/minecraft/server.log
 | 
				
			||||||
 | 
					  chown -R minecraft:minecraft "/srv/minecraft" 1>/dev/null
 | 
				
			||||||
 | 
					  ln -s /srv/minecraft/server.log /var/log/minecraft.log &>/dev/null
 | 
				
			||||||
 | 
					  # Removes old data from previous version
 | 
				
			||||||
 | 
					  cat << EOF
 | 
				
			||||||
 | 
					==> World data is stored under /srv/minecraft
 | 
				
			||||||
 | 
					==> The server runs as "minecraft", not root
 | 
				
			||||||
 | 
					==> You can access the server's console as root with:
 | 
				
			||||||
 | 
					      $ screen -r minecraft
 | 
				
			||||||
 | 
					==> The systemd service is called "minecraftd.service"
 | 
				
			||||||
 | 
					==> Calling "stop" or "restart" with systemctl will gracefully exit the server, saving world data
 | 
				
			||||||
 | 
					==> Modify /etc/conf.d/minecraft to change the invocation of the server if you wish
 | 
				
			||||||
 | 
					==> A script at /usr/bin/minecraftctl is also provided. See the wiki for details on its usage.
 | 
				
			||||||
 | 
					==> For the server to start you have to accept the EULA in /srv/minecraft/eula.txt
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					post_remove() {
 | 
				
			||||||
 | 
					  if getent passwd "minecraft" >/dev/null; then
 | 
				
			||||||
 | 
					    userdel minecraft >/dev/null
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  if getent group "minecraft" >/dev/null; then
 | 
				
			||||||
 | 
					    groupdel minecraft >/dev/null
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										124
									
								
								minecraftctl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										124
									
								
								minecraftctl
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,124 @@
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Adapted from generic minecraft init script
 | 
				
			||||||
 | 
					#	 http://www.minecraftwiki.net/wiki/Tutorials/Server_startup_script
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Main Differences: 
 | 
				
			||||||
 | 
					#   - Start stop and reload is handled by systemd, removed
 | 
				
			||||||
 | 
					#   - update handled by pacman, removed
 | 
				
			||||||
 | 
					#   - changed from init script to "minecraftctl" command.
 | 
				
			||||||
 | 
					#   - uses /etc/conf.d/minecraftd for variables
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Changes:
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#   Changed running screen to work as root, broke it out into mc_docommand
 | 
				
			||||||
 | 
					#   Commented echo commands for successful execution to not spam the log.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					. /etc/conf.d/minecraft || echo "can't source /etc/conf.d/minecraft"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ME=`whoami`
 | 
				
			||||||
 | 
					as_user() {
 | 
				
			||||||
 | 
					  if [ $ME == $MCUSER ] ; then
 | 
				
			||||||
 | 
					    bash -c "$1"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    su - $MCUSER -c "$1"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mc_saveoff() {
 | 
				
			||||||
 | 
					  if pgrep -u $MCUSER -f $SERVICE > /dev/null
 | 
				
			||||||
 | 
					  then
 | 
				
			||||||
 | 
					    #echo "$SERVICE is running... suspending saves"
 | 
				
			||||||
 | 
						mc_docommand "say $BACKUPSTARTMSG"
 | 
				
			||||||
 | 
						mc_docommand save-off
 | 
				
			||||||
 | 
						mc_docommand save-all
 | 
				
			||||||
 | 
					    sync
 | 
				
			||||||
 | 
					    sleep 10
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    echo "$SERVICE is not running. Not suspending saves."
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mc_saveon() {
 | 
				
			||||||
 | 
					  if pgrep -u $MCUSER -f $SERVICE > /dev/null
 | 
				
			||||||
 | 
					  then
 | 
				
			||||||
 | 
					    #echo "$SERVICE is running... re-enabling saves"
 | 
				
			||||||
 | 
						mc_docommand save-on
 | 
				
			||||||
 | 
						mc_docommand "say $BACKUPENDMSG"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    echo "$SERVICE is not running. Not resuming saves."
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mc_backup() {
 | 
				
			||||||
 | 
					   mc_saveoff
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					   NOW=`date "+%Y-%m-%d_%Hh%M"`
 | 
				
			||||||
 | 
					   BACKUP_FILE="$BACKUPPATH/${WORLD}_${NOW}.tar"
 | 
				
			||||||
 | 
					   #echo "Backing up minecraft world..."
 | 
				
			||||||
 | 
					   #as_user "cd $_SRVDIR && cp -r $WORLD $BACKUPPATH/${WORLD}_`date "+%Y.%m.%d_%H.%M"`"
 | 
				
			||||||
 | 
					   as_user "tar -h -C \"$_SRVDIR\" -cf \"$BACKUP_FILE\" \"$WORLD\""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   #echo "Backing up $SERVICE"
 | 
				
			||||||
 | 
					   as_user "tar -h -C \"$_SRVDIR\" -rf \"$BACKUP_FILE\" \"$SERVICE\""
 | 
				
			||||||
 | 
					   #as_user "cp \"$_SRVDIR/$SERVICE\" \"$BACKUPPATH/minecraft_server_${NOW}.jar\""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   mc_saveon
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   #echo "Compressing backup..."
 | 
				
			||||||
 | 
					   as_user "gzip -f \"$BACKUP_FILE\""
 | 
				
			||||||
 | 
					   #echo "Done."
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mc_command() {
 | 
				
			||||||
 | 
					  command="$1";
 | 
				
			||||||
 | 
					  if pgrep -u $MCUSER -f $SERVICE > /dev/null
 | 
				
			||||||
 | 
					  then
 | 
				
			||||||
 | 
					    pre_log_len=`wc -l "$_SRVDIR/server.log" | awk '{print $1}'`
 | 
				
			||||||
 | 
					    #echo "$SERVICE is running... executing command"
 | 
				
			||||||
 | 
						mc_docommand "$command"
 | 
				
			||||||
 | 
					    sleep .1 # assumes that the command will run and print to the log file in less than .1 seconds
 | 
				
			||||||
 | 
					    # print output
 | 
				
			||||||
 | 
					    tail -n $[`wc -l "$_SRVDIR/server.log" | awk '{print $1}'`-$pre_log_len] "$_SRVDIR/server.log"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    echo "$SERVICE is not running. Couldn't executed command."
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mc_docommand() {
 | 
				
			||||||
 | 
						screen -p 0 -S minecraft -X stuff "`printf \"$1\r\"`"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#Start-Stop here
 | 
				
			||||||
 | 
					case "$1" in
 | 
				
			||||||
 | 
					  backup)
 | 
				
			||||||
 | 
					    mc_backup
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					  status)
 | 
				
			||||||
 | 
					    if pgrep -u $MCUSER -f $SERVICE > /dev/null
 | 
				
			||||||
 | 
					    then
 | 
				
			||||||
 | 
					      echo "$SERVICE is running."
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      echo "$SERVICE is not running."
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					  command)
 | 
				
			||||||
 | 
					    if [ $# -gt 1 ]; then
 | 
				
			||||||
 | 
					      shift
 | 
				
			||||||
 | 
					      mc_command "$*"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      echo "Must specify server command (try 'help'?)"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  *)
 | 
				
			||||||
 | 
					    echo "Usage: $0 {backup|status|command \"server command\"}"
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					  ;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exit 0
 | 
				
			||||||
							
								
								
									
										6
									
								
								minecraftd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								minecraftd
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					. /etc/conf.d/minecraft || echo "can't source /etc/conf.d/minecraft"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cd $_SRVDIR
 | 
				
			||||||
 | 
					screen -dmS minecraft java -Xmx${MAXHEAP} -Xms${MINHEAP} -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=${THREADS} -XX:+AggressiveOpts -jar ${_SRVDIR}/${SERVERJAR} nogui
 | 
				
			||||||
							
								
								
									
										7
									
								
								minecraftd-diag
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								minecraftd-diag
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					. /etc/conf.d/minecraft || echo "can't source /etc/conf.d/minecraft"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cd $_SRVDIR
 | 
				
			||||||
 | 
					echo "If the next command executes correctly, then something is wrong with screen."
 | 
				
			||||||
 | 
					su minecraft -c "PATH=/opt/java/bin/:/usr/bin/:$PATH java -Xmx${MAXHEAP} -Xms${MINHEAP} -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=${THREADS} -XX:+AggressiveOpts -jar ${_SRVDIR}/${SERVERJAR} nogui"
 | 
				
			||||||
							
								
								
									
										14
									
								
								minecraftd.service
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								minecraftd.service
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Description=Minecraft server daemon
 | 
				
			||||||
 | 
					After=network.target
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					User=minecraft
 | 
				
			||||||
 | 
					Group=minecraft
 | 
				
			||||||
 | 
					ExecStart=/usr/bin/minecraftd
 | 
				
			||||||
 | 
					Type=oneshot
 | 
				
			||||||
 | 
					RemainAfterExit=yes
 | 
				
			||||||
 | 
					ExecStop=/usr/bin/screen -S minecraft -X stuff 'say Server Shutting Down in 5 Seconds\n' ; /usr/bin/sleep 5 ; /usr/bin/screen -S minecraft -X stuff 'stop\n' ; /usr/bin/expect -c "exec screen -x minecraft ; wait ; exit"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user