Java Edition:Tutorials/Playing Old Versions

From Minecraft Discontinued Features Wiki
Jump to navigation Jump to search

The Java Edition of the game is practically the easiest to play on PC in terms of available software and support. However, as the game development goes back to 2009, players might run into difficulties while trying to launch some of the oldest versions or even finding them, as many have been lost over the course of the history of the game.

From version 24w14a onwards, a 64-bit system is required.

Java Software

Playing Minecraft: Java Edition requires Java to be installed on your system.

Different versions of Minecraft require different java versions:

  • Java 8 is recommended for versions from pre-classic to 1.16.5.
  • Java 16 or higher is required for 21w19a to 1.18-pre1.
  • Java 17 or higher is required for 1.18-pre2 to 24w13a.
  • Java 21 or higher is required for post 24w14a.

You can use the installers or manually set it up. Once it is downloaded you can point your launcher to the java or javaw location.

Versions

Omniarchive is most accurate source for old versions up to 1.8.9. For versions post 1.8.9, download the versions from the Minecraft Wiki.

Client

Pre-classic
Classic
Indev
Infdev
Alpha
Beta
Release

Server

Classic
Alpha
Beta
Release

Launchers

There are different launchers that allow for various Minecraft: Java Edition versions to be launched all with their own benefits and drawbacks.

Betacraft is recommended due to it having a complete list of archived Minecraft: Java Edition versions up to 1.5.2. It comes with skin, sounds and multiplayer fix as well as classic addons that allow for saving and full-screening.

Codex-Ipsa is recommended to due to having a complete list of all archived Minecraft: Java Edition versions. It also comes with easy JAR-modding support as well as the Betacraft proxy. It is however still experimental.

Minecraft Launcher

Minecraft Launcher

Platforms: Windows, Linux, MacOS

Minecraft Launcher Download

The Minecraft Launcher is the default launcher the majority of people have installed. If you don't like downloading 3rd party alternatives you can still play all the versions of Minecraft: Java Edition. This however does come at the cost of having to manually add missing versions into the launcher, not having classic save and potential specific hardware issues.

To access the launcher's selection of versions, please make sure you do the following:

  • Check the "Show historical versions of Minecraft: Java Edition in the Launcher" toggle in settings located at the bottom left of the launcher.
  • Check all three version toggles ("Releases", "Snapshots" and "Modded") under the installations tab.

After the following is done, you can click the "New installation" button in the installations tab and select the version in the drop down menu.

You may notice that a lot of versions are missing from the Minecraft Launcher, a list of what versions are available can be located on the Java Edition version history page on the Minecraft Wiki.
Versions can also be downloaded from the Minecraft Wiki. Alternatively if the Minecraft Wiki version downloads do not work, you can use the Omniarchive archive (Pre-Classic, Classic, Indev, Infdev, Alpha, Beta, Release).

  • To add new versions, you can download the JAR and copy the json from the Minecraft Wiki version pages. For this example, we will use 11w49a. It is located on the "Downloads" section of the version infobox.
  • Then locate the versions folder in .minecraft. For windows it is %appdata%/.minecraft. For linux it is ~/.minecraft. For MacOS it is ~/Library/Application Support/minecraft.
  • Create a new folder with the version name, this has to use a specific version name formatting used for the Minecraft launcher. For example, 1.7.10, 11w49a, b1.8, b1.8-pre2.
  • Move the JAR file downloaded from the Minecraft Wiki into that folder and also create a text document and paste the json you copied. Rename the JAR to (VERSIONNAME).jar and the json to (VERSIONNAME).json. For 11w49a it would be 11w49a.jar and 11w49a.json.
  • You can now reload the Minecraft Launcher and the version should be available in the versions drop down when creating a new instance.

If you notice that sounds, skins and Multiplayer is not working in older Minecraft versions, you can add the Betacraft proxy to the Java Arguments box in the instance's settings. -Dhttp.proxyHost=betacraft.uk

Betacraft

Betacraft Launcher

Platforms: Windows, Linux, MacOS

Betacraft Launcher Download

Betacraft is a launcher that intends to give the user the same experience as they would if they played way back when. It has all archived versions up 1.5.2 and includes fixes for sounds, skins, multiplayer and even includes classic addons that allows for full-screening and saving. Versions can be accessed by pressing the "Selection version" button and addons can be accessed in Edit instance>Select addons. To ensure that Betacraft runs properly, make sure you have java 8 installed. Betacraft is available on Windows (Including many older versions), Linux and MacOS. To launch Betacraft on Windows and MacOS its as simple as clicking on the application. On linux you can launch Betacraft via terminal entering java -jar <PATHTOLAUNCHERJAR>. There also is an experimental Betacraft 2.0 version that adds support for almost all versions of Minecraft up to latest. It also includes other new features such as JARmodding and automatic java switching/downloading.

