Install FTB Infinity 1.7 server for noobs

With that said and done, here is what I have just done to get FTB Infinity FTBInfinity-1.11.2 working.

  1. logged into the webui as my non-root user, will. (mc or any other name works just as well).
  2. downloaded the profile “FTBInfinity-1.11.2”
  3. created a server asdf
  4. set asdf to use the new FTB profile.
  5. hit the ‘copy profile’ button
  6. MineOS reported I needed to accept the EULA because ‘eula.txt’ was copied over. If the webui were closed, I could manually accept the EULA by hitting the “Accept EULA” button in the webui.
  7. opened up a terminal window and connected to my server as the user will
  8. ran the installation shell script
    cd /var/games/minecraft/servers/asdf
    sh FTBInstall.sh
  9. Set the runnable jar to FTBServer-1.7.10-1448.jar
  10. Set Java_XMX to 2048 (it has to be higher than 1GB, as far as I’ve seen)
  11. Hit ‘start’ and the Minecraft process began.

Now here is one of the biggest issues. This profile, as it is distributed from FTB directly, is broken. It doesn’t work, and you likely saw this in the Java logs or if you try to do anything.

Again, it’s important to mention that if there is a Java error at this point, it is not because of profiles–even if you did this on a fresh install of Ubuntu with NO MineOS, you’d get this issue typing “help”.

[09:44:23] [Server thread/INFO]: An unknown error occurred while attempting to perform this command
[09:44:23] [Server thread/ERROR]: Couldn't process command: 'help'
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:835) ~[?:1.7.0_79]
at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:453) ~[?:1.7.0_79]
at java.util.ComparableTimSort.mergeForceCollapse(ComparableTimSort.java:392) ~[?:1.7.0_79]
at java.util.ComparableTimSort.sort(ComparableTimSort.java:191) ~[?:1.7.0_79]
at java.util.ComparableTimSort.sort(ComparableTimSort.java:146) ~[?:1.7.0_79]
at java.util.Arrays.sort(Arrays.java:472) ~[?:1.7.0_79]
at java.util.Collections.sort(Collections.java:155) ~[?:1.7.0_79]
at net.minecraft.command.CommandHelp.func_71534_d(SourceFile:84) ~[au.class:?]
at net.minecraft.command.CommandHelp.func_71515_b(SourceFile:38) ~[au.class:?]
at net.minecraft.command.CommandHandler.func_71556_a(CommandHandler.java:94) [z.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71333_ah(DedicatedServer.java:370) [lt.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:335) [lt.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [li.class:?]

Apparently, the stock FTBInfinity ships broken. Many forum threads recommend Helpfixer, which I promptly visited.

After downloading this to /var/games/minecraft/servers/asdf/mods, I stopped the server and restarted it.

[09:57:01] [Server thread/INFO]: Done (3.227s)! For help, type "help" or "?"
[09:57:16] [Server thread/INFO]: --- Showing help page 1 of 17 (/help <page>) ---
[09:57:16] [Server thread/INFO]: /AlterRate <essentia rate> <vis rate>
[09:57:16] [Server thread/INFO]: /achievement give <stat_name> [player]
[09:57:16] [Server thread/INFO]: Commands provided by Applied Energistics 2 - use /ae2 list for a list, and /ae2 help _____ for help with a command.
[09:57:16] [Server thread/INFO]: /aroma1997 OR /aroma1997 reloadclient
[09:57:16] [Server thread/INFO]: /ban <name> [reason ...]
[09:57:16] [Server thread/INFO]: /ban-ip <address|name> [reason ...]
[09:57:16] [Server thread/INFO]: /banlist [ips|players]

Alas, FTBInfinity starts up and connects! Now, I know that it is not desirable to have to leave the webui and use command line, but apparently FTBInfinity is an outlier. Pretty much every other profile works simply through downloading it, but FTBInfinity has the special requirement to run an external shell script.

So this is how I get FTBInfinity working. It is the recommended way, the way least likely to introduce user error, and the least amount of command line.

I hope this helps.