Jump to content

Recommended Posts

Posted

I can't figure out a headless way to use the installer so I'm trying to get forge up and running on a headless linux machine the same way I've done hundreds of times. Vanilla runs perfectly fine.

 

I have no forge log to attach since this is forge failing instantly and it's not generating one.

 

Execution commands I've tried:

  • java -jar minecraftforge-universal-1.6.1-8.9.0.768.jar
  • java -cp minecraft_server.jar:minecraftforge-universal-1.6.1-8.9.0.768.jar cpw.mods.fml.relauncher.ServerLaunchWrapper

 

This is the result of either of the above commands:

We appear to be missing one or more essential library files.

You will need to add them to your server before FML and Forge will run successfully.java.lang.ClassNotFoundException: net.minecraft.launchwrapper.Launch

        at java.net.URLClassLoader$1.run(Unknown Source)

        at java.net.URLClassLoader$1.run(Unknown Source)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.net.URLClassLoader.findClass(Unknown Source)

        at java.lang.ClassLoader.loadClass(Unknown Source)

        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

        at java.lang.ClassLoader.loadClass(Unknown Source)

        at java.lang.Class.forName0(Native Method)

        at java.lang.Class.forName(Unknown Source)

        at cpw.mods.fml.relauncher.ServerLaunchWrapper.run(ServerLaunchWrapper.java:30)

        at cpw.mods.fml.relauncher.ServerLaunchWrapper.main(ServerLaunchWrapper.java:17)

Posted

Copy libraries folder from client to server

Run universal jar.

Don't run the installer on headless shit because it's a GUI, ofc guis dont work on headless.

 

The universal is fine for headless as long as you have the libraries in the correct place.

 

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

Or you can make your server locally on your pc, make sure it works, then copy the server files onto your headless. Would it work better?

Read the EAQ before posting! OR ELSE!

 

  Quote
This isn't building better software, its trying to grab a place in the commit list of a highly visible github project.

 

www.forgeessentials.com

 

Don't PM me, I don't check this account unless I have to.

Posted

So many question...

 

Why would you not just bundle the required libraries with the jar?

Why wouldn't there just be a way to use the forge installer via command line switches?

If the vanilla minecraft server can work without copying client files to the server why doesn't forge?

Is it really a "universal" library if it requires you to copy client files to make it work?

Posted
  On 7/5/2013 at 10:50 PM, selurgniman said:
Why would you not just bundle the required libraries with the jar?
Because thats 20-90MB of redundant data in EVERY download that 90% of users wouldnt need at all

  Quote
Why wouldn't there just be a way to use the forge installer via command line switches?
I've actually told cpw to add this functonality to the installer, don't know what came from that.

  Quote
If the vanilla minecraft server can work without copying client files to the server why doesn't forge?
You're not copying CLIENT files, you're copying Libraries, notibly, LegacyLauncher, and Scala

You could always downlaod those files manually yourself, or use the installer to download them for you.

  Quote
Is it really a "universal" library if it requires you to copy client files to make it work?
Again not copying CLIENT files. Its the libraries that matter. And yes its still a universal jar because it works on both client and server.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

I used the forge installer jar to install client locally to my machine and am able to play a single player server without issue.

 

I copied the libraries folder per the instructions here and attempt to start the minecraftforge_universal jar and it throws an error message NoClassDefFoundError -

 

