Minecraft is a Java-based sandbox and adventure game about breaking and placing blocks. This article describes how to run a multiplayer dedicated server in multiplayer survival mode as a Windows service using FireDaemon Pro.
FireDaemon Pro allows you to start and run the dedicated game 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.
Step 1: Minecraft Server Software Setup
Firstly, download the multi-player SMP server software. Scroll to the bottom of the page and download minecraft_server.X.Y.Z.jar (where X.Y.Z is the current version of the software) The size of the downloaded file is small. The file is automatically downloaded as server.jar
Save the file in a well-known location on your system. In this article, we will use the folder C:\Minecraft as the location.
Download and install Java if it is not already installed. The Oracle Java installer may prompt you to install other third-party toolbars or apps - DO NOT install them!
In the C:\Minecraft folder, double click server.jar. This will generate an initial set of configuration files and folders.
In order to run the Minecraft server, the End User Licence Agreement (EULA) must be accepted. Edit the file eula.txt located in the C:\Minecraft folder. Change the third line to read eula=true.
Now double-click server.jar again to run the Minecraft server for the first time. The server will initialise itself by creating additional folders and configuration files. Minecraft uses six configuration files to store various settings (server.properties, banned-ips.json, banned-players.json, ops.json, usercache.json, whitelist.json). They are all text files and they are named according to what they control. You may need to tweak them for your setup. This step is particularly important as it sets the correct Windows NTFS ACL permissions.
Quit the Minecraft Server by clicking the red "X" in the top right-hand corner.
Step 2: Download and Install FireDaemon Pro
- Download FireDaemon Pro installer
- Double-click the installer and follow the installation wizard to complete the installation.
- For more information about installing FireDaemon, see the FireDaemon Pro Users Guide.
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 values in the fields in the Program tab as follows (adjust these settings to suit your particular system and preferences):
The Program field must point to javaw.exe. If you are using a 32-bit version of Java on 64-bit windows, then the executable field would be C:\Program Files (x86)\Java\jre1.8.0_261\bin\javaw.exe.
The Working Directory must point to the folder that contains the Minecraft server files, e.g. C:\Minecraft.
The most important field is the Parameters. The Parameters define the initial setup of the Minecraft server. The full parameter list should be:
-Xrs -Xms1024M -Xmx1024M -jar server.jar
- -Xrs tells Java not to close after log off
- -Xms1024M tells java to use 1024 MB (1GB) for the initial heap size
- -Xmx1024M tells java to use 1024 MB (1GB) for the maximum heap size
- -jar server.jar tells Java to load the Minecraft server.
- (Optional) nogui - append this to run the Minecraft server in headless mode.
Note: Remember to open up port 25565 on Windows Firewall and any upstream firewalls so that clients can connect to the Minecraft server.
Note: Each player requires 100MB of memory, so if you want a 10 slot server, it will need at least 1GB of free memory. Additionally, plugins like Bukkit, SimpleServer, etc. also need memory, so ensure that the server has an extra 200-300MB available for the plugins.
Next, click on the FireDaemon Pro Settings tab:
Enter appropriate values in the fields on the Settings tab as follows:
- (Optional) Interact with Desktop: If this setting is enabled (default), the game server's output messages can be seen in the console window on Windows Session 0. In order 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 game server's messages will be hidden.
- (Optional) Priority: To allocate more CPU time to the game server, select a higher scheduling priority in this field.
- (Optional) CPU Bindings: To run the game server on a specific CPU, specify the appropriate CPU in this field.
Lastly, click the Save and Close (i.e. 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 4: 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.
Step 5: Check that Minecraft is Listening on the Correct Network Ports
- Firstly, find the Process ID (PID) of the Minecraft service from the FireDaemon Services List (see example above).
- Open a command prompt window with Administrator privileges and run the following command:
netstat -anob | find "<PID>"
where <PID> is the Process ID found in the FireDaemon Pro Services List PID column. This command lists the ports on which the game server is listening - in this example, TCP port 25565 is listening. Your system's firewall and/or router must be configured to forward traffic to this port. You should see output similar to the screenshot below:
Note: Additional information about setting up a Minecraft server can be found here.