[SOLVED] MineOS on FreeNAS 9.10 missing Spigot/Craftbukkit profiles beyond 1.9.4

Currently running on the latest FreeNAS 9.10-STABLE, I installed the MineOS plugin and have been able to setup and run vanilla 1.12 servers, allow them to be externally accessible from my network, etc.

I now want to setup a server using spigot for 1.12, however when I go to build the jar for it there simply isn’t an option (see image below). About a year ago I ran a Craftbukkit server on FreeNAS 9.3/MC 1.10.2 but even 1.10.2 is missing from the list. Anyone else run into this/figure out how to get the latest spigot/craftbukkit jars to pop up? And in the case that I can’t do this through the webui, how can I do it manually from the jail?

https://gyazo.com/326084dc71fe03f66a6e58cd318370a3

When I google “spigot vs craftbukkit” I get this result:

CraftBukkit is a modified vanilla minecraft server with the Bukkit API built into it.

Spigot is a modified craftbukkit server to improve performance, which also extends the Bukkit API a bit.

For that reason, only Spigot (should) be listed now. Since your screenshot still shows Craftbukkit in the webui, it indicates you haven’t updated your webui in a while.

It should instead look like this:

But then I see, you’re also on FreeNAS, which means that your webui version lags behind the current latest updates… (I don’t maintain the FreeBSD plugin, Josh4Trunks does).

Up in the top right corner, click your username and click the “refresh profiles”. Even back then, doing this should help make newer versions show up. If not, we really want to get that plugin updated, because some fairly substantial changes have happened since your version that has really helped performance and usability.

@hexparrot thanks for the response. I ended up getting it working, albeit in an odd manner. Like you mentioned, since I’m on FreeNAS, the “updating your ui” section is doesn’t help as none of those directories exist on FreeBSD (ie there is no /usr/games/minecraft directory). The refresh profiles button does just that- it refreshes the profile list section, but as far as I can tell, it has no effect on the Spigot/Craftbukkit section.

So here’s the solution:

Read my post below, i’ve done a full write-up on the process from scratch!