2013-07-06 22:20:10 [iNFO] [ForgeModLoader] Forge Mod Loader version 6.1.34.774 for Minecraft 1.6.1 loading
2013-07-06 22:20:10 [iNFO] [ForgeModLoader] Java is Java HotSpot(TM) Server VM, version 1.7.0_21, running on Linux:i386:2.6.32-042stab078.26, installed at /usr/lib/jvm/java-7-oracle/jre
2013-07-06 22:20:10 [FINE] [ForgeModLoader] Java classpath at launch is minecraftforge-universal-1.6.1-8.9.0.774.jar
2013-07-06 22:20:10 [FINE] [ForgeModLoader] Java library path at launch is /usr/java/packages/lib/i386:/lib:/usr/lib
2013-07-06 22:20:10 [FINE] [ForgeModLoader] Enabling runtime deobfuscation
2013-07-06 22:20:10 [FINEST] [ForgeModLoader] Adding coremod for loading cpw.mods.fml.relauncher.FMLCorePlugin
2013-07-06 22:20:10 [FINEST] [ForgeModLoader] Adding coremod for loading net.minecraftforge.classloading.FMLForgePlugin
2013-07-06 22:20:10 [FINE] [ForgeModLoader] All core mods are successfully located
2013-07-06 22:20:10 [FINE] [ForgeModLoader] Discovering coremods
2013-07-06 22:20:10 [FINEST] [ForgeModLoader] Registering transformer cpw.mods.fml.common.asm.transformers.PatchingTransformer
2013-07-06 22:20:10 [FINEST] [ForgeModLoader] Registering transformer cpw.mods.fml.common.asm.transformers.AccessTransformer
2013-07-06 22:20:10 [iNFO] [sTDERR] java.lang.NoClassDefFoundError: com/google/common/io/LineProcessor
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.lang.Class.getDeclaredConstructors0(Native Method)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.lang.Class.privateGetDeclaredConstructors(Class.java:2413)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.lang.Class.getConstructor0(Class.java:2723)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.lang.Class.newInstance0(Class.java:345)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.lang.Class.newInstance(Class.java:327)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at net.minecraft.launchwrapper.LaunchClassLoader.registerTransformer(LaunchClassLoader.java:81)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at cpw.mods.fml.relauncher.CoreModManager.handleLaunch(CoreModManager.java:137)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at cpw.mods.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:90)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at cpw.mods.fml.relauncher.FMLLaunchHandler.setupServer(FMLLaunchHandler.java:74)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at cpw.mods.fml.relauncher.FMLLaunchHandler.configureForServerLaunch(FMLLaunchHandler.java:39)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at cpw.mods.fml.common.launcher.FMLServerTweaker.injectIntoClassLoader(FMLServerTweaker.java:20)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at net.minecraft.launchwrapper.Launch.launch(Launch.java:51)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at net.minecraft.launchwrapper.Launch.main(Launch.java:18)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.lang.reflect.Method.invoke(Method.java:601)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at cpw.mods.fml.relauncher.ServerLaunchWrapper.run(ServerLaunchWrapper.java:48)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at cpw.mods.fml.relauncher.ServerLaunchWrapper.main(ServerLaunchWrapper.java:17)
2013-07-06 22:20:10 [iNFO] [sTDERR] Caused by: java.lang.ClassNotFoundException: com.google.common.io.LineProcessor
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.security.AccessController.doPrivileged(Native Method)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:110)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
2013-07-06 22:20:10 [iNFO] [sTDERR]     ... 19 more
2013-07-06 22:20:10 [sEVERE] [ForgeModLoader] An error occurred trying to configure the minecraft home at /etc/minecraft/1.6.1/. for Forge Mod Loader
java.lang.NoClassDefFoundError: com/google/common/io/LineProcessor
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2413)
        at java.lang.Class.getConstructor0(Class.java:2723)
        at java.lang.Class.newInstance0(Class.java:345)
        at java.lang.Class.newInstance(Class.java:327)
        at net.minecraft.launchwrapper.LaunchClassLoader.registerTransformer(LaunchClassLoader.java:81)
        at cpw.mods.fml.relauncher.CoreModManager.handleLaunch(CoreModManager.java:137)
        at cpw.mods.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:90)
        at cpw.mods.fml.relauncher.FMLLaunchHandler.setupServer(FMLLaunchHandler.java:74)
        at cpw.mods.fml.relauncher.FMLLaunchHandler.configureForServerLaunch(FMLLaunchHandler.java:39)
        at cpw.mods.fml.common.launcher.FMLServerTweaker.injectIntoClassLoader(FMLServerTweaker.java:20)
        at net.minecraft.launchwrapper.Launch.launch(Launch.java:51)
        at net.minecraft.launchwrapper.Launch.main(Launch.java:18)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at cpw.mods.fml.relauncher.ServerLaunchWrapper.run(ServerLaunchWrapper.java:48)
        at cpw.mods.fml.relauncher.ServerLaunchWrapper.main(ServerLaunchWrapper.java:17)
Caused by: java.lang.ClassNotFoundException: com.google.common.io.LineProcessor
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:110)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        ... 19 more
2013-07-06 22:20:10 [iNFO] [sTDERR] A problem occurred running the Server launcher.java.lang.reflect.InvocationTargetException
2013-07-06 22:20:10 [iNFO] [sTDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.lang.reflect.Method.invoke(Method.java:601)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at cpw.mods.fml.relauncher.ServerLaunchWrapper.run(ServerLaunchWrapper.java:48)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at cpw.mods.fml.relauncher.ServerLaunchWrapper.main(ServerLaunchWrapper.java:17)
2013-07-06 22:20:10 [iNFO] [sTDERR] Caused by: java.lang.NoClassDefFoundError: com/google/common/base/Throwables
2013-07-06 22:20:10 [iNFO] [sTDERR]     at cpw.mods.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:96)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at cpw.mods.fml.relauncher.FMLLaunchHandler.setupServer(FMLLaunchHandler.java:74)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at cpw.mods.fml.relauncher.FMLLaunchHandler.configureForServerLaunch(FMLLaunchHandler.java:39)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at cpw.mods.fml.common.launcher.FMLServerTweaker.injectIntoClassLoader(FMLServerTweaker.java:20)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at net.minecraft.launchwrapper.Launch.launch(Launch.java:51)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at net.minecraft.launchwrapper.Launch.main(Launch.java:18)
2013-07-06 22:20:10 [iNFO] [sTDERR]     ... 6 more
2013-07-06 22:20:10 [iNFO] [sTDERR] Caused by: java.lang.ClassNotFoundException: com.google.common.base.Throwables
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.security.AccessController.doPrivileged(Native Method)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
2013-07-06 22:20:10 [iNFO] [sTDERR]     at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
2013-07-06 22:20:10 [iNFO] [sTDERR]     ... 12 more

 

