How to run Minecraft as a Windows Service with FireDaemon Pro.
Minecraft is a sandbox and adventure game that takes place in a randomly generated world which is 3 times bigger than the surface area of the earth.
The Minecraft dedicated server can be run as a Windows service using FireDaemon Pro. This allows you to start and run the dedicated server automatically when Windows boots and before login. FireDaemon Pro also allows you to start multiple instances of the game server, monitoring them and automatically restarting those instances in the event they crash. FireDaemon Fusion can also be used to manage your Minecraft service, plus other Windows services via your web browser. Minecraft windows server is currently in alpha so this guide will focus on the more stable java version of Minecraft server.

Step 1: Download and Install Java
Java 8 is supported until 2030 so we recommended you use this version. Oracle changed their download policy for Java and to download it, you need to make a free Oracle account and login. There are 2 types of java you can install:
- Java Server (JRE): This has performance optimizations and you can download the latest Java 8 Windows x64 Server JRE from the java website at the bottom of the page. Extract the contents of the zip to your hard drive, for the purposes of this guide we will use "C:\jdk1.8.0_271". The folder name will be different if you're using a different Java version.
- Java SE: This has performance optimizations and you can download the latest Java 8 Windows x64 Jave SE from the java website at the bottom of the page. Extract the contents of the zip to your hard drive, if you use this version extract to "C:\jre1.8.0_271". The folder name will be different if you're using a different Java version.
Step 2: Download and Install the Minecraft Dedicated Game Server
- Download the Minecraft server files via the Minecraft website. Save to "C:\Minecraft"
- Open windows explorer and go to "C:\Minecraft", then run "server.jar" there to download some files.
- Open "server.properties" and edit to your liking.
- Open "eula.txt" and change "false" to "true" (without double quotes).
Step 3: Check How Much Free (Unused) Ram is in Your Computer
Open windows command prompt and type the following:
systeminfo |find "Available Physical Memory"
Take note of how much free ram is available because you'll need that in the next step.
Step 4: Set Up Minecraft as a FireDaemon Pro Service
- Download and install FireDaemon Pro.
- Double click the FireDaemon Pro icon on your desktop, then click on the New (i.e. +) button in the toolbar (or type Ctrl + N) to create a new service.
- Enter the information into the fields as you see below.
- Adjust the path names to suit your installation. Note the required parameters.
GET 50% GAMING DISCOUNT
Note: You must choose "C:\Minecraft" as the working path.
The most important field on the tab is the Parameters. The Parameters define the initial setup of your server.
If your server has more than 10GB of free (unused) RAM, then use these parameters:
-Xmx10G -Xms10G -Xmn1280m -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+UseNUMA -XX:+CMSParallelRemarkEnabled -XX:MaxTenuringThreshold=15 -XX:MaxGCPauseMillis=30 -XX:GCPauseIntervalMillis=150 -XX:+UseAdaptiveGCBoundary -XX:-UseGCOverheadLimit -XX:+UseBiasedLocking -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=15 -Dfml.ignorePatchDiscrepancies=true -Dfml.ignoreInvalidMinecraftCertificates=true -XX:+UseFastAccessorMethods -XX:+UseCompressedOops -XX:+OptimizeStringConcat -XX:+AggressiveOpts -XX:ReservedCodeCacheSize=2048m -XX:+UseCodeCacheFlushing -XX:SoftRefLRUPolicyMSPerMB=20000 -XX:ParallelGCThreads=10 -jar server.jar --nogui
If your server only has 5GB of free (unused) RAM, then use these parameters:
-Xmx5G -Xms5G -Xmn640m -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+UseNUMA -XX:+CMSParallelRemarkEnabled -XX:MaxTenuringThreshold=15 -XX:MaxGCPauseMillis=30 -XX:GCPauseIntervalMillis=150 -XX:+UseAdaptiveGCBoundary -XX:-UseGCOverheadLimit -XX:+UseBiasedLocking -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=15 -Dfml.ignorePatchDiscrepancies=true -Dfml.ignoreInvalidMinecraftCertificates=true -XX:+UseFastAccessorMethods -XX:+UseCompressedOops -XX:+OptimizeStringConcat -XX:+AggressiveOpts -XX:ReservedCodeCacheSize=2048m -XX:+UseCodeCacheFlushing -XX:SoftRefLRUPolicyMSPerMB=10000 -XX:ParallelGCThreads=10 -jar server.jar --nogui
If your server only has 1GB of free (unused) RAM, then use these parameters:
-Xmx1G -Xms1G -Xmn128m -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+UseNUMA -XX:+CMSParallelRemarkEnabled -XX:MaxTenuringThreshold=15 -XX:MaxGCPauseMillis=30 -XX:GCPauseIntervalMillis=150 -XX:+UseAdaptiveGCBoundary -XX:-UseGCOverheadLimit -XX:+UseBiasedLocking -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=15 -Dfml.ignorePatchDiscrepancies=true -Dfml.ignoreInvalidMinecraftCertificates=true -XX:+UseFastAccessorMethods -XX:+UseCompressedOops -XX:+OptimizeStringConcat -XX:+AggressiveOpts -XX:ReservedCodeCacheSize=2048m -XX:+UseCodeCacheFlushing -XX:SoftRefLRUPolicyMSPerMB=2000 -XX:ParallelGCThreads=10 -jar server.jar --nogui
Depending on how much free ram you have, the above commands need to be added in their entirety. They allow your Minecraft to run as an optimized service.
Next, click on the FireDaemon Pro Settings tab:
Enter appropriate values in the fields on the Settings tab as follows:
- (Optional) Logon Account: Enter the Windows account under which the application is to be run, e.g. the current administrator account.
- Password / Confirm Password: Enter the logon account's password twice.
- (Optional) Interact with Desktop: If this setting is enabled (default), the application's output messages can be seen in the console window on Windows Session 0. To switch to Session 0, it may be necessary to install FireDaemon Zero and ZeroInput. Alternatively, this setting may be disabled, in which case the application's messages will be hidden.
- (Optional) Priority: To allocate more CPU time to the application, select a higher scheduling priority in this field.
- (Optional) CPU Bindings: To run the application on a specific CPU, specify the appropriate CPU in this field.
Now click on the Environment tab. This is where you enter environment variables specific to your Minecraft instance. The names and values of the environment variables are below; adjust your paths to suit your installation:
If you installed Java Server (JRE), the value should be:
MC_JAVA_HOME: C:\jdk1.8.0_271
If you installed Java SE, the value should be:
MC_JAVA_HOME: C:\jre1.8.0_271
Lastly, click the Save and Close (ie. the tick) button on the toolbar. If the service's Startup Type is set to Automatic or Automatic (Delayed-Start), it will start immediately.
Step 5: Verify that Minecraft is Running Correctly
The Minecraft game server's status can easily be checked on the main FireDaemon Pro Services List - look for a Running Status value and a numeric Process ID (PID) value.
If the service's Interact with Desktop setting is enabled, the game status can also be verified by switching to Windows Session 0 to view the game's messages.
Note: Additional information about setting up a Minecraft server can be found here.