-̶ ̶I̶f̶ ̶y̶o̶u̶’̶r̶e̶ ̶t̶r̶y̶i̶n̶g̶ ̶t̶o̶ ̶m̶a̶k̶e̶ ̶a̶ ̶m̶i̶n̶e̶c̶r̶a̶f̶t̶ ̶s̶e̶r̶v̶e̶r̶ ̶t̶h̶a̶t̶s̶ ̶>̶=̶ ̶1̶.̶1̶2̶ ̶o̶n̶ ̶F̶r̶e̶e̶N̶A̶S̶,̶ ̶m̶a̶k̶e̶ ̶s̶u̶r̶e̶ ̶t̶o̶ ̶f̶i̶r̶s̶t̶ ̶i̶n̶s̶t̶a̶l̶l̶ ̶J̶a̶v̶a̶ ̶8̶ ̶b̶y̶ ̶g̶o̶i̶n̶g̶ ̶i̶n̶t̶o̶ ̶t̶h̶e̶ ̶j̶a̶i̶l̶ ̶s̶h̶e̶l̶l̶ ̶a̶n̶d̶ ̶t̶y̶p̶i̶n̶g̶:̶"̶p̶k̶g̶ ̶i̶n̶s̶t̶a̶l̶l̶ ̶o̶p̶e̶n̶j̶d̶k̶8̶"̶ ̶(̶t̶h̶i̶s̶ ̶i̶s̶ ̶f̶o̶r̶ ̶F̶r̶e̶e̶N̶A̶S̶ ̶9̶.̶1̶0̶,̶ ̶i̶f̶ ̶y̶o̶u̶’̶r̶e̶ ̶s̶t̶i̶l̶l̶ ̶o̶n̶ ̶9̶.̶3̶ ̶u̶p̶d̶a̶t̶e̶ ̶t̶o̶ ̶9̶.̶1̶0̶)̶ ̶
-̶ ̶I̶n̶s̶t̶a̶l̶l̶ ̶t̶h̶e̶ ̶p̶l̶u̶g̶i̶n̶ ̶a̶n̶d̶ ̶g̶o̶ ̶t̶o̶ ̶t̶h̶e̶ ̶w̶e̶b̶u̶i̶ ̶a̶t̶ ̶h̶t̶t̶p̶s̶:̶/̶/̶y̶o̶u̶r̶-̶j̶a̶i̶l̶-̶i̶p̶-̶h̶e̶r̶e̶:̶8̶4̶4̶3̶
̶-̶ ̶C̶r̶e̶a̶t̶e̶ ̶a̶ ̶n̶e̶w̶ ̶s̶e̶r̶v̶e̶r̶ ̶t̶h̶r̶o̶u̶g̶h̶ ̶t̶h̶e̶ ̶W̶e̶b̶U̶I̶ ̶
-̶ ̶D̶o̶w̶n̶l̶o̶a̶d̶ ̶t̶h̶e̶ ̶1̶.̶1̶2̶ ̶(̶o̶r̶ ̶i̶n̶ ̶t̶h̶e̶ ̶f̶u̶t̶u̶r̶e̶ ̶w̶h̶a̶t̶e̶v̶e̶r̶ ̶t̶h̶e̶ ̶l̶a̶t̶e̶s̶t̶ ̶v̶e̶r̶s̶i̶o̶n̶ ̶i̶s̶)̶ ̶M̶C̶ ̶p̶r̶o̶f̶i̶l̶e̶ ̶
-̶ ̶C̶o̶p̶y̶ ̶t̶h̶a̶t̶ ̶t̶o̶ ̶t̶h̶e̶ ̶s̶e̶r̶v̶e̶r̶,̶ ̶a̶c̶c̶e̶p̶t̶ ̶t̶h̶e̶ ̶e̶u̶l̶a̶,̶ ̶a̶n̶d̶ ̶s̶t̶a̶r̶t̶ ̶u̶p̶ ̶t̶h̶e̶ ̶s̶e̶r̶v̶e̶r̶ ̶a̶n̶d̶ ̶m̶a̶k̶e̶ ̶s̶u̶r̶e̶ ̶i̶t̶ ̶w̶o̶r̶k̶s̶.̶ ̶I̶f̶ ̶y̶o̶u̶ ̶c̶a̶n̶’̶t̶ ̶g̶e̶t̶ ̶t̶h̶i̶s̶ ̶t̶o̶ ̶w̶o̶r̶k̶ ̶y̶o̶u̶ ̶h̶a̶v̶e̶ ̶o̶t̶h̶e̶r̶ ̶p̶r̶o̶b̶l̶e̶m̶s̶ ̶
-̶ ̶T̶h̶e̶n̶ ̶g̶o̶ ̶t̶o̶ ̶t̶h̶e̶ ̶S̶p̶i̶g̶g̶o̶t̶/̶C̶r̶a̶f̶t̶b̶u̶k̶k̶i̶t̶ ̶s̶e̶c̶t̶i̶o̶n̶ ̶a̶n̶d̶ ̶d̶o̶w̶n̶l̶o̶a̶d̶ ̶t̶h̶e̶ ̶l̶a̶t̶e̶s̶t̶ ̶B̶u̶i̶l̶d̶T̶o̶o̶l̶s̶ ̶
-̶ ̶E̶v̶e̶n̶ ̶t̶h̶o̶u̶g̶h̶ ̶1̶.̶1̶2̶ ̶i̶s̶n̶’̶t̶ ̶l̶i̶s̶t̶e̶d̶,̶ ̶g̶o̶ ̶b̶a̶c̶k̶ ̶t̶o̶ ̶t̶h̶e̶ ̶s̶e̶r̶v̶e̶r̶,̶ ̶s̶w̶i̶t̶c̶h̶ ̶t̶h̶e̶ ̶p̶r̶o̶f̶i̶l̶e̶ ̶o̶n̶ ̶t̶h̶e̶ ̶l̶e̶f̶t̶ ̶t̶o̶ ̶b̶u̶i̶l̶d̶t̶o̶o̶l̶s̶-̶l̶a̶t̶e̶s̶t̶,̶ ̶a̶n̶d̶ ̶t̶h̶e̶ ̶j̶a̶r̶ ̶o̶p̶t̶i̶o̶n̶ ̶o̶n̶ ̶t̶h̶e̶ ̶r̶i̶g̶h̶t̶ ̶t̶o̶ ̶s̶p̶i̶g̶o̶t̶-̶1̶.̶1̶2̶ ̶o̶r̶ ̶c̶r̶a̶f̶t̶b̶u̶k̶k̶i̶t̶-̶1̶.̶1̶2̶.̶ ̶E̶v̶e̶n̶ ̶t̶h̶o̶u̶g̶h̶ ̶y̶o̶u̶ ̶n̶e̶v̶e̶r̶ ̶b̶u̶i̶l̶t̶ ̶t̶h̶e̶s̶e̶,̶ ̶t̶h̶e̶y̶ ̶s̶h̶o̶u̶l̶d̶ ̶b̶e̶ ̶t̶h̶e̶r̶e̶.̶ ̶
-̶ ̶S̶p̶i̶n̶ ̶u̶p̶ ̶t̶h̶e̶ ̶s̶e̶r̶v̶e̶r̶ ̶a̶g̶a̶i̶n̶ ̶a̶n̶d̶ ̶c̶h̶e̶c̶k̶ ̶t̶h̶e̶ ̶l̶o̶g̶s̶,̶ ̶y̶o̶u̶ ̶s̶h̶o̶u̶l̶d̶ ̶s̶e̶e̶ ̶t̶h̶a̶t̶ ̶i̶t̶ ̶i̶s̶ ̶n̶o̶w̶ ̶u̶s̶i̶n̶g̶ ̶s̶p̶i̶g̶o̶t̶/̶c̶r̶a̶f̶t̶b̶u̶k̶k̶i̶t̶ ̶ ̶

