atnaguzin Posted April 6, 2013 Share Posted April 6, 2013 Hello everyone! Please help with problem: I created launcher to play with friends on MCPC server with Forge based mods. Game directory was edited from "minecraft" to "lngserv-mc". If in archive minecraftforge-universal-1.4.7-6.6.2.534 I edit Minecraft workdir in file /net/minecraft/client/Minecraft.class from "minecraft" to "lngserv-mc" with ClassEditor - Not working. He stops after loading screen. Else if I don't edit class, game launching, but all files loaded from .minecraft, what I don't need. Patching without MC Patcher options. How to make non-default directory based client with Forge? Thanks! Quote Link to comment Share on other sites More sharing options...
SanAndreaP Posted April 6, 2013 Share Posted April 6, 2013 Hello everyone! Please help with problem: I created launcher to play with friends on MCPC server with Forge based mods. Game directory was edited from "minecraft" to "lngserv-mc". If in archive minecraftforge-universal-1.4.7-6.6.2.534 I edit Minecraft workdir in file /net/minecraft/client/Minecraft.class from "minecraft" to "lngserv-mc" with ClassEditor - Not working. He stops after loading screen. Else if I don't edit class, game launching, but all files loaded from .minecraft, what I don't need. Patching without MC Patcher options. How to make non-default directory based client with Forge? Thanks! Either use MultiMC, or look at it's source on github. Quote Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! | mah twitter This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works. Link to comment Share on other sites More sharing options...
Lycanus Darkbinder Posted April 7, 2013 Share Posted April 7, 2013 What OS are you using? I use Windows and wrote a script to launch MC from a custom folder. You have to redirect APPDATA to get things to work properly: REM Use SETLOCAL to keep declarations local to this script REM The "...Expansion" and "...Extensions" keywords are needed for expanding variables in specific ways inside FOR loops SETLOCAL EnableDelayedExpansion EnableExtensions REM Obtain the current path and remove the trailing slash SET _appPath=%~dp0 SET _appPath=%_appPath:~0,-1% REM Modify the system APPDATA variable to allow running Minecraft from any directory. REM Without it, forge would crash trying to find the libraries SET APPDATA=%_appPath:~0,-10% set CLASSPATH=%_appPath%\bin\* REM Put the rest of your script here REM When using SETLOCAL, always put ENDLOCAL before the script exits ENDLOCAL Quote Link to comment Share on other sites More sharing options...
atnaguzin Posted April 8, 2013 Author Share Posted April 8, 2013 Either use MultiMC, or look at it's source on github. I looked MutiMC as launcher, but he used Minecraft License auth system. How to recompile sources - I don't know, because not work with C++ Also it writed for cmake What OS are you using? I use Windows and wrote a script to launch MC from a custom folder. You have to redirect APPDATA to get things to work properly: REM Use SETLOCAL to keep declarations local to this script REM The "...Expansion" and "...Extensions" keywords are needed for expanding variables in specific ways inside FOR loops SETLOCAL EnableDelayedExpansion EnableExtensions REM Obtain the current path and remove the trailing slash SET _appPath=%~dp0 SET _appPath=%_appPath:~0,-1% REM Modify the system APPDATA variable to allow running Minecraft from any directory. REM Without it, forge would crash trying to find the libraries SET APPDATA=%_appPath:~0,-10% set CLASSPATH=%_appPath%\bin\* REM Put the rest of your script here REM When using SETLOCAL, always put ENDLOCAL before the script exits ENDLOCAL That script good . I wonder how to insert it in the launcher, based on auth_system_launcher_zip_src (can find on github). Quote Link to comment Share on other sites More sharing options...
atnaguzin Posted April 8, 2013 Author Share Posted April 8, 2013 After testing I think that script too not works C:\Users\Kirill\AppData\Roaming\.lngserv-mc>REM Use SETLOCAL to keep declarations local to this script C:\Users\Kirill\AppData\Roaming\.lngserv-mc>REM The "...Expansion" and "...Extensions" keywords are needed for expanding variables in specific ways inside FOR loops C:\Users\Kirill\AppData\Roaming\.lngserv-mc>SETLOCAL EnableDelayedExpansion EnableExtensions C:\Users\Kirill\AppData\Roaming\.lngserv-mc>REM Obtain the current path and remove the trailing slash C:\Users\Kirill\AppData\Roaming\.lngserv-mc>SET _appPath=C:\Users\Kirill\AppData\Roaming\.lngserv-mc\ C:\Users\Kirill\AppData\Roaming\.lngserv-mc>SET _appPath=C:\Users\Kirill\AppData\Roaming\.lngserv-mc C:\Users\Kirill\AppData\Roaming\.lngserv-mc>REM Modify the system APPDATA variable to allow running Minecraft from any d irectory. C:\Users\Kirill\AppData\Roaming\.lngserv-mc>REM Without it, forge would crash trying to find the libraries C:\Users\Kirill\AppData\Roaming\.lngserv-mc>SET APPDATA=C:\Users\Kirill\AppData\Roaming C:\Users\Kirill\AppData\Roaming\.lngserv-mc>set CLASSPATH=C:\Users\Kirill\AppData\Roaming\.lngserv-mc\bin C:\Users\Kirill\AppData\Roaming\.lngserv-mc>REM Put the rest of your script here C:\Users\Kirill\AppData\Roaming\.lngserv-mc>java -cp C:\Users\Kirill\AppData\Roaming\.lngserv-mc\bin\minecraft.jar;C:\Us ers\Kirill\AppData\Roaming\.lngserv-mc\bin\lwjgl.jar;C:\Users\Kirill\AppData\Roaming\.lngserv-mc\bin\lwjgl_util.jar;C:\U sers\Kirill\AppData\Roaming\.lngserv-mc\bin\jinput.jar; -Djava.library.path=C:\Users\Kirill\AppData\Roaming\.lngserv-mc\ bin\natives -Xmx1024M -Xms512M net.minecraft.client.Minecraft 2013-04-08 11:04:24 [iNFO] [ForgeModLoader] Forge Mod Loader version 4.7.35.556 for Minecraft 1.4.7 loading 2013-04-08 11:04:25 [sEVERE] [ForgeModLoader] FML appears to be missing any signature data. This is not a good thing 2013-04-08 11:04:34 [iNFO] [sTDOUT] 27 achievements 2013-04-08 11:04:35 [iNFO] [sTDOUT] 210 recipes 2013-04-08 11:04:35 [iNFO] [sTDOUT] Setting user: Player814, - 2013-04-08 11:04:35 [iNFO] [sTDERR] Client asked for parameter: server 2013-04-08 11:04:35 [iNFO] [sTDOUT] LWJGL Version: 2.4.2 2013-04-08 11:04:38 [iNFO] [MinecraftForge] Attempting early MinecraftForge initialization 2013-04-08 11:04:38 [iNFO] [sTDOUT] MinecraftForge v6.6.2.534 Initialized 2013-04-08 11:04:38 [iNFO] [ForgeModLoader] MinecraftForge v6.6.2.534 Initialized 2013-04-08 11:04:38 [iNFO] [sTDOUT] Replaced 84 ore recipies 2013-04-08 11:04:38 [iNFO] [MinecraftForge] Completed early MinecraftForge initialization 2013-04-08 11:04:38 [iNFO] [ForgeModLoader] Reading custom logging properties from C:\Users\Kirill\AppData\Roaming\.mine craft\config\logging.properties 2013-04-08 11:04:38 [OFF] [ForgeModLoader] Logging level for ForgeModLoader logging is set to ALL 2013-04-08 11:04:39 [iNFO] [ForgeModLoader] Searching C:\Users\Kirill\AppData\Roaming\.minecraft\mods for mods Placed script in folder %appdata%/.lngserv-mc/ Have any ideas? Quote Link to comment Share on other sites More sharing options...
Lycanus Darkbinder Posted April 8, 2013 Share Posted April 8, 2013 Oops, sorry I forgot about that limitation with Forge. It seems to be hard coded to always look for certain files within ".minecraft" instead of the relative path. To work around it, just put a ".minecraft" folder inside ".lngserv-mc". Move everything into the ".minecraft" folder and run the script from in there instead. I remember now that when I was testing my script on a folder "Games\Minecraft_1.5.1\", Forge kept creating a ".minecraft" folder in my normal APPDATA and would tell me libraries were missing. When I created "Games\Minecraft_1.5.1\.minecraft\" it all worked fine. Quote Link to comment Share on other sites More sharing options...
atnaguzin Posted April 8, 2013 Author Share Posted April 8, 2013 That works good! Now remaining add that script to launcher with support changing names, and it will be OK. Started trying to add. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.