Minecraft:Java Edition client command line arguments
More actions
Template:Italic title When starting the Minecraft:Java Edition client, the Minecraft:Minecraft Launcher passes various command line arguments to the Template:Wp, such as the path to the game itself and account login information. These arguments are chosen based on the contents of the Template:Mono file corresponding to the selected version, options set in the launcher, and the current operating system.
Command line parts
The complete command line used to start the JVM consists of the following parts:
- Location of the JVM executable. Defaults either to a JVM provided by the system, or a JVM automatically downloaded by the launcher. May be changed in installation options in the launcher.
- Arguments to configure the JVM, such as Template:Code (classpath) to specify the locations of required libraries and the main Template:Mono. Generated based on Template:Code in Template:Mono.
- Additional JVM arguments specified in installation options in the launcher.
- Name of the main class. Specified as Template:Code in Template:Mono.
- Arguments to the game itself, such as Template:Code to specify the base directory for user-generated game files. Generated based on Template:Code in Template:Mono.
- Additional game arguments specified in installation options in the launcher.
JVM arguments
| Argument | Description |
|---|---|
| Template:Code | The path to the native libraries. |
| Template:Code | The path Template:Wp uses for temporary files. |
| Template:Code | The path containing Template:Wp. |
| Template:Code | The path Template:Wp uses. |
| Template:Code | The name of the launcher.Template:Info needed |
| Template:Code | The version of the launcher.Template:Info needed |
| Template:Code | The absolute paths listing the game and library jars to load, separated by Template:Code on Windows or Template:Code on Linux and macOS. |
| Template:Code | Tells the JVM to start on the first thread. Some macOS versions require this while others break with it, leaving the game stuck as "not responding". |
| Template:Code | Supposedly makes Intel drivers on laptops with two GPUs use the dedicated GPU.<ref>Template:Reddit</ref> |
| Template:Code | Sets the per thread stack size to 1 MB. |
Game arguments
| Argument | Description |
|---|---|
| Template:Code | The optional base64 encoded Minecraft:UUID from Template:File in Minecraft:.minecraft used for Minecraft:telemetry. The file is generated by the launcher if it's missing. |
| Template:Code | The player's name used for offline mode.Template:Info needed |
| Template:Code | The player's UUID. |
| Template:Code | The player's Xbox User ID. |
| Template:Code | The token generated during the login, required for joining servers. The format depends on the authentication scheme. |
| Template:Code | Switches the game to Minecraft:Demo Mode. |
| Template:Code | The name of the version. Specified in Minecraft:client.json and Minecraft:version_manifest.json under Template:Code. Shown in the Minecraft:debug screen and in crash reports. |
| Template:Code | The type of the version. Usually Template:Code, Template:Code, Template:Code or Template:Code, specified in Minecraft:client.json and Minecraft:version_manifest.json under Template:Code. Shown in the Minecraft:debug screen and in crash reports. |
| Template:Code | The folder for the instance's files. Template:File by default. |
| Template:Code | The folder that contains, among others, the Template:File folder. Template:File by default. |
| Template:Code | The folder for resource packs. Template:File by default. |
| Template:Code | The JSON file for mapping internal names to indexes into the Template:File folder. Template:File by default. |
| Template:Code | The initial width of the game's window. Template:Code by default. |
| Template:Code | The initial height of the game's window. Template:Code by default. |
| Template:Code | Disables the multiplayer button. |
| Template:Code | Disables sending and receiving chat messages. |
| Template:Code | The optional path from the Minecraft:.minecraft folder to the Minecraft:quick play logs file. |
| Template:Code | The optional name of the world to automatically join once the game has started. A blank name joins the most recently played world. |
| Template:Code | The optional address of a server to automatically join once the game has started. A blank name does not join the most recently played server. |
| Template:Code | The optional ID of a realm to automatically join once the game has started. |
| Template:Code | Launches the game directly into fullscreen. |
| Template:Code | unknownTemplate:Info needed |
| Template:Code | unknownTemplate:Info needed |
| Template:Code | unknownTemplate:Info needed |
| Template:Code | unknownTemplate:Info needed |
| Template:Code | unknownTemplate:Info needed |
| Template:Code | Sets the graphics backend of Minecraft. One of Template:Code, Template:Code, or Template:Code. |
| Template:Code | Starts profiling with Template:Wp on game launch. |
| Template:Code | Starts profiling with Tracy on game launch. |
| Template:Code | unknownTemplate:Info needed |
| Template:Code | The optional host name of a proxy to route network traffic through. |
| Template:Code | The optional port of a proxy to route network traffic through. Defaults to Template:Code. |
| Template:Code | The optional user name of a proxy to route network traffic through. |
| Template:Code | The optional password of a proxy to route network traffic through. |
| Template:Code | Switches the game to offline developer mode. |
Legacy arguments
Launch wrapper arguments
Minecraft versions 1.5.2 and prior use a wrapper class to launch the game, which has different arguments than Minecraft itself. This is so they can be properly launched by the Minecraft:Minecraft Launcher.
| Argument | Description |
|---|---|
| Template:Code | The name of the version. |
| Template:Code | The folder for the instance's files. Template:File by default. |
| Template:Code | The folder that contains, among others, the Template:File folder. Template:File by default. |
| Template:Code | An optional class implementing Template:Code that can modify other classes while the game is starting.
The vanilla tweakers are in the Template:Code package, for example Template:Code. |
Main class
A versions default main class is in it's Minecraft:version.json under Template:Code.
| Class | Versions | |
|---|---|---|
| Template:Code | after 1.5.2 | |
| Template:Code | Alpha 1.0.11 to 1.5.2 | new launcher |
| Template:Code | old launcher | |
| Template:Code | start of Alpha to Alpha 1.0.5_01 | launcher |
| Template:Code | Alpha | website applet |
| Template:Code | Indev and Infdev | launcher |
| Template:Code | website applet | |
| Template:Code | Classic 0.0.13a_03 to end of Classic | launcher |
| Template:Code | start of Classic to Classic 0.0.13a | |
| Template:Code | Classic | website applet |
| Template:Code | late pre-Classic | |
| Template:Code | early pre-Classic | |
Assets
The launcher downloads additional required resources and saves them to Template:File to be used by the game.
Minecraft requires several arguments when launched.
Since 1.12.2, they are defined in Minecraft:client.json under Template:Code.
Before that, the game arguments were defined in Minecraft:client.json under Template:Code while the JVM arguments were defined directly in the launcher.