Skip to content

Launching

ThisTestUser edited this page Sep 6, 2024 · 30 revisions

Note: This page should be viewed after the tutorial page!

WARNING: If you are running any version at or below 1.18, make sure the log4j exploit is patched. For the client, ensure that the com.mojang.patchy library contains an org folder that leads to JndiLookup.class before joining any server. For the server, make sure you apply the log4j fix with the internet turned off first. Do not take risks!

In order to launch from the Eclipse IDE, you need to ensure that the libraries are linked to the projects in the classpath. The workspace to be selected at the startup screen is at mcp940/eclipse. There are two projects there, Client and Server. If you intend to the use the fixer to fix your classpath, do not start Eclipse until you've run the fixer.

For both projects, there are two ways you can add libraries, automatic and manual. Choose a method to follow below.

Automatic

Simply run the Fixer: java -jar fixer.jar -w PATH_TO_MCP_FOLDER -mode libraries, where PATH_TO_MCP_FOLDER is your MCP folder location. If you finished the decompile tutorial before running this command, everything will be configured properly. If the server JAR is not downloaded, the server project will not be fixed, so you'll have to delete it from Eclipse.

Manual - Configuration Fixes

First, lookup the minimum Java version required to run your Minecraft. You can find this on the wiki.

Go to Window -> Preferences -> Java -> Compiler. Set the JDK compliance level and both compatibilities to the minimum Java version required.

Now for each project, right click, go to properties, and Java Compiler. Again, make sure the JDK compliance level and both compatibilities are the minimum Java version required. Also go into the build path and select the correct Java version.

Go to the drop down next to the run button to edit run configurations. For both Client and Server, delete-Xincgc. In 1.16 and above, change the Server main class to net.minecraft.server.Main.

For 1.17 and above, open mcp940/eclipse/Server/.project. Find <arguments>1.0-name-matches-false-false-libraries</arguments>. Replace with <arguments>1.0-name-matches-false-true-(libraries|serverLibraries)</arguments>. Also look for the last instance of </filter> and paste the following below.

		<filter>
			<id>1462950235937</id>
			<name>jars/serverLibraries</name>
			<type>29</type>
			<matcher>
				<id>org.eclipse.ui.ide.multiFilter</id>
				<arguments>1.0-name-matches-false-false-*</arguments>
			</matcher>
		</filter>

Manual - Client

In Eclipse, remove all unresolved libraries, and then add all libraries (JAR files) that are in jars/libraries.

Also add the vanilla JAR in jars/versions.

For 1.18.2 and below, add the natives folder to the "Native Libraries" section of the Minecraft JAR. For example:

The folder name should be 1.XX-natives.

Manual - Server

In Eclipse, remove the old Minecraft server JAR from the libraries and add the current server JAR (minecraft_server.1.XX.jar).

For 1.17 and above, head to MCPConfig/versions/release/YOUR_VERSION/config.json. Look at the libraries listed for the server, and add them all to the classpath.

For 1.18 and above, you will also have to add server libraries manually, as they are now separate from the server JAR. Add all libraries that are in jars/serverLibraries. That folder is created by the fixer tool when downloading the server JAR.

Additional Notes

If you downloaded the libraries using my fixer JAR (which you should have done), the assets will not be copied. Instead of copying the entire folder, you can create a directory junction that points to the original assets folder instead. You can also just ignore the issue, as the assets aren't mandatory (only sounds and other languages are stored there).

Remember that you need a version of Java in Eclipse that is equal or higher to the version of Java required. You can set this in Eclipse at Window -> Preferences -> Java -> Installed JREs.