Did I do something wrong with copying the libraries folder?

 

bryan@murphy:/etc/minecraft/1.6.1$ ls -l
total 1856
-rw-r--r-- 1 root root    8914 Jul  6 22:20 ForgeModLoader-server-0.log
-rw-r--r-- 1 root root       0 Jul  6 22:20 ForgeModLoader-server-0.log.lck
-rw-r--r-- 1 root root    8914 Jul  6 22:14 ForgeModLoader-server-1.log
-rw-r--r-- 1 root root    8914 Jul  6 22:09 ForgeModLoader-server-2.log
drwxrwxrwx 8 root root    4096 Jul  6 21:57 libraries
-rw-r--r-- 1 root root 1851311 Jul  6 21:58 minecraftforge-universal-1.6.1-8.9.0.774.jar
drwxr-xr-x 2 root root    4096 Jul  6 22:09 mods
-rwxr-xr-x 1 root root      82 Jul  6 22:09 startmc.sh
bryan@murphy:/etc/minecraft/1.6.1$ ls libraries
argo  com  commons-io  lzma  net  org

 

Thanks in advance!

 

java -Xmx1024M -Xms1024M -jar minecraftforge-universal-1.6.1-8.9.0.774.jar nogui

 

(the above is the command in my startmc.sh script in case something's wrong with that)

Posted

You don't have the minecraft_server.1.6.1.jar in the folder...

Seriously if you can't figure it.

Download the installer

Run Install Server

Copy the ENTIRE FOLDER to your server.

And run it.

 

 

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted
  On 7/6/2013 at 12:45 AM, LexManos said:

  Quote
Why would you not just bundle the required libraries with the jar?
Because thats 20-90MB of redundant data in EVERY download that 90% of users wouldnt need at all

Why would 90% of forge users not need these libraries? What changed in forge that there's now an additional 20-90MB of libraries required?

 

I would redownload the libraries every time I updated forge anyway because I would have no idea if there were an added/removed/changed dependency.

 

Of course all this would be moot if there were just a way to run the universal installer on a headless machine. Your distribution model is broken if you require your users to go manually find a copy of libraries you depend on.

Posted
  On 7/7/2013 at 6:04 AM, selurgniman said:

  Quote

  Quote
Why would you not just bundle the required libraries with the jar?
Because thats 20-90MB of redundant data in EVERY download that 90% of users wouldnt need at all

Why would 90% of forge users not need these libraries? What changed in forge that there's now an additional 20-90MB of libraries required?

 

I would redownload the libraries every time I updated forge anyway because I would have no idea if there were an added/removed/changed dependency.

 

Of course all this would be moot if there were just a way to run the universal installer on a headless machine. Your distribution model is broken if you require your users to go manually find a copy of libraries you depend on.

That's the whole point of using the installer - it does all the updating for you, etc.

You can upload the libraries only once, then just update the universal jar. Forge only updates their libraries when mojang does or every major mc update.

Read the EAQ before posting! OR ELSE!

 

  Quote
This isn't building better software, its trying to grab a place in the commit list of a highly visible github project.

 

www.forgeessentials.com

 

Don't PM me, I don't check this account unless I have to.

Posted
  On 7/7/2013 at 3:03 AM, LexManos said:

You don't have the minecraft_server.1.6.1.jar in the folder...

Seriously if you can't figure it.

Download the installer

Run Install Server

Copy the ENTIRE FOLDER to your server.

And run it.

 

Apologies! This step (copying minecraft_server.1.6.1.jar into the folder) was not in your previous post. Never having run the universal jar separately on previous versions (only having combined the .jar files) I was not aware of this procedure, and tutorials/well-written guides for 1.6.1 Forge that aren't "use the installer.jar" are non-existent.

 

As previously mentioned, I couldn't run the installer from the server as there is no GUI.

 

Thanks for the help!

Posted
  On 7/7/2013 at 6:52 AM, luacs1998 said:

That's the whole point of using the installer - it does all the updating for you, etc.

You can upload the libraries only once, then just update the universal jar. Forge only updates their libraries when mojang does or every major mc update.

I would *love* to use the installer, unfortunately a pretty major use case was missed while building it ;).

 

