FAQ:
Why passwords? How do they work?
Shout out to this page for calculations. All packages have been password protected by YoYo Games as part of a security, probably so people couldnt be able to play with it outside of the editor. Yet, some of the smart people were able to find out how to get around it.The password is created by grabbing the
ID
of the runtime and it's extension (EXT
), then prefixing it with MRJA
and suffixing with PHMD
. The string's gonna look something like this: MRJAID.EXTPHMD
. Then, you hash the string with special implementation of md5 hashing and returned buffer encode into base64.Here's example in JavaScript using my package "yoyo-md5":
import { yoyomd5 } from "yoyo-md5"
const ID = "abc"
const EXT = "zip"
// MRJAabcPHMD
const str = `MRJA${ID}.${EXT}PHMD`
const password = yoyomd5(str)
// Output: "92NrMoGv3KF1Eu0wIZeXoA=="
console.log(password)
What's the difference between Main/Beta/Old<year>?
Every type gets runtimes from different sources. These sources are:Main - Up to date, latest versions of runtimes available in GM.
Beta - Even more up to date, beta versions of runtimes available in GM. Usually have new features quicker than latest ones for the price of stability. Optional on stable version of GM and required when using GM on Linux.
Old <year> - These runtimes are usually taken from Web archive as they are not listed on official lists anymore. For some reason these files are still kept on GM servers so you don't need to access them through Web archive yourself.