imported>Sdbaynham |
imported>Fenhl |
| (5 intermediate revisions by the same user not shown) |
| Line 1: |
Line 1: |
| == Game ==
| | #REDIRECT [[Game files]] |
| All available version of the game itself are listed on
| |
| http://s3.amazonaws.com/Minecraft.Download/versions/versions.json
| |
| | |
| The jar file for a specific version is located at
| |
| http://s3.amazonaws.com/Minecraft.Download/versions/<version>/<version>.jar
| |
| | |
| Some information on how to properly run said jar is available at
| |
| http://s3.amazonaws.com/Minecraft.Download/versions/<version>/<version>.json
| |
| | |
| {{Warning | As the Minecraft launcher updates the format of the JSON or the requirements to run the client may change. The ''minimumLauncherVersion'' in the <version>.json should be used to detect changes instead of just failing on updates}}
| |
| | |
| == Libraries ==
| |
| The libraries which can be used for all minecraft versions and are downloaded by the launcher are located at
| |
| https://libraries.minecraft.net/
| |
| | |
| The json file downloaded above is used in order to determine which libraries to download. Inside the file is a key, <code>libraries</code> which contains information about each library required.
| |
| Example:
| |
| <syntaxhighlight lang="javascript">
| |
| {
| |
| "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20130708-debug3",
| |
| "natives": {
| |
| "linux": "natives-linux",
| |
| "windows": "natives-windows",
| |
| "osx": "natives-osx"
| |
| },
| |
| "extract": {
| |
| "exclude": [
| |
| "META-INF/"
| |
| ]
| |
| },
| |
| "rules": [
| |
| {
| |
| "action": "allow",
| |
| "os": {
| |
| "name": "osx",
| |
| "version": "^10\\.5\\.\\d$"
| |
| }
| |
| }
| |
| ]
| |
| }
| |
| </syntaxhighlight>
| |
| | |
| The <code>name</code> key is used to determine the url from which to download the library from. The format of this string is
| |
| <package>:<name>:<version>
| |
| The corresponding URL would look like this:
| |
| <package>/<name>/<version>/<name>-<version>.jar
| |
| where <code>path</code> is the result of replacing all the periods in <code>package</code> with slashes.
| |
| | |
| It also download a hash, in sha1, the url is:
| |
| <package>/<name>/<version>/<name>-<version>.jar.sha1
| |
| | |
| | |
| The <code>natives</code> key provides a string for each specific platform to be inserted between the .jar and the <version> of the filename, resulting in a filename with the format:
| |
| <name>-<version>-<native-string>.jar
| |
| This is applied to any file with the <code>natives</code> key.
| |
| | |
| | |
| The <code>extract</code> key provides rules for the extraction of the file.
| |
| | |
| | |
| The <code>rules</code> key is used to determine which platforms to download the file to. When the <code>action</code> is <code>allow</code>, the file will be downloaded to the platform stated in <code>os</code>. When the <code>action</code> is <code>disallow</code>, the file will not be downloaded to the platform stated in <code>os</code>. If there is no <code>os</code> key, the rule is default for non-specified platforms.
| |
| | |
| | |
| In the example above, on an OS X platform, the full download path would be
| |
| https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.1-nightly-20130708-debug3/lwjgl-platform-2.9.1-nightly-20130708-debug3-natives-osx.jar
| |
| The file would be extracted but the <code>META-INF</code> file would not be. Additionally, the file would only be downloaded if the computer was running OS X 10.5.
| |
| | |
| == Assets ==
| |
| The game itself downloads further resources from
| |
| http://resources.download.minecraft.net/
| |
| | |
| An index is available at
| |
| https://s3.amazonaws.com/Minecraft.Download/indexes/<index>.json
| |
| where index is obtained from the 'assets' field in the versions.json, if this field is missing it defaults to '[https://s3.amazonaws.com/Minecraft.Download/indexes/legacy.json legacy]'. Each resource in the file has a name (the field name of the resource object), a SHA1 hash, and a file size. The client currently downloads all resources in the index from
| |
| http://resources.download.minecraft.net/<first 2 hex letters of hash>/<whole hash>
| |
| and stores them in
| |
| .minecraft/assets/objects/<first 2 hex letters of hash>/<whole hash>
| |
| and a copy is stored in
| |
| .minecraft/asserts/virtual/legacy/
| |
| in the old format for versions that don't support the new system (1.7.2 and below)
| |
| | |
| [[Category:Minecraft Modern]]
| |