As I suspect is the case with *many* forge users, I only update forge when vanilla updates or rarely when a mod specifies a particular minimum build. So...I'll be updating the libraries with every download of forge.

Posted

As a note a fairly SMALL use case. And we assumed server admins were smart enough to know how to manage libraries.

Either way a headless version fo the installer has been added:

https://github.com/MinecraftForge/Installer/commit/8f76329abac29a4c51ee83f5b5ec154c848d6cd5

 

The majority of users are client users.

And we do not ship libraries to the client. These libraries are download by the launcher.

We add lzma, scala, legacylauncher. LZMA and LegacyLauncher are not to large, but Scala is pretty damn big.

Also, we don't want to ship LegacyLauncher because that would be shipping Mojangs code. Which breaks the entire point of this new launching system.

 

We went after the best use case for the VAST majority of our users. And this is it.

The conversation between cpw and I was quite simple. We assumed that server admins, specifically ones who we doing things on dedicated environments such as yours. Would know how to so dimple library management.

 

Either way, your situation is handled, have fun.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Yes that’s the full log, I managed to get it working last night, the anvil fix mod is what was causing it to crash
    • Hey guys, i'm currently developping a mod with forge 1.12.2 2860 and i'm using optifine and gradle 4.9. The thing is i'm trying to figure out how to show the player's body in first person. So far everything's going well since i've try to use a shader. The player's body started to blink dark when using a shader. I've try a lot of shader like chocapic, zeus etc etc but still the same issue. So my question is : How should i apply the current shader to the body ? At the same time i'm also drawing a HUD so maybe it could be the problem?   Here is the issue :    And here is the code where i'm trying to display the body :    private static void renderFirstPersonBody(EntityPlayerSP player, float partialTicks) { Minecraft mc = Minecraft.getMinecraft(); GlStateManager.pushMatrix(); GlStateManager.pushAttrib(); try { // Préparation OpenGL GlStateManager.enableDepth(); GlStateManager.depthMask(true); GlStateManager.enableAlpha(); GlStateManager.alphaFunc(GL11.GL_GREATER, 0.1F); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); // Éclairage correct pour shaders GlStateManager.enableLighting(); RenderHelper.enableStandardItemLighting(); GlStateManager.enableRescaleNormal(); // Active la lightmap pour les shaders mc.entityRenderer.enableLightmap(); // Position de rendu interpolée double px = player.lastTickPosX + (player.posX - player.lastTickPosX) * partialTicks; double py = player.lastTickPosY + (player.posY - player.lastTickPosY) * partialTicks; double pz = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * partialTicks; GlStateManager.translate( px - mc.getRenderManager().viewerPosX, py - mc.getRenderManager().viewerPosY, pz - mc.getRenderManager().viewerPosZ ); // Rendu du joueur sans la tête Render<?> render = mc.getRenderManager().getEntityRenderObject(player); if (render instanceof RenderPlayer) { RenderPlayer renderPlayer = (RenderPlayer) render; boolean oldHeadHidden = renderPlayer.getMainModel().bipedHead.isHidden; boolean oldHeadwearHidden = renderPlayer.getMainModel().bipedHeadwear.isHidden; renderPlayer.getMainModel().bipedHead.isHidden = true; renderPlayer.getMainModel().bipedHeadwear.isHidden = true; setArmorHeadVisibility(renderPlayer, false); renderPlayer.doRender(player, 0, 0, 0, player.rotationYaw, partialTicks); renderPlayer.getMainModel().bipedHead.isHidden = oldHeadHidden; renderPlayer.getMainModel().bipedHeadwear.isHidden = oldHeadwearHidden; setArmorHeadVisibility(renderPlayer, !oldHeadwearHidden); } // Nettoyage post rendu mc.entityRenderer.disableLightmap(); GlStateManager.disableRescaleNormal(); } catch (Exception e) { // silent fail } finally { GlStateManager.popAttrib(); GlStateManager.popMatrix(); } }   Ty for your help. 
    • Item successfully registered, but there was a problem with the texture of the item, it did not insert and has just the wrong texture.     
    • Keep on using the original Launcher Run Vanilla 1.12.2 once and close the game Download Optifine and run optifine as installer (click on the optifine jar) Start the launcher and make sure the Optifine profile is selected - then test it again  
    • Hi everyone, I’m hoping to revisit an old version of Minecraft — specifically around Beta 1.7.3 — for nostalgia’s sake. I’ve heard you can do this through the official Minecraft Launcher, but I’m unsure how to do it safely without affecting my current installation or save files. Are there any compatibility issues I should watch out for when switching between versions? Would really appreciate any tips or advice from anyone who’s done this before! – Adam
  • Topics

  • Who's Online (See full list)

    • There are no registered users currently online
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.