Codex-Ipsa

Codex-Ipsa Launcher

Platforms: Windows, Linux

Codex-Ipsa Launcher Download

Codex-Ipsa is a launcher that allows you to play all archived versions of Minecraft: Java Edition and Minecraft Edu (other editions too!). It also includes the Betacraft proxy for skins, sounds and multiplayer fixes, JAR-modding support and also has a function that allows for downloading and installing Java versions automatically. Changing the game version is as simple as pressing "Edit Profile" and selecting the version you need in the list.

MineOnline

MineOnline Launcher

Platforms: Windows, Linux, MacOS

MineOnline Launcher Download

Warning: modifies version JARs

MineOnline is a launcher that features the majority of archived Minecraft: Java Edition versions up to Beta 1.9 Prerelease 6 (Also including 1.1 and 1.5.2). It adds skins, sounds, classic saving and multiplayer fixes. It also mods fov slider, gui scale and resource packs into versions that do not have it. To ensure that MineOnline functions properly, make sure that you have java 8 installed. To launch versions click on "Singleplayer" and select the version you need. Or alternatively, if you are playing on multiplayer, click "Multiplayer" and add the server and version needed.

MultiMC

MultiMC Launcher
Prism Launcher

Platforms: Windows, Linux, MacOS

MultiMC Launcher Download

PrismMC Launcher Download

MultiMC and its forks are one the the most commonly used 3rd party launchers for Minecraft: Java Edition. MultiMC however has the same limited selection of versions available on the Minecraft Launcher. Prism Launcher, a MultiMC fork, does include earlier snapshots too however is still limited. To ensure that MultiMC/Prism works properly, make sure you have java 8 installed for older Minecraft and Java 17 or higher installed for modern Minecraft.

  • To add missing versions to MultiMC/Prism, first press the "Add Instance" button on the top left.
  • Then under filter make sure you have all the version toggles enabled.
  • Then select the version closest to the one you are trying to play.
  • Once you have created the instance, you can then download the version jar needed. This can be done through the Minecraft Wiki or Omniarchive (Pre-Classic, Classic, Indev, Infdev, Alpha, Beta, Release).
  • Then click on the instance and press Edit located on the right sidebar.
  • Click "Replace Minecraft.jar" on the right sidebar and select the Minecraft version you downloaded.
  • You can now launch the version! If it fails saying that the Java version is not compatible, click on settings while in the edit instance menu and change the java installation path. Auto detect and be used to automatically detect Java versions.

If you notice that sounds, skins and Multiplayer is not working in older Minecraft versions, you can add the Betacraft proxy to the Java Arguments box in the instance's settings. -Dhttp.proxyHost=betacraft.uk

PojavLauncher

PojavLauncher

Plaforms: Android, IOS

PojavLauncher Google Play Download

PojavLauncher is a Minecraft: Java Edition launcher for Android and IOS. It has the same limited number of versions the Minecraft Launcher has but more can be added. On Android, PojavLauncher can be downloaded from the Google Play store. For IOS, you can follow PojavLauncher's guide on their website. To play versions you can click above the play button and press "Create new profile". You can then select the Minecraft: Java Edition version you want.

To add missing versions to PojavLauncher:

  • Make sure you have some form of file viewer and text file creator on your phone. Also make sure you have hidden files shown in your file explorer.
  • Download the version JAR and copy the json from the Minecraft Wiki version pages. For this example, we will use 11w49a. It is located on the "Downloads" section of the version infobox.
  • Then locate the versions folder in .minecraft. For Android it is Android/Data/net.kdt.pojavlauncher/files/.minecraft/versions. On IOS its /var/mobile/Documents/PojavLauncher/.minecraft/versions[test].
  • Create a new folder with the version name, this has to use a specific version name formatting used for the Minecraft launcher. For example, 1.7.10, 11w49a, b1.8, b1.8-pre2.
  • Move the JAR file downloaded from the Minecraft Wiki into that folder and also create a text document and paste the json you copied. Rename the JAR to (VERSIONNAME).jar and the json to (VERSIONNAME).json. For 11w49a it would be 11w49a.jar and 11w49a.json.
  • Reload the launcher and it should show in the "Create new profile" drop down.

If you notice that sounds, skins and multiplayer does not work in older versions, you can add the betacraft proxy by clicking on the settings icon in the top right> java tweaks> JVM Launch arguments and then paste -Dhttp.proxyHost=betacraft.uk at the end.

Fixes

Missing sounds, skins and multiplayer joining crash fix

The Betacraft proxy fixes all these issues by making sure the appropriate resources and links are used for old Minecraft.
The Betacraft proxy can be added into your launcher by entering the following into your launchers JVM argument box:

