MC Startup Script
2.3.4A fully-customisable, modular .bat startup script for Minecraft servers
Minecraft Startup Script
A lightweight Windows launcher for Minecraft servers, with guided setup, automatic Java selection, crash recovery, Discord status updates, and safe self-updates.
Features
Guided setup to ensure the server has all it needs
Toggleable auto-restart
Customisable JVM flags (+ RAM allocation + GUI)
(Optional) Calculated JVM flags based on hardware, Java version, and RAM allocation
Auto-generate EULA
Automatic Java detection/selection
Discord webhook integration
Auto-updates with latest version from GitHub
Requirements
- Windows OS
- Windows PowerShell 5.1
- Java 8 or newer, depending on the Minecraft version
How to Use
- Download the script's latest START.BAT 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 automatically download core.ps1 and run you through the configuration prompts.
The first run creates config/StartupScript.json. It can be edited directly for advanced options such as custom JVM flags or webhook text.
Older v1 installations using config/StartupScript.conf are imported automatically when v2 starts. The original file is left untouched as a backup.
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.
Screenshots
Screenshots
Full Setup Wizard

EULA Acceptance

Server Start-up

Server Stop

Functionality
Functionality
First Launch/Initial Setup
- 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.json.
- Generates auto-accepted EULA.
Normal Startup
- 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 the JSON configuration and validates the selected Java runtime.
- Displays configuration to user and initialises the server.
- Uses built-in JVM defaults, with an optional jvmFlags override in the JSON configuration.
- Checks auto-restart config to decide launch path.
Auto-Restart Enabled
- 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.
Auto-Restart Disabled
- 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.
License
GNU GPLv3
Similar projects
Script →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta