My kids love to play Minecraft; it’s a fun game that has remained extremely popular for a decade (a rare feat). Everyone in the family has an account and much of the fun of Minecraft is playing together in a shared world. I will teach you how to setup shared worlds (and back them up) using MineOS software on FreeNAS / TrueNAS.
Step 1: Install MineOS FreeNAS Plugin
The folks at IXSystems must be big fans of Minecraft because they packaged a Minecraft server solution along with backup utilities and Plex. MineOS is a free plugin to allow you to host Minecraft servers on your FreeNAS box. Within Plugins menu item on FreeNAS web GUI select MineOS and select INSTALL. Give it a name, I chose mineos and select plugin details >>> mostly select DHCP vs. NAT for networking. DHCP will create a fresh Jail, use DHCP to configure networking and install the MineOS software.
If your plugin installation is successful it will look similar to the above image. Note the IPv4 address and click the Manage link to be redirected to the MineOS login page. The default username is mcserver and the default password is mcserver.
When you login, you should see a web GUI similar to the above. In this example I have two (2) servers running. Your example will show no servers running (which is totally ok!). The Dashboard link (circled above) will return you to this menu for any point in MineOS.
Why MineOS?
MineOS is an open source project from William Dizon (looks like it’s been around since 2010). Essentially a Web GUI for administering your Minecraft servers along with utilities to backup and upgrade your world. It’s useful to move an server or daemon process off you local host or laptop to provide improved resiliency and uptime and allow for dedicated resources. You can also setup port forwarding on your wifi router along with a dynamic dns name to allow folks from outside your local area network (LAN) to connect to your Minecraft server. MineOS also allows you to upgrade your world from various versions of Minecraft releases and try out new exciting systems like direwolf and feed the beast (more on this later).
Step 2: Download Server Profile Jars
Minecraft Java Edition is packaged and released as Java Archive (JAR) files from Mojang.com. Your Minecraft launcher application on Windows, Mac or Linux will automation this download when you select the game version. In MineOS you will need to click on the Profiles menu item (on the left), select Mojang from the ID column and then click the Green Download button. You know that you are successful if you see the check and Downloaded next to the Jars you requested. Be careful and do not try and get every Jar at once; the Web GUI doesn’t have a throttle.
If you have errors Downloading Server Jars, do the following:
- Stop and Start the Mineos Jail in FreeNAS. Sometimes, I’ve seen it where the networking (to the outside world) doesn’t work correctly the first time. I don’t think this is a problem anymore but worth trying.
- Make sure you know where Mineos is trying to save those Jars and that you have write access and enough space. We’ll get into customizing where these Jars are saved in a later article.
Step 3: Create Your First Server
Back on the MineOS menu, please select the “Create New Server” menu item. You will be presented with a dialog to name the server; I chose the name of server01 (boring, I know). All fields with light-gray text will default to those values, i.e. the port will be set to 25565 (which is the default for Minecraft). You might want to change the Level-Name to something interesting. Set the difficulty and gamemode and click create new server. Please note it doesn’t actually start the server yet (we’ll do that next) and most if not all these items can be changed with the exception of the server name.
Step 4: Start Your First Minecraft Server
In the MineOS web GUI go back to the Dashboard and select the server you created.
The Server At A Glance dashboard is very informational. If the server is down, as it will be initially, the server status will be RED. In the Server Actions box, you need to choose the Minecraft server profile you downloaded from Step 2 (in this case 1.16.3). You should ensure that broadcast to LAN and start server on boot checkboxes are checked. In the Java settings you need to select the JAR file from Step 2 (in this case minecraft_server.1.16.3.jar. I like to set the max Java heap (memory) size on the Java runtime to between 1024 and 2048 Mb (1 to 2 Gb). -Xms means minimum Heap size; it’s ok to leave that blank.
Then click Accept EULA and click start to run the server.
If all goes well your Server should show up on the status page and if you click on the latest log link on the left you should see something similar to the below
In your Minecraft Java client you should select Multiplayer and add the server IP that your MineOS is running on to connect to the server (in this case 192.168.1.12). Once you connect, the latest log will show a connection log message for each player. Enjoy!
9 replies on “Minecraft MineOS running on FreeNAS 11.3”
[…] 2nd 2020 Update: Please see my latest post on how to configure Minecraft MineOS for hosting your first server on […]
Great article! iXsystems employee here and I thoroughly enjoyed reading this blog, Rich!
Thanks Joon, I feel honored. Many thanks for making such excellent software 😉
I can’t currently install the plugin… I get the error
Install
Error: mineos-jail had a failure Exception: RuntimeError Message: pkg error: – devel/git-lite : Refusing to fetch artifact and run post_install.sh! Partial plugin destroyed
It seems like it is a bug but no one is really working on it maybe??? https://jira.ixsystems.com/browse/NAS-107986
Is there manual way to install the plugin?
Are you on freenas 11.3 or truenas core 12? Or truenas scale?
I am on 11.3 still. I tried to update to 12 core but the system wouldn’t boot after that. Is is and issue with plugins dependencies being switched over to core 12?
hmmm, maybe this is the source of your issue? any errors in the log? Can you get shell access to your Jail? (either thru the shell menu item in the jail or via jexec). Once there as root can you type pkg update and pkg upgrade? Does it give you any errors? If it does it might be that your NAT’ing or jail is unable to access the outside Internet which would be a problem for the plugin installer.
Well, I got it. Finally was able to upgrade to 12 core and the plugin installer worked. I am having issues now trying to run multiple servers. It look like each server would have to be a different port number but the clients can only connect to the default Port. Any ideas on how to open up extra ports for the clients to connect to?
You are correct that each Minecraft server must be on a different port; you can think of it like a street address for your home (there should only be one). Now, what I’ve done is have several Minecraft servers configured for the same port but only one can be active at any one time. I do this because I only have the default Minecraft port forwarded thru my firewall. I also do this for memory considerations on the TrueNAS server. If you want to have multiple servers running at the same time then you MUST go into server configuration and change the default port to something else (anything port 1024 to 65535 is valid unless something is already running on that port). Generally ports 1-1024 are reserved for the root user and should never be used (22 is ssh, 21 is ftp, 521 is syslogd, etc)… Now, on the client side you Minecraft users will need to type in ip address or hostname of your Minecraft server with a colon and the port number (example: 192.168.1.32:25580) Of course this must be the port your new minecraft server is running on. It works fine and I’ve done it you just need to make sure you have lots of memory to run multiple servers. Each one is minimum 2048 MBs of memory and probably 3072 or 4096 MBs to run an effective server. You do not want to squeeze your ZFS cache on your TrueNAS or FreeNAS server!