-Dhttp.proxyHost=betacraft.uk

You can also specify specific ports for different Minecraft versions by using -Dhttp.proxyPort=<port>
Ports:

11701 c0.0.13a - c0.0.23a_01

11702 c0.24_st - a1.1.2_01

11703 a1.0.8

11704 b1.3-demo

11705 a1.2.0-preview - b1.8.1

11706 b1.9-pre1 - b1.9-pre6

11707 1.0.0-rc1 - 1.5.2

Options.txt crash fix

Loading a version from 11w49a (1.1 snapshot) to 13w26a (1.6 snapshot) will often cause a crash. This is because of the options.txt in the .minecraft folder. The lang= parameter in the text file is expecting en_US, en_UK, or another uppercase language code but if the last played version was 16w32a (1.11 snapshot) or later the lang= parameter is changed to en_us, en_uk, or another lowercase language code. The options.txt during the aforementioned range cannot read this language and so causes a crash immediately after starting. To fix you can either enter the text file and change the lang= parameter to the capitalized version or just delete the options.txt file because a new one will be created and it is already basically reset in earlier versions (hence why Auto-Jump always turns back on for example). All that is contained in this file is the options of the player from the escape menu.

Loading the instance in 1.0.0[test] and then the desired version also fixes this issue.

13w16a-1 - 13w23a Crash fix

This fix applies to MultiMC launcher only. To fix the crash go to Edit Instance, Settings, Game Windows, check Game Window and Start Minecraft maximized? afterwards.
The Codex-Ipsa launcher also operates correctly.
Sounds will not be present on these versions.

WindowCrashFix.png

M1 Mac incorrect colours

On M1 Mac computers, colours will show up incorrectly in older Minecraft: Java Edition versions. The fix for this is using either Betacraft 2.0 or MineOnline.

"Comparison method violates its general contract!" crash

Entering -Djava.util.Arrays.useLegacyMergeSort=true in your launchers Java arguments box will avoid crashes while using Java 8.

Broken Textures

Broken textures is commonly caused by Intel integrated graphics. If you have both intel integrated graphics and a GPU, make sure that your Minecraft is using the GPU.

  • On windows this can be done by going to "Graphics settings".
  • Then press browse and locate your java that you use for Minecraft.
  • Once it is added, click on Options on the added application and change your graphics preference from "Let Windows decide" to "High performance".

If you do not have a GPU you can try downgrading your graphics driver. This is because intel drivers post November 2021 have this graphics issue with old Minecraft.
Please note that this could cause vulnerability issues and other possible unintended issues. This would not work if your Intel CPU is newer than November 2021. You can locate driver versions on the intel website.
Here is a driver version for Intel UHD 620 or similar integrated graphics.

Servers

Classic

Launching

The typical way to launch a Classic server is by entering the following command in Command Prompt (Windows) or the Terminal (Linux) when inside the directory:

java -Xms512M -Xmx512M -cp minecraft-server.jar com.mojang.minecraft.server.MinecraftServer

If it can not locate java it means that your java environment variable is not set up. This can be fixed by replacing "java" with the path to your java.

Examples (Common install locations):

Windows:

"C:\Program Files\Java\jdk-1.8\bin\java"

Linux:

/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java

You can also modify how much memory it uses. The -Xms flag is minimum allocated memory and -Xmx is maximum memory. M refers to megabytes and G refers to gigabytes.

For convenience, you can put this into a start.bat (Windows) or a start.sh (Linux) to launch the server without having to type it out every time.
It can then be launched by typing start (Windows) or start.sh (linux).

However, classic servers used to have a "heartbeat" to the Minecraft.net servers. This would allow your server to verify usernames and also be visible on the server list if you wanted it to.
Due to that being shut down, this no longer occurs and you have to use verify-names=false in server.properties in order to join your classic server.
Luckily Betacraft has a solution for that with their own heartbeat and server list.

To use the Betacraft heartbeat download the serverlist-agent from here.
Add this jar file to your server directory.
Add these flags to your start up command. -DmojangAuth=true -javaagent:serverlist-agent.jar

If you do not want your server to be public on the server list, make sure you have public=false in the server.properties.

Betacraft Proxy

The Betacraft proxy can be used to proxy authentication to the correct link. This can be done by creating a start-up bat like this:
java -Dhttp.proxyHost=betacraft.uk -Xmx1024M -Xms2048M -jar minecraft_server.jar

To create the start-up bat, create a text file and enter what is above. After that rename the file extension to .bat.
The memory allocation can also be customized and make sure that you type the correct server JAR name.

Online-Mode without start-up BAT

The server jar can also be modified directly to add online mode. Here is how you do it:

See Also

  • Multiplayer Mods