S̶o̶ ̶i̶f̶ ̶y̶o̶u̶ ̶w̶a̶n̶t̶ ̶a̶ ̶1̶.̶9̶.̶4̶ ̶<̶ ̶v̶e̶r̶s̶i̶o̶n̶-̶I̶-̶w̶a̶n̶t̶ ̶<̶ ̶l̶a̶t̶e̶s̶t̶-̶a̶v̶a̶i̶l̶a̶b̶l̶e̶-̶v̶e̶r̶s̶i̶o̶n̶,̶ ̶y̶o̶u̶’̶r̶e̶ ̶k̶i̶n̶d̶a̶ ̶o̶u̶t̶ ̶o̶f̶ ̶l̶u̶c̶k̶ ̶(̶y̶o̶u̶ ̶c̶a̶n̶ ̶s̶t̶i̶l̶l̶ ̶d̶o̶ ̶t̶h̶i̶s̶,̶ ̶y̶o̶u̶ ̶j̶u̶s̶t̶ ̶h̶a̶v̶e̶ ̶t̶o̶ ̶c̶o̶n̶f̶i̶g̶u̶r̶e̶ ̶i̶t̶ ̶a̶l̶l̶ ̶m̶a̶n̶u̶a̶l̶l̶y̶ ̶w̶h̶i̶c̶h̶ ̶c̶a̶n̶ ̶b̶e̶ ̶a̶n̶ ̶u̶n̶d̶e̶r̶t̶a̶k̶i̶n̶g̶ ̶f̶o̶r̶ ̶t̶h̶e̶ ̶u̶n̶i̶n̶i̶t̶i̶a̶t̶e̶d̶)̶.̶ ̶O̶t̶h̶e̶r̶w̶i̶s̶e̶ ̶t̶h̶i̶s̶ ̶w̶o̶r̶k̶s̶ ̶:̶)̶

