JavaRock lets Minecraft Java Edition connect to a Bedrock Realm. It runs on your Windows PC, signs in to Realms with your Microsoft account, and opens a local Java server at localhost:25565.
JavaRock is still experimental. Inventory actions, crafting, entity translation, lighting, and movement can break or desync. Use it only with accounts and Realms you are allowed to access, and avoid testing with items you cannot afford to lose.
- Download the ZIP from the latest release.
- Extract the ZIP before running anything.
- Double-click
START-JAVAROCK.bat. - Approve any missing requirements you want the launcher to install.
- Add your Microsoft account and finish the device-code sign-in.
- Select a Realm, then click Start Bridge. The same button becomes Stop Bridge while it is running.
- In Minecraft Java Edition, connect to
localhost:25565.
The launcher checks for Node.js 20, JDK 17, project dependencies, and the patched ViaProxy runtime. It prints every result before making changes and skips anything that is already ready. Long installs show their current action and elapsed time.
The JavaRock window uses Windows' built-in desktop controls. It does not need Python, Tkinter, or a web browser.
JavaRock checks for new releases after the window opens and always asks before installing one. You can also use Help > Check for updates.
When a test fails, click Support ZIP. JavaRock collects the launcher and bridge logs, the active packet census run, and up to three completed runs without adding Microsoft sign-in caches, .env files, raw packet journals, or the binary packet ledger. Testers can enter the project support-inbox access code under Diagnostics > Support upload settings. The URL is already filled in, the code is protected for the current Windows user, and every send keeps a local ZIP under .runtime/support-bundles/.
Before sharing, JavaRock verifies the signed release files and refuses to upload from a changed or unsigned installation. The ZIP is encrypted with AES-256-GCM, and its one-time key is encrypted with the project support public key. The inbox never receives the readable ZIP or a decryption key. JavaRock reports an upload as accepted only after the inbox returns a complete matching receipt. It then checks that receipt again; a matching readback is shown as confirmed, while a temporary storage-visibility delay is shown as pending without resending the bundle. Keep the receipt with the bug report.
Working or partially working:
- Microsoft account profiles and Realm selection
- Realm transport through NetherNet/WebRTC or RakNet, depending on the endpoint returned by Realms
- Terrain, basic entities, movement, and block interaction
- Player inventory, chests, and double-chest transfers
- Connected block states such as fences and double chests
- Item frames, including item display, rotation, insertion, and removal
- Block lighting and falling sand or gravel animation
- Chat and command translation
- Recipe book syncing and 2x2 or crafting-table recipes
- Bedrock packet recording for protocol debugging
Known problem areas:
- Fast or unusual inventory drag, right-click, and crafting sequences can still desync
- Movement prediction corrections can cause rubber-banding
- Doors can take too long to show their new state
Minecraft, ViaProxy, or ViaBedrock updates may introduce new protocol problems.
The desktop application also includes a recorder for comparing Bedrock traffic with JavaRock's translated traffic. Select Bedrock packet recorder, start it, then connect Minecraft Bedrock Edition to 127.0.0.1:19133.
Recordings can contain player names, chat, inventories, Realm details, and network information. Review and redact them before sharing.
Clone the repository and run START-JAVAROCK.bat. For manual setup, tests, and release commands, see Development.
Microsoft login data is stored locally under .auth-profiles/ and is excluded from Git. The published source and release package do not contain an account, Microsoft access token, support-inbox access code, Realm id, Realm name, or packet capture.
See SECURITY.md before posting logs or diagnostics.
Code written for JavaRock is available for noncommercial use under the PolyForm Noncommercial License 1.0.0. It may not be sold, placed behind a paywall, or used to provide a paid JavaRock service. See NONCOMMERCIAL.md.
Files derived from ViaBedrock remain under GPL-3.0-or-later. Other dependencies keep their original licenses. See THIRD_PARTY_NOTICES.md.
JavaRock is not affiliated with Mojang or Microsoft.