1️⃣ Toggleable auto-restart
2️⃣ Customisable JVM arguments/flags - including optional optimised preset
3️⃣ Customisable RAM allocation
4️⃣ Auto-generate+accept EULA
5️⃣ GUI toggle
6️⃣ Customisable console title
7️⃣ Discord webhook integration
8️⃣ Auto-updates with latest version from GitHub
- Windows OS
- Java 17
- Download the script's latest release (ensure it is saved as a '.bat').
- Place it in your Minecraft server's root directory.
- Run the script by either double clicking the file, or executing via CMD.
- Upon first use, the script will run you through the configuration prompts.
To edit configurations:
JVM arguments = /config/jvm_args.txt
Script config = /config/StartupScript.conf
To apply configuration changes while the script is still running (i.e. console is still open), simply restart the Minecraft server.
No need to restart the script.
- Prompts user for server .jar filename. Checks if the file exists.
- Prompts user to allocate initial and maximum RAM for the server. Checks if entry is a valid value.
- Queries user whether the server should auto-restart or not.
- Queries user whether server should use pre-configured JVM arguments. Regardless of result, will generate file for flag storage.
- Queries user whether to launch with GUI.
- Queries user whether to use Discord webhooks. If yes, user inputs webhook URL.
- Lets user confirm choices. If confirmed, continue to normal startup. If rejected, will restart initial configuration.
- Stores configuration in /config/StartupScript.conf, and JVM args in /config/jvm_args.txt.
- Generates auto-accepted EULA.
- Checks for updates to this script.
- Checks for config folder, config file, and sets restart counter. If config is missing, reverts back to initial setup.
- Checks for EULA, if non-existent, creates accepted eula.txt.
- Reads script config file and stores contents as environment variables.
- Displays configuration to user and initialises the server.
- Checks for JVM arguments file, if non-existent, will create one with optimised flags. If it exists, loads the args into an environment variable.
- Checks auto-restart config to decide launch path.
- Launches server, changes console title to the configurable title + restart count, and (if configured) sends Discord message.
- Upon crash or restart, increments the restart counter, reloads configuration + JVM flags, and (if configured) sends Discord message.
- Launches server and changes console title to the configurable title, and (if configured) sends Discord message.
- Upon crash or restart, prompts user whether to restart or exit, and (if configured) sends Discord message.
- Improve text formatting
- Update server .jar to latest, within Minecraft version.
e.g. paper 1.20.4 build 460 > paper 1.20.4 > build 461
By using this script, you are indicating your agreement to the Minecraft EULA.