1 Like

Just for future clarity sake (I know I’m gonna need to make a new server in a year or two and will have forgotten all of this), here’s a full writeup from scratch. (Since I’m a new user and can only put 5 links in a post anywhere that has (H) below signifies http:// and (HS) signifies https://

Abstract:
Using FreeNAS and MineOS to configure a Spigot/Craftbukkit (from here on referred to as S/C) server with support for users outside the network to play and using the plugin Dynmap. Works for any version of S/C even if these aren’t listed for you in the WebUI. While this should work for both, in particular I’m setting up a Spigot server here. If you’re setting up an S/C server and the version you want IS displayed in the S/C section of the WebUI, you can try this approach ut it is recommended to do it the traditional way outlined here: (H)forums.freenas.org/index.php?threads/freenas-9-plugin-mineos.20122

Prereqs:

  • Server: FreeNAS-9.10-STABLE
  • OS used to access WebUI’s: Windows 10

Assumptions:

  • Router: 192.168.0.1
  • FreeNAS server is at 192.168.0.110 on the local network
  • The Minecraft server is at 192.168.0.190 on the local network (need to specify this for other users to access the server externally)
  • Latest/target minecraft version: 1.12
    NOTE: I will be using the three addresses above for my Router/FreeNAS/MineOS- yours will probably be different (at the last two). Sub out my addresses for yours where applicable.

Part 1: Installing MineOS

  1. Hop into the FreeNAS WebUI and navigate to plugins, install MineOS. This will create and start the jail but the plugin will be off
  2. Go to jails and change the ipv4 address of the jail from the default (in my case 192.168.1.1), to whatever you want it to be within your router’s DHCP range (in my case 192.168.0.190)
  3. Go to the Tasks > Init/Shutdown Scripts section of the FreeNAS WebUI and add a script with the following properties:
    Type: Command
    Command: mount -t linprocfs linprocfs /mnt/roots/jails/mineos_1/usr/compat/linux/proc
    When: Post Init
  4. Reboot the server and log back in
  5. Go to installed plugins and turn the plugin on (you may need to turn it back on after each reboot)
  6. Go to the MineOS WebUI at (HS)192.168.0.190:8443 (Note here that it uses SSL so the https is necessary. If you go through chrome it may give you a safety warning, just click Advanced and Proceed to…)
  7. Login, use the default mcserver/mcserver and make sure you can access the WebUI

Part 2: Creating/Configuring the Server
(Spigot instructions pulled from here (HS)spigotmc.org/wiki/buildtools))

  1. Create a new server with whatever properties you want, but be sure to specify 25565 for the port and 192.168.0.190 for the ip address
  2. If you just want a S/C server with the latest version of minecraft, go to the S/C section and click the Download latest BuildTools button. If you want a version that isn’t the latest and isn’t displayed in the MineOS WebUI, skip this part.
  3. Either use jexec or open the jail’s shell from the FreeNAS WebUI
  4. Run the following to get the jail up to date:
    pkg update
    pkg upgrade
  5. Install git and Java 8, which is needed for all version of minecraft >= 1.12 (even if you’re doing, say, 1.10.2, install Java 8)
    pkg install git
    pkg install openjdk8
  6. (only if you’re not doing the latest version) make sure wget is installed and download the version of S/C you want, make a directory for it and place it inside, compile it (compiling will take some time)
    pkg install wget
    cd /var/games/minecraft
    mkdir BuildTools-whatever-version-you-chose
    cd BuildTools-whatever-version-you-chose
    wget -O BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
    git config --global --unset core.autocrlf
    java -jar BuildTools.jar --rev whatever-version-you-chose
  7. (only if you’re using the latest version) go to the latest BuildTools you downloaded earlier and compile it (compiling will take some time)
    cd /var/games/minecraft/BuildTools-latest
    git config --global --unset core.autocrlf
    java -jar BuildTools.jar
  8. With the BuildTools compiled, go back to the MineOS WebUI and go to the server status page. Select BuildTools-latest for the profile and change the runnable jar to either spigot or craftbukkit, whichever you prefer
  9. Up the maximum memory to something like 1024 or 2048 and enable Start server on boot
  10. Click Accept EULA, accept the EULA, wait a couple seconds, then hit the Start button next to it. After a few more seconds the server should start up. Verify there weren’t any issues by checking the logs on the WebUI

