From 929cdb3b20154e73c164c8ed7da7c1607fcc2a77 Mon Sep 17 00:00:00 2001 From: Keuin Date: Fri, 8 May 2020 16:01:13 +0800 Subject: Add example scripts for auto restarting --- README.md | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fb79f72..a6f4189 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Minecraft version: 1.14.4 [Fabric API](https://minecraft.curseforge.com/projects/fabric/files) is required! -commands: +## 1. Commands - **/kb** or **/kb help**: show command list - **/kb list**: show existing backups @@ -16,8 +16,38 @@ commands: - **/kb delete**: delete an existing backup. - **/kb prev**: Find and select the most recent backup file. +## 2. Script for auto-restart after restoring -To-Do List: +Due to the nature of JVM: the Java language's running environment, there is no elegant way to restart Minecraft server in a server plugin. In order to achieve auto restarting, the outer system-based script is required, i.e the script is a batch or a shell script. +KBackup exit JVM with a special code `111` after successfully restored the level. The startup script just check the exit code and restart Minecraft server if the code is `111`. +I will give examples for some popular operating systems. To use these scripts, you should replace your start.bat or start.sh script with given code lines. + +### 2.1 Script for Windows + +```batch +@echo off +title Keuin's personal Minecraft server +:loop +java -Xms4G -Xmx4G -jar fabric-server-launch.jar nogui +if %errorlevel%==111 goto loop +rem kbackup restore auto restart +pause +``` + +### 2.2 Script for Linux or U\*ix using shell + +```shell +#!/bin/sh +STATUS=111 +while [ $STATUS -eq 111 ] +do + java -Xms4G -Xmx4G -jar fabric-server-launch.jar nogui + STATUS=$? +done +``` + + +## 3. To-Do List: - Refactor code. - More thorough test. -- cgit v1.2.3