Download · Client source · Build
Join our Discord community for release news, launcher help, plugin development, and community showcases.
A small desktop launcher for OpenOSRS. Separate updates for the launcher and client. Verified downloads. A reusable local cache. Clear startup errors.
A compact 480 × 264 window with a slate-and-blue finish, a draggable header, and one main launch action. Updates and logs stay within reach. Keyboard focus and wrapped error messages remain visible.
Install Java 11 or newer to open the launcher JAR, then download and open the release. The launcher runs the client with its own verified Java 11 runtime.
java -jar openosrs-launcher-1.0.4.jarSelect Launch OpenOSRS. No GitHub account is needed to download public releases.
The launcher closes automatically once the client confirms successful initialization. The client keeps running. If startup fails or times out, the launcher stays open with the error and access to logs.
On the first launch, OpenOSRS downloads a pinned Eclipse Temurin Java 11 runtime (about 40 MB). It checks the archive checksum and starts a compatibility probe, including java.applet.AppletStub, before launching the client. Later launches reuse this private cache. No administrator access or system Java changes are needed. A failed download can be retried; existing client sessions keep their runtime.
Runtime downloads cover Windows x64, Linux x64/ARM64, macOS Intel/Apple Silicon, and Alpine Linux x64. Windows 11 ARM uses its x64 emulation. A first-time runtime download needs internet access; a verified cached runtime can be reused offline. Other platforms report an unsupported-runtime error.
- Client updates come from
OOSRS/OOSRSreleases. - Launcher updates come from
OOSRS/OOSRS-Launcherreleases. - Each channel publishes a small
update.propertiesfile naming the versioned JAR, SHA-256, and required Java version. minimumJavais the minimum supported runtime. The legacyjava=21field remains so launcher 1.0.0 can still self-update; current launchers useminimumJava=11.- Files download into temporary storage. The launcher verifies the digest and JAR before making it available.
- Verified versions remain under
~/.openosrs/launcher/. Repeated launches reuse them. - When an update check fails, a verified cached client can still be selected. A known incompatible game revision is not selected as fallback.
- A startup marker records that client initialization completed before updating the last-working pointer. It does not prove a successful game login.
SHA-256 is checked against metadata delivered over HTTPS from the release repository. This release does not use a separate artifact-signing key.
The launcher checks its own channel on startup and when you select Check updates. Update launcher appears when a newer release exists.
The new JAR runs a small helper, waits for the current launcher to exit, saves the old file as .previous, replaces the installed JAR, and restarts it. A failed replacement preserves the old copy; immediate restart failure restores it. The install folder must be writable. Existing game sessions are left running.
Failed downloads leave verified cached files intact. Missing releases, unavailable downloads, incompatible Java versions, and early client exits are reported in the launcher. The Logs button opens ~/.openosrs/launcher/logs/.
If startup takes more than 90 seconds, the client is left running for inspection. Check its window and logs before launching again. If a game update makes an older client incompatible, wait for a compatible client release.
Use JDK 11:
./gradlew jar
java -jar build/libs/openosrs-launcher-1.0.4.jarWindows: use gradlew.bat. This is a JAR distribution, so Java must already be installed to open the launcher itself. The client runtime is downloaded separately.
For a download-only check without opening the client:
java -jar build/libs/openosrs-launcher-1.0.4.jar --prepareThis fetches release metadata, verifies and caches both artifacts and the client runtime, and exits. Use --prepare-runtime to download and check only Java. --version prints the launcher version.
Increase version in build.gradle.kts, commit, and push a matching vX.Y.Z tag. The release workflow builds the JAR, checks runtime installation and cache reuse on Windows, Linux and macOS, and publishes its update metadata only after those checks pass. Runtime pins live in src/main/resources/net/openosrs/launcher/runtimes.properties. Client and launcher version numbers are independent.
See LICENSE.