Part 3: Server Connectivity, Adjusting Properties, Adding Plugins

  1. Now open minecraft and add the server to the list, specifying 192.168.0.190:25565 as the address. Join in and make sure you can connect.
  2. Now make sure you can connect externally. To do this, you need some sort of dynamic dns service pointing at your FreeNAS server. There are posts on this at the FreeNAS forums, but in my case I use duckdns. Go into your router and find the section to configure port forwarding. Pick a port in the higher 30000 - 50000 numbers and forward that to the 192.168.0.190 address/25565 port that the MineOS server is running on. Thus the address you can give other people off your network for the server would be your-duckdns-name.duckdns.org:45565 (assuming you picked 45565 as your external port number). To verify this works as well add the server to your minecraft server list with this address instead of the local one and connect through it.
  3. Disconnect from the server and go back to the MineOS WebUI. Go to the server properties section to change any of the pre-filled properties. If you want to add/remove properties in an (arguably) easier manner than using the WebUI, download WinSCP and connect to your server through SFTP (this will require the SSH service in FreeNAS to be enabled and configured). This isn’t required since you can navigate to files/edit them through the FreeNAS shell and download files using wget, but it makes it easier.
    NOTE: Any files you create within your server’s directory (ie /var/games/minecraft/servers/Your-saerver-here/) need to have the user and group 199 (the mc user/group) otherwise issues will occur. WinSCP makes it easy to both edit these files and change their owner/group, but it will probably make new files as root/root by default so you’ll need to fix that
  4. To add a whitelist, enable the whitelist property in the server.properties file and use a site like this: https://mcuuid.net/ to generate UUID’s from your server-member’s names. You can lookup the format online for how to write the json file out
  5. Follow a similar procedure for adding users to the OP list, though look online for the exact format
  6. To install plugins, you’ll typically need to go into the server’s plugins directory and then follow their instructions. For Dynmap ((HS)spigotmc.org/resources/dynmap.274/), simply download the .jar file and place it in the plugins folder using WinSCP (or use wget from the shell) and restart the minecraft server. You should see dynmap posting activity in the logs on the MineOS WebUI. If you encounter an issue, it’s likely because the jar is owned by root and not 199 (mc), use chmod/chown or WinSCP properties to fix that. By default, the dynmap will be at (H)192.168.0.190:8123, go there and make sure the page loads (if the map is all black then that’s ok). Finally add another port forwarding rule to your router to forward some high external port to this address/port so users can externally check out the map

Part 4: Backups

  1. To setup restore points and archives of the server to automatically occur, go to the Scheduling section of the MineOS WebUI and submit two cron jobs- one as “Create a new archive” with the cron expression 0 4 * * 0, and the other as “Create a new restore point” with the cron expression 0 */12 * * *. I highly recommend you go read about cron expressions ((HS)www.npmjs.com/package/cron) to understand what these actually mean

Hope this helps someone down the road

Good luck keeping the server stable… The FreeNAS plugin was horrible for me. Often the WebUI wouldn’t work, and server was spotty and just not dependable. It got so bad I just decided to go buy a secondhand dell optiplex running debian and it’s working fantastic. Good luck :slight_smile: the other thing you could always try if that doesn’t work is creating a debian VM on FN and install mineos that way, may be more reliable and the FN MineOS plugin isn’t updated often (as it’s not from hex).