Take the 2-minute tour ×
Arqade is a question and answer site for passionate videogamers on all platforms. It's 100% free, no registration required.

So I was reading the following trying to solve a problem I'm having, but none of the answers were good enough for my specific situation. Essentially, I'm trying to run multiple versions of Minecraft on the same Linux machine. I'm pretty sure that there is someway of writing a Bash script to change the folder where the app data for the game is stored. However, it's been awhile since I've written even the simplest bash scripts and I want to make sure I don't f-anything up.

Does anyone know what command I would need to run to maintain multiple installations of Minecraft for LINUX? Thanks!

share|improve this question

3 Answers 3

Whether they are debs from the software center or from dotdeb.com, I would go to /usr/share/applications and look for the icon that you would see in the menu to start your program. Drag and drop this icon into the text editor(gedit). When the file appears, there will be a field called, Exec=. Copy the whole line except for the Exec= and paste it into as many terminals as you want. It should start multiple instances of the game.

share|improve this answer
    
Minecraft does not have any debs, as far as I know. It is also not installed on system, but user-level. –  Bobby Apr 29 '12 at 11:23

Disclaimer: The tool I'm going to suggest was written by me, so yes, this is once more self-promotion...shamelessly of course!

Yes, this is possible with the EasyMineLauncher I wrote some time ago for exactly this purpose. It will allow you to

  • Set the minecraft-directory
  • Set the minecraft-data-directory
  • Set the directory of the LWJGL-natives
  • Set an offline username
  • And some more stuff...see the README

But comes with the following drawbacks:

  • No authentication
  • No updates

You can directly launch a minecraft.jar, no matter where it is or how it is named like this:

java -Xmx1024M -Xms1024M -jar EasyMineLauncher.jar --jar=./versions/minecraft_1.2.3.jar --username=YourAwseomeUsername

This will catapult you to the menu of 1.2.3, but you also need the other .jars in that directory together with the natives-directory. F.e., I use the following file/directory layout:

Minecraft-Versions
    1.6.6.jar
    1.7.3.jar
    1.8.3.jar
    and some more versions...
    jinput.jar
    lwjgl.jar
    lwjgl_util.jar
 d  lwjgl-natives

That would allow you to write a simple launcher-script like this:

#!/bin/sh
# launcher.sh

java -Xmx1024M -Xms1024M -jar EasyMineLauncher.jar \
--jar=./Minecraft-Versions/$1.jar \
--lwjgl-dir=./Minecraft-Versions/ \
--native-dir=./Minecraft-Versions/lwjgl-natives/ \
--username=YourUsername \
--maximized \
--title=Minecraft\ ($1)

Then you can write launchers like this:

./launcher.sh 1.7.3

And wham, done.

Or, if you want to have portable versions, just copy the .minecraft directory, rename it and use this:

#!/bin/sh
# ~/MinecraftPortable/1.7.3/launcher.sh

java -Xmx1024M -Xms1024M -jar EasyMineLauncher.jar \
--jar-dir=./bin/ \
--parent-dir=./ \
--username=YourName
share|improve this answer
    
Thanks! I'm a little unclear as how to set up. So I already have a minecraft.jar and a .minecraft dircetory. Where do I put the .minecraft directory? Does this setup make new .minecraft directories for each different version? How exactly does this work? In your example would I put the .minecraft folder in the lwjgl-natives directory? Do I even need to move the .minecraft directory at all? –  BrotherJack Apr 29 '12 at 19:52
1  
@BrotherJack: I've added a step-by-step guide to the README. –  Bobby Apr 30 '12 at 17:40
    
Excellent! You sir, are a mensch! –  BrotherJack Apr 30 '12 at 20:15

A very easy way to do it is through the use of MagicLauncher. It will let you create multiple configurations in the launcher for which Minecraft bin files to run.

You can download it here

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.