I've made a configurable Minecraft jar Launcher that reads settings from an INI file and writes these settings via a configuration utility (included). I wrote these in batch that i converted to exe with a nice icon i found (i didn't make the icon, but it said it was open source) and they should be compatible with any version of windows x86 or x64 in most languages. I'm working on posting some screenshots and the file download shortly. I do have one question I also wrote an offline launch utility that skips login process (of course doesn't allow multiplayer) is that allowed here? Will post an update if it is allowed here soon as well. Thanks.
In order to install: copy the two files Minecraft_Launcher.exe and Minecraft_Config.exe to where your minecraft.jar is. Run Minecraft_Config.exe to setup your settings (multiple choice) then use the launcher. If you need to change settings run the config program again, please note the config program is very case sensitive so what you type is what you will get, so no typing 10000 MB of ram unless you actually have it lol. If you have any problems post the contents of the launcher.log (open it via notepad). Hope you enjoy this, I did this mainly for my own personal use but it took a bit of time so i thought I'd share it anyways. Will be updating post shortly with screenshots and download links.
It should work fine, but I'm all about fixing my code for "what ifs" so give me feedback if you have problems or enjoy this.
Version Info.
1.0 Initial Release
1.01 fixed tiny but essential typo in code
+added other NT Jar Utils in archive and Offline Minecraft Launcher
1.02 fixed spacing typo
+added changelog to readme
1.02r2 fixed " mark missing in extractjar.cmd
-no change to changelog
1.03 increased safety check on jar tools, and added new path entry for mobile minecraft.
1.04 additional question on jar import
1.05 added external jar folder support!!
1.06 drag and drop or command line path editing
1.06r2 Compatability with newer java versions, custom jar from ini load ability, compatability with 1.73 beta offline Download Here:
I'm not sure if this is the first of its kind, but I've been looking for something like this that would simplify the process of adding command-line options, or presenting them in a GUI. One thing though; how would you feel about defining the options in a readme or something? For example, I know that the "Xmx" and Xms" control the amount of memory that's allocated for that instance of the Java environment, but I don't know what the difference is between the two (not to mention almost all of the rest of the settings).
Now I know that's not your problem and I can Google it all, but it would be pretty convenient if you included a succinct readme.txt or something (especially since the Google results will mostly apply to other Java runtime info when searched out by inexperienced users, not as they apply to Minecraft).
Cheers!
EDIT: Okay, after looking at the other options a little closer I see they actually aren't that obscure. I did have to research a bit to find out the difference between the initial and max heap memory sizes, but I suppose a little trial-and-error can't hurt.
On a side note, do you know if there's a way to load a custom OpenGL driver with Minecraft, such as is possible with other OpenGL games like Doom3? Under ATI drivers, for example, you can just toss the "atioglxx.dll" file into the root game directory, which will override the system's GPU driver. Not sure if this is possible with Minecraft because of the Java environment...
Yeah sorry about the lack of documentation, this launcher also allows you to use a proxy (if you are behind a school or werid firewall), you'll need to know the ip and port and i haven't tested it yet but it supposed to work.
Not sure about the answer to your last question, but I know dll injecting is important I use it for some 3D hardware i have. I'll fiddle a bit and get back to you if I have any luck.
As far as some other essential jar tools for minecraft these are useful, provided you have the java sdk installed and 7zip or other archive tool, even though they are in batch format:
I may make them fancier if anyone wants me to. Put these in the minecraft bin directory! It'll extract a folder Minecraft where you just drag and drop (overwrite) your mods then run the second batch file and presto done!
*************BACK UP YOUR MINECRAFT JAR IN CASE THERE ARE ERRORS BEFORE RUNNING THIS*******
I added some changes (highlighted) that I will update on the next version, that prevent the minecraft.jar from being deleted regardless if it has completed correctly. -DONE
extractjar.cmd
SetLocal
REM ******EDIT ME HERE after the "=" sign******
set TOOL_PATH="%PROGRAMFILES%\7-Zip\
set DEC_TOOL=7z.exe"
set OPTIONS=x -o
REM *****END EDITING******
@ECHO OFF
cls
if not exist minecraft.jar echo ***WARNING JAR NOT EXIST***
ECHO ***MAYBE ALREADY EXTRACTED?***
if not exist minecraft.jar goto End
color 17
cls
ECHO ***ARE YOU SURE YOU WANT TO Execute ExtractJar?***
ECHO 1: Confirm (TYPE "YES")
ECHO 2: Cancel (Exit)
SET /P Confirm=Select Choice:
if %Confirm%==YES goto run
if %Confirm%==Yes goto run
if %Confirm%==yes goto run
if %Confirm%=="YES" goto run
if %Confirm%==2 goto End
:End
Pause
EndLocal
exit
:run
cls
%TOOL_PATH%%DEC_TOOL% %OPTIONS%minecraft minecraft.jar
cd minecraft
del minecraft.jar
cd ..
copy minecraft.jar minecraft.jar.bak
del minecraft.jar
goto End
makejar.cmd
SetLocal
REM ******EDIT ME HERE after the "=" sign******
REM set JAVA_PATH="%PROGRAMFILES%\Java\jdk*\bin\
REM set JAVA_PATH="%PROGRAMFILES(X86)%\Java\jdk*\bin\
set JAVA_PATH="%PROGRAMFILES%\Java\jdk*\bin\
REM *****END EDITING******
@ECHO OFF
cls
if not exist minecraft echo ***WARNING JAR NOT EXTRACTED***
if not exist minecraft goto End
if exist minecraft.jar echo ***JAR IS ALREADY MADE***
if exist minecraft.jar goto End
color 17
cls
ECHO ***ARE YOU SURE YOU WANT TO Execute MakeJar?***
ECHO 1: Confirm (TYPE "YES")
ECHO 2: Cancel (Exit)
SET /P Confirm=Select Choice:
if %Confirm%==YES goto Menu
if %Confirm%==Yes goto Menu
if %Confirm%==yes goto Menu
if %Confirm%=="YES" goto Menu
if %Confirm%==2 goto End
:End
Pause
EndLocal
exit
cls
:Menu
ECHO ***DO YOU REQUIRE A CUSTOM MANIFEST?***
ECHO 1: No
ECHO 2. Yes
ECHO 3. Cancel (Exit)
SET /P Manifest=Select Choice:
if %Manifest%==1 goto run
if %Manifest%==2 goto custom
if %Manifest%==3 goto End
:run
copy minecraft.jar minecraft.jar.bak
del minecraft.jar
cd minecraft
rmdir /s /q META-INF
%JAVA_PATH%jar.exe" cf minecraft.jar *
cd ..
copy minecraft\minecraft.jar
cd minecraft
del minecraft.jar
cd ..
rmdir /s /q minecraft
goto End
:custom
copy minecraft.jar minecraft.jar.bak
del minecraft.jar
cd minecraft
copy ..\MANIFEST.txt
rmdir /s /q META-INF
%JAVA_PATH%jar.exe" cfm minecraft.jar MANIFEST.txt *
cd ..
copy minecraft\minecraft.jar
cd minecraft
del minecraft.jar
cd ..
rmdir /s /q minecraft
goto End
For some reason it outputs "Xms" twice instead of first using "Xmx," for max... Lemme go back in and make sure this wasn't a mistake on my part with inputting the data...
For some reason it outputs "Xms" twice instead of first using "Xmx," for max... Lemme go back in and make sure this wasn't a mistake on my part with inputting the data...
Hahaha, sorry, typo on my part i'll upload a new one, reminds me earlier i spent 2 hours searching for a typo that turned out to be a missing letter "S" , bangs head on wall! :tongue.gif:
Ok added new download this time I'm including the above batch files and the offline Minecraft_Launcher tool, it requires that you own minecraft so that you can get the jar downloaded obviously, but skips login, which means that multiplayer and achievents won't work. If mods want that one removed let me know.
Also I'm just starting with MCP (minecraft coding pack) but I don't just make errors in code I can sometimes correct them. Case in Point, for the 1.5.0_1 xray mod 1.32 (1.29) never worked right the gui would crash you, or it would not work at all. I fixed it, which was useful to me until i can (slowly) get the cm.class code merged for CJB's modpack + smith_61s extender compatibility.
Cool, checking out the updated version now. Another reason something like this is helpful is forcing the Java version...
For some reason that I still haven't figured out, I can't get my system to default to the x64 version of JRE 7.0, even when I add the "C:\Program Files\Java\jre7\bin\" to my Win7 Environment Variables, so I can use this to force it... And as for the rest, your in-line GUI recommendations help with the settings I'm not familiar with.
Thanks, and good work on fixing XrayMod as well!
PS: About that OGL driver thing I mentioned; I tried throwing an older ATI version (11.2) of the "atioglxx.dll" file in the ".minecraft\bin\natives" folder, but I'm still not sure if that works as an override (no way to verify). But I do know Minecraft obviously uses that driver -- either instead of, or in addition to -- the other graphics and sound .dll files in the "natives" folder, because I've logged game crashes specifically caused by atioglxx.dll (even when it's not manually placed in the "natives" folder).
On a final and completely unrelated note, I noticed that Notch uses OpenAL for sound; makes me wonder about the potential of EAX support in a future release, or from a third-party developer... Hmmm...
I updated this toolkit with a new feature that allows you to set a custom path, basically allowing minecraft to function from any directory (portable). And added an important extra saftey check for the utilities.
Also
NOTE: Keep the Settings.ini file in your launch path, if you are using Minecraft Backup Assistant you'll need to symboliclink or copy your "FINAL" Settings.ini to
where its actual exe resides like:
C:\Users\"_username_"\AppData\Local\Apps\2.0\DJ48CRHH.65D\Q0LJG3DW.TOQ\mine..tion_2363fdf50077fd6d_0002.0003_055e49dfe48701a3\
Thanks Drathian! Really nice to see such dedicated support for your release... And it's a very useful tool for those that need it! I think you'll notice a sharp spike in popularity as soon as word spreads about this tool, and the community finally starts noticing. It might not be that popular with the majority of users, but for "power users" it's really great, especially for those who don't have much experience running Java commands.
Thanks for the compliment glad someone uses this besides me lol. Oh i'm working on a new project that could revolutionize the modding community for newbies, i'll keep everyone updated. *Tis a secret to everyone! Bwahahahah*
I added drag and drop on the window for paths (it will prompt you what to drag) in the config program. Also that project I released the proof of concept here its a jar folder way of launching mods:
I updated the offline launcher for 1.73 beta, (doesn't skip the nag screen or make achievements or onlineplay work as expected). I added a new folder called test, that way you can add files one by one and test for crashes without having to move them to the $mods.jar folder and find them afterwords. Added a jar selection to include in the classpath found in the [Misc] of settings.ini (generate a new one).
And finally last but certainly not least, updated it to work with more versions of java including the latest 1.7x versions.
I've made a configurable Minecraft jar Launcher that reads settings from an INI file and writes these settings via a configuration utility (included). I wrote these in batch that i converted to exe with a nice icon i found (i didn't make the icon, but it said it was open source) and they should be compatible with any version of windows x86 or x64 in most languages. I'm working on posting some screenshots and the file download shortly. I do have one question I also wrote an offline launch utility that skips login process (of course doesn't allow multiplayer) is that allowed here? Will post an update if it is allowed here soon as well. Thanks.
In order to install: copy the two files Minecraft_Launcher.exe and Minecraft_Config.exe to where your minecraft.jar is. Run Minecraft_Config.exe to setup your settings (multiple choice) then use the launcher. If you need to change settings run the config program again, please note the config program is very case sensitive so what you type is what you will get, so no typing 10000 MB of ram unless you actually have it lol. If you have any problems post the contents of the launcher.log (open it via notepad). Hope you enjoy this, I did this mainly for my own personal use but it took a bit of time so i thought I'd share it anyways. Will be updating post shortly with screenshots and download links.
It should work fine, but I'm all about fixing my code for "what ifs" so give me feedback if you have problems or enjoy this.
Version Info.
1.0 Initial Release
1.01 fixed tiny but essential typo in code
+added other NT Jar Utils in archive and Offline Minecraft Launcher
1.02 fixed spacing typo
+added changelog to readme
1.02r2 fixed " mark missing in extractjar.cmd
-no change to changelog
1.03 increased safety check on jar tools, and added new path entry for mobile minecraft.
1.04 additional question on jar import
1.05 added external jar folder support!!
1.06 drag and drop or command line path editing
1.06r2 Compatability with newer java versions, custom jar from ini load ability, compatability with 1.73 beta offline
Download Here:
http://www.mediafire.com/?dulpdv4um5o6t24
http://www.megaupload.com/?d=QWZ01LTK
Now I know that's not your problem and I can Google it all, but it would be pretty convenient if you included a succinct readme.txt or something (especially since the Google results will mostly apply to other Java runtime info when searched out by inexperienced users, not as they apply to Minecraft).
Cheers!
EDIT: Okay, after looking at the other options a little closer I see they actually aren't that obscure. I did have to research a bit to find out the difference between the initial and max heap memory sizes, but I suppose a little trial-and-error can't hurt.
On a side note, do you know if there's a way to load a custom OpenGL driver with Minecraft, such as is possible with other OpenGL games like Doom3? Under ATI drivers, for example, you can just toss the "atioglxx.dll" file into the root game directory, which will override the system's GPU driver. Not sure if this is possible with Minecraft because of the Java environment...
Not sure about the answer to your last question, but I know dll injecting is important I use it for some 3D hardware i have. I'll fiddle a bit and get back to you if I have any luck.
As far as some other essential jar tools for minecraft these are useful, provided you have the java sdk installed and 7zip or other archive tool, even though they are in batch format:
I may make them fancier if anyone wants me to. Put these in the minecraft bin directory! It'll extract a folder Minecraft where you just drag and drop (overwrite) your mods then run the second batch file and presto done!
*************BACK UP YOUR MINECRAFT JAR IN CASE THERE ARE ERRORS BEFORE RUNNING THIS*******
I added some changes (highlighted) that I will update on the next version, that prevent the minecraft.jar from being deleted regardless if it has completed correctly. -DONE
extractjar.cmd
makejar.cmd
Make Jar allows a custom manifest for example:
MANIFEST.txt
"C:\Progra~1\Java\jre6\bin\java.exe" -Xms2048M -Xms1024M -cp Minecraft.jar net.minecraft.LauncherFrame
For some reason it outputs "Xms" twice instead of first using "Xmx," for max... Lemme go back in and make sure this wasn't a mistake on my part with inputting the data...
Hahaha, sorry, typo on my part i'll upload a new one, reminds me earlier i spent 2 hours searching for a typo that turned out to be a missing letter "S" , bangs head on wall! :tongue.gif:
Also I'm just starting with MCP (minecraft coding pack) but I don't just make errors in code I can sometimes correct them. Case in Point, for the 1.5.0_1 xray mod 1.32 (1.29) never worked right the gui would crash you, or it would not work at all. I fixed it, which was useful to me until i can (slowly) get the cm.class code merged for CJB's modpack + smith_61s extender compatibility.
XrayMod 1.5.0_1 1.33rc version:
You can find that here:
http://www.megaupload.com/?d=Y00ER6RN
http://www.mediafire.com/?ajkbt8y6k9h2py6
For some reason that I still haven't figured out, I can't get my system to default to the x64 version of JRE 7.0, even when I add the "C:\Program Files\Java\jre7\bin\" to my Win7 Environment Variables, so I can use this to force it... And as for the rest, your in-line GUI recommendations help with the settings I'm not familiar with.
Thanks, and good work on fixing XrayMod as well!
PS: About that OGL driver thing I mentioned; I tried throwing an older ATI version (11.2) of the "atioglxx.dll" file in the ".minecraft\bin\natives" folder, but I'm still not sure if that works as an override (no way to verify). But I do know Minecraft obviously uses that driver -- either instead of, or in addition to -- the other graphics and sound .dll files in the "natives" folder, because I've logged game crashes specifically caused by atioglxx.dll (even when it's not manually placed in the "natives" folder).
On a final and completely unrelated note, I noticed that Notch uses OpenAL for sound; makes me wonder about the potential of EAX support in a future release, or from a third-party developer... Hmmm...
After commands are generated to log file, there's a space missing between the final command switch and the java instruction:
" [SNIPPED...] -Dsun.java2d.pmoffscreen=falsenet.minecraft.client.Minecraft"
...or does that not matter?
Ok updated version 1.02, i gots to get some sleep lol hope it works ok from now on.
EDIT:
Those that actually use the jarextract.cmd may want to get another copy (sorry).
I forgot a quotation mark " after 7z.exe
Also
NOTE: Keep the Settings.ini file in your launch path, if you are using Minecraft Backup Assistant you'll need to symboliclink or copy your "FINAL" Settings.ini to
where its actual exe resides like:
C:\Users\"_username_"\AppData\Local\Apps\2.0\DJ48CRHH.65D\Q0LJG3DW.TOQ\mine..tion_2363fdf50077fd6d_0002.0003_055e49dfe48701a3\
http://www.minecraftforum.net/topic/346576-mod-poc-are-you-tired-of-constantly-editing-the-minecraftjar-file/
And finally last but certainly not least, updated it to work with more versions of java including the latest 1.7x versions.
http://www.mediafire.com/?dulpdv4um5o6t24
mirror:
http://www.megaupload.com/?d=QWZ01LTK
if anyone has any issues let me know and I'll most likely be able to fix em fast. :smile.gif:
-Drath