Releases: zerozshare/OpenFriendMod
NeoForgeV1.1.3
OpenFriend Mod v1.1.3 — Neoforge
Embeds Core 1.1.3. Connection-reliability release:
- Heavy-modpack join fix: with a lot of mods installed (anything that makes Minecraft take >60s to reach main menu), the first join attempt previously failed with
Player not registered with the servicebecause the presence broadcaster hadn't ticked yet. v1.1.3 does a synchronous presence push at the start of every join, so the race is gone. - 6 timing improvements around the join / host lifecycle: overlay-open presence refresh, JOIN_REQUEST auto-retry once on transient signaling error, smarter "friend just went offline" wording with auto-retry, synchronous presence push on host.start / host.stop, and -32000 series signaling errors mapped to human-readable in-game toasts.
- Windows firewall guidance toast: on Windows, the first launch shows an OpenFriend HUD toast telling you exactly which two .exe files to allow through Windows Defender Firewall and where the setting lives. Core does not touch the firewall itself (no UAC prompt, no
netshcall). macOS / Linux are unaffected.
See RELEASE_NOTES_v1.1.3_core.md for full detail (per-improvement breakdown + before/after table).
⚠️ Unofficial. Not affiliated with Microsoft, Mojang, or the Xbox brand. Use OpenFriend on accounts you control. You assume all risk.
What changed since v1.1.2
- Core 1.1.3 with join-preflight + 6 timing fixes + Windows firewall guidance toast + IPC
notice→ HUD toast - Mod-side (this jar): overlay refresh tick now pushes
presence.set ONLINEevery 5s while the friends overlay is open (item #1 of the 6 timing fixes) — keeps Mojang's view of "this player is here right now" fresh while the user browses friends, so the click on a friend lands cleanly.ToastDispatcheralso learned to render Core's newnoticeIPC notification as an OpenFriend HUD toast.
Windows users
An OpenFriend HUD toast on first launch tells you which two .exe files to allow through Windows Defender Firewall. If a friend tries to join your world and the WebRTC handshake fails, a second error toast fires telling you the firewall is the likely cause. See RELEASE_NOTES_v1.1.3_core.md for the step-by-step.
Channels
- Issues: https://github.com/zerozshare/OpenFriendMod/issues
- Hybrid server source: https://github.com/zerozshare/OpenFriend-HybridServer
- Discord: https://discord.gg/YRTyXEwVsE
NeoForgeV1.1.2
OpenFriend Mod v1.1.2 — Neoforge — hotfix
Hotfix release. Embeds Core 1.1.2 which fixes a critical bug where a single Mojang 429 on presence broadcasts would cause every subsequent join attempt to fail with Player not registered with the service → connection reset cascade.
If you experienced "join worked the first time then connection reset on every retry" on v1.1.0 or v1.1.1, this is the fix.
⚠️ Unofficial. Not affiliated with Microsoft, Mojang, or the Xbox brand. Use OpenFriend on accounts you control. You assume all risk.
What changed since v1.1.1
- Core 1.1.2:
PostPresenceno longer skips Mojang during a client-side cooldown. Mojang's signaling server requires recent Mojang-side presence to honour any signaling RPC, so blocking presence broadcasts during a cooldown window was breaking joins. Mojang's actual 429 (if still throttled) bubbles up unchanged — the fix only removes the local "don't call Mojang" gate. - No Mod-side source changes from v1.1.1. The Mod jar simply embeds the fixed Core 1.1.2 binary.
Symptom you'd have seen
core: POST /presence accepted by hybrid (mojang transiently down); replay queued
{"mojang_err":"mojang in client-side cooldown"}
core: Signaling WebSocket open
core: Failed to send JOIN_REQUEST {"err":"rpc error code=-32000 message=Player not registered with the service."}
java.net.SocketException: Connection reset
Channels
- Issues: https://github.com/zerozshare/OpenFriendMod/issues
- Hybrid server source: https://github.com/zerozshare/OpenFriend-HybridServer
- Discord: https://discord.gg/YRTyXEwVsE
ForgeV1.1.3
OpenFriend Mod v1.1.3 — Forge
Embeds Core 1.1.3. Connection-reliability release:
- Heavy-modpack join fix: with a lot of mods installed (anything that makes Minecraft take >60s to reach main menu), the first join attempt previously failed with
Player not registered with the servicebecause the presence broadcaster hadn't ticked yet. v1.1.3 does a synchronous presence push at the start of every join, so the race is gone. - 6 timing improvements around the join / host lifecycle: overlay-open presence refresh, JOIN_REQUEST auto-retry once on transient signaling error, smarter "friend just went offline" wording with auto-retry, synchronous presence push on host.start / host.stop, and -32000 series signaling errors mapped to human-readable in-game toasts.
- Windows firewall guidance toast: on Windows, the first launch shows an OpenFriend HUD toast telling you exactly which two .exe files to allow through Windows Defender Firewall and where the setting lives. Core does not touch the firewall itself (no UAC prompt, no
netshcall). macOS / Linux are unaffected.
See RELEASE_NOTES_v1.1.3_core.md for full detail (per-improvement breakdown + before/after table).
⚠️ Unofficial. Not affiliated with Microsoft, Mojang, or the Xbox brand. Use OpenFriend on accounts you control. You assume all risk.
What changed since v1.1.2
- Core 1.1.3 with join-preflight + 6 timing fixes + Windows firewall guidance toast + IPC
notice→ HUD toast - Mod-side (this jar): overlay refresh tick now pushes
presence.set ONLINEevery 5s while the friends overlay is open (item #1 of the 6 timing fixes) — keeps Mojang's view of "this player is here right now" fresh while the user browses friends, so the click on a friend lands cleanly.ToastDispatcheralso learned to render Core's newnoticeIPC notification as an OpenFriend HUD toast.
Windows users
An OpenFriend HUD toast on first launch tells you which two .exe files to allow through Windows Defender Firewall. If a friend tries to join your world and the WebRTC handshake fails, a second error toast fires telling you the firewall is the likely cause. See RELEASE_NOTES_v1.1.3_core.md for the step-by-step.
Channels
- Issues: https://github.com/zerozshare/OpenFriendMod/issues
- Hybrid server source: https://github.com/zerozshare/OpenFriend-HybridServer
- Discord: https://discord.gg/YRTyXEwVsE
ForgeV1.1.2
OpenFriend Mod v1.1.2 — Forge — hotfix
Hotfix release. Embeds Core 1.1.2 which fixes a critical bug where a single Mojang 429 on presence broadcasts would cause every subsequent join attempt to fail with Player not registered with the service → connection reset cascade.
If you experienced "join worked the first time then connection reset on every retry" on v1.1.0 or v1.1.1, this is the fix.
⚠️ Unofficial. Not affiliated with Microsoft, Mojang, or the Xbox brand. Use OpenFriend on accounts you control. You assume all risk.
What changed since v1.1.1
- Core 1.1.2:
PostPresenceno longer skips Mojang during a client-side cooldown. Mojang's signaling server requires recent Mojang-side presence to honour any signaling RPC, so blocking presence broadcasts during a cooldown window was breaking joins. Mojang's actual 429 (if still throttled) bubbles up unchanged — the fix only removes the local "don't call Mojang" gate. - No Mod-side source changes from v1.1.1. The Mod jar simply embeds the fixed Core 1.1.2 binary.
Symptom you'd have seen
core: POST /presence accepted by hybrid (mojang transiently down); replay queued
{"mojang_err":"mojang in client-side cooldown"}
core: Signaling WebSocket open
core: Failed to send JOIN_REQUEST {"err":"rpc error code=-32000 message=Player not registered with the service."}
java.net.SocketException: Connection reset
Channels
- Issues: https://github.com/zerozshare/OpenFriendMod/issues
- Hybrid server source: https://github.com/zerozshare/OpenFriend-HybridServer
- Discord: https://discord.gg/YRTyXEwVsE
FabricV1.1.3
OpenFriend Mod v1.1.3 — Fabric
Embeds Core 1.1.3. Connection-reliability release:
- Heavy-modpack join fix: with a lot of mods installed (anything that makes Minecraft take >60s to reach main menu), the first join attempt previously failed with
Player not registered with the servicebecause the presence broadcaster hadn't ticked yet. v1.1.3 does a synchronous presence push at the start of every join, so the race is gone. - 6 timing improvements around the join / host lifecycle: overlay-open presence refresh, JOIN_REQUEST auto-retry once on transient signaling error, smarter "friend just went offline" wording with auto-retry, synchronous presence push on host.start / host.stop, and -32000 series signaling errors mapped to human-readable in-game toasts.
- Windows firewall guidance toast: on Windows, the first launch shows an OpenFriend HUD toast telling you exactly which two .exe files to allow through Windows Defender Firewall and where the setting lives. Core does not touch the firewall itself (no UAC prompt, no
netshcall). macOS / Linux are unaffected.
See RELEASE_NOTES_v1.1.3_core.md for full detail (per-improvement breakdown + before/after table).
⚠️ Unofficial. Not affiliated with Microsoft, Mojang, or the Xbox brand. Use OpenFriend on accounts you control. You assume all risk.
What changed since v1.1.2
- Core 1.1.3 with join-preflight + 6 timing fixes + Windows firewall guidance toast + IPC
notice→ HUD toast - Mod-side (this jar): overlay refresh tick now pushes
presence.set ONLINEevery 5s while the friends overlay is open (item #1 of the 6 timing fixes) — keeps Mojang's view of "this player is here right now" fresh while the user browses friends, so the click on a friend lands cleanly.ToastDispatcheralso learned to render Core's newnoticeIPC notification as an OpenFriend HUD toast.
Windows users
An OpenFriend HUD toast on first launch tells you which two .exe files to allow through Windows Defender Firewall. If a friend tries to join your world and the WebRTC handshake fails, a second error toast fires telling you the firewall is the likely cause. See RELEASE_NOTES_v1.1.3_core.md for the step-by-step.
Channels
- Issues: https://github.com/zerozshare/OpenFriendMod/issues
- Hybrid server source: https://github.com/zerozshare/OpenFriend-HybridServer
- Discord: https://discord.gg/YRTyXEwVsE
FabricV1.1.2
OpenFriend Mod v1.1.2 — Fabric — hotfix
Hotfix release. Embeds Core 1.1.2 which fixes a critical bug where a single Mojang 429 on presence broadcasts would cause every subsequent join attempt to fail with Player not registered with the service → connection reset cascade.
If you experienced "join worked the first time then connection reset on every retry" on v1.1.0 or v1.1.1, this is the fix.
⚠️ Unofficial. Not affiliated with Microsoft, Mojang, or the Xbox brand. Use OpenFriend on accounts you control. You assume all risk.
What changed since v1.1.1
- Core 1.1.2:
PostPresenceno longer skips Mojang during a client-side cooldown. Mojang's signaling server requires recent Mojang-side presence to honour any signaling RPC, so blocking presence broadcasts during a cooldown window was breaking joins. Mojang's actual 429 (if still throttled) bubbles up unchanged — the fix only removes the local "don't call Mojang" gate. - No Mod-side source changes from v1.1.1. The Mod jar simply embeds the fixed Core 1.1.2 binary.
Symptom you'd have seen
core: POST /presence accepted by hybrid (mojang transiently down); replay queued
{"mojang_err":"mojang in client-side cooldown"}
core: Signaling WebSocket open
core: Failed to send JOIN_REQUEST {"err":"rpc error code=-32000 message=Player not registered with the service."}
java.net.SocketException: Connection reset
Channels
- Issues: https://github.com/zerozshare/OpenFriendMod/issues
- Hybrid server source: https://github.com/zerozshare/OpenFriend-HybridServer
- Discord: https://discord.gg/YRTyXEwVsE
NeoForgeV1.1.1
OpenFriend Mod v1.1.1 — NeoForge — hotfix
Hotfix release. Embeds Core 1.1.1 which fixes a critical merge-layer bug where Mojang permanent errors (403 privacy / 404 not-found / 409 already-friends) were silently swallowed by Hybrid, leading to phantom friends in the overlay and connection reset on join. See RELEASE_NOTES_v1.1.1_core.md for full detail.
If you experienced "the friend appears in my overlay but joining their world fails with connection reset" on v1.1.0, this is the fix.
⚠️ Unofficial. Not affiliated with Microsoft, Mojang, or the Xbox brand. Use OpenFriend on accounts you control. You assume all risk.
What changed since v1.1.0
- Core 1.1.1:
PutFriendAction/PostPresenceno longer mask permanent Mojang errors when Hybrid succeeds. Permanent 403 / 404 / 409 from Mojang now surface to the user (matches v1.0.9 behaviour). Transient errors (5xx / 429 / timeout) still get the Hybrid + replay-queue treatment unchanged. - No Mod-side source changes from v1.1.0.
Phantom friends from v1.1.0 sessions
If you added a friend in v1.1.0 against a privacy-blocked account, that friend exists only in your Hybrid view. To clean up:
- Right-click the phantom in the overlay → Remove.
- Or wait — the Hybrid maintenance loop will eventually drop it.
Hybrid does NOT bypass Xbox privacy
To be explicit: Hybrid is purely a friend-list resilience cache. To actually become friends with someone on Mojang's side (required for joining their world), that person must have Xbox privacy → Communication & multiplayer → "You can add friends" enabled. Hybrid cannot work around that.
Downloads
See OpenFriendMod-v1.1.1/uneoforge/ directory for the per-MC-version jars. Coverage matches v1.1.0 — no MC versions added or removed in this hotfix.
Channels
- Issues: https://github.com/zerozshare/OpenFriendMod/issues
- Hybrid server source: https://github.com/zerozshare/OpenFriend-HybridServer
- Discord: https://discord.gg/YRTyXEwVsE
NeoForgeV1.1.0
OpenFriend Mod v1.1.0 — NeoForge
In-client Friends List UI for Minecraft Java Edition NeoForge, covering MC 1.20.4 / 1.20.6 / 1.21.1 / 1.21.3 / 1.21.4 / 1.21.5 / 1.21.7 / 1.21.8.
⚠️ Unofficial. Not affiliated with Microsoft, Mojang, or the Xbox brand. Use OpenFriend on accounts you control. You assume all risk.
What changed since v1.0.9
Embedded Core 1.1.0 with the new Hybrid Friends-List backend, plus an overlay auto-refresh + a screen-transition leak fix.
NEW — Hybrid Friends-List backend (embedded in Core)
Friends List calls now run against both Mojang and https://hybrid.openfriend.net in parallel and merge the results. The overlay stays populated even when Mojang rate-limits or is briefly down. No configuration — works out of the box.
- Mojang 429 / cooldown → Hybrid serves the list; UI stays populated
- Accept / decline / cancel during a Mojang outage → Hybrid accepts immediately; the operation queues for replay against Mojang once it recovers
- Friend categorization is always Mojang-authoritative — Hybrid never overrides incoming vs. outgoing vs. accepted; it only fills gaps Mojang doesn't yet know about
- Permanent 4xx errors (
"Already friend", bad UUID, self-add 400) don't fill the replay queue
Hybrid is operated by ZSHARE. Server posture: TLS + mTLS, AES-256-GCM encryption of every sensitive field, HMAC-SHA256 blind indexes, parameterized SQL only, JSON-only API + nosniff + HSTS. Server source: https://github.com/zerozshare/OpenFriend-HybridServer
To opt out: block hybrid.openfriend.net at your firewall / hosts file. Core will silently fall back to Mojang-only mode. There is no in-mod toggle.
Friends overlay refreshes in real time while open
Previously the overlay loaded the friend list once on open and stayed stale until you closed and reopened it. Now while the overlay is open, the controller polls friends.list every 5 seconds. Accepted requests / new incoming requests / status changes appear without you having to close and reopen.
Bug fix — auto-refresh leak across MC screen transitions
The 5-second poll cleanup only fired on explicit X / Esc close. Joining a world while the overlay was up leaked the polling thread. Fixed in MCScreenWrapper.removed() which now calls the overlay's cleanup hook on every screen tear-down.
Friend-request "accept" notification clears on first press
The accept button on a pending friend request had to be pressed 2–3 times before the notification disappeared. Root cause was the merge dedupe in Core dropping the just-accepted friend back into "incoming" on the next refresh. Fixed by the Core merge rewrite (see RELEASE_NOTES_v1.1.0_core.md — "Merge dedupe fix").
Core 1.1.0 — embedded
Hybrid + all the merge / replay-queue / state-transition fixes. See RELEASE_NOTES_v1.1.0_core.md for the full Core changelog.
Downloads (8 jars)
| File | MC | Minimum NeoForge | Java |
|---|---|---|---|
OpenFriend-neoforge-1.20.4.jar |
1.20.4 | 20.4.237 | 17 |
OpenFriend-neoforge-1.20.6.jar |
1.20.6 | 20.6.119 | 21 |
OpenFriend-neoforge-1.21.1.jar |
1.21.1 | 21.1.205 | 21 |
OpenFriend-neoforge-1.21.3.jar |
1.21.3 | 21.3.92 | 21 |
OpenFriend-neoforge-1.21.4.jar |
1.21.4 | 21.4.150 | 21 |
OpenFriend-neoforge-1.21.5.jar |
1.21.5 | 21.5.97 | 21 |
OpenFriend-neoforge-1.21.7.jar |
1.21.7 | 21.7.25-beta (no stable yet) | 21 |
OpenFriend-neoforge-1.21.8.jar |
1.21.8 | 21.8.53 | 21 |
Channels
- Issues: https://github.com/zerozshare/OpenFriendMod/issues
- Hybrid server source: https://github.com/zerozshare/OpenFriend-HybridServer
- Discord: https://discord.gg/YRTyXEwVsE
NeoForgeV1.0.9
OpenFriend Mod v1.0.9 — NeoForge
In-client Friends List UI for Minecraft Java Edition NeoForge, covering MC 1.20.4 / 1.20.6 / 1.21.1 / 1.21.3 / 1.21.4 / 1.21.5 / 1.21.7 / 1.21.8.
⚠️ Unofficial. Not affiliated with Microsoft, Mojang, or the Xbox brand. Use OpenFriend on accounts you control. You assume all risk.
What changed since v1.0.8
UI fix + embedded Core 1.0.9 Mojang-parity P2P pass.
Max Players input remembers what you typed across Friends-menu reopens
Typing 100 and opening to friends actually set the server to 100 — but reopening the Friends menu showed the 8 placeholder again. Cause: MultiplayTab was reconstructed on every overlay open. Fix: cached on FriendsController. State (maxPlayers, gamemode, cheats) survives close/reopen.
Core 1.0.9 — embedded
Mojang-parity P2P pass (anti-spoof OFFER gate, symmetric handshake timeout, signaling error propagation, TURN auth caching, PC-FAILED short-circuit). See RELEASE_NOTES_v1.0.9_core.md for details.
Downloads (8 jars)
| File | MC | Minimum NeoForge | Java |
|---|---|---|---|
OpenFriend-neoforge-1.20.4.jar |
1.20.4 | 20.4.237 | 17 |
OpenFriend-neoforge-1.20.6.jar |
1.20.6 | 20.6.119 | 21 |
OpenFriend-neoforge-1.21.1.jar |
1.21.1 | 21.1.205 | 21 |
OpenFriend-neoforge-1.21.3.jar |
1.21.3 | 21.3.92 | 21 |
OpenFriend-neoforge-1.21.4.jar |
1.21.4 | 21.4.150 | 21 |
OpenFriend-neoforge-1.21.5.jar |
1.21.5 | 21.5.97 | 21 |
OpenFriend-neoforge-1.21.7.jar |
1.21.7 | 21.7.25-beta (no stable yet) | 21 |
OpenFriend-neoforge-1.21.8.jar |
1.21.8 | 21.8.53 | 21 |
Channels
ForgeV1.1.1
OpenFriend Mod v1.1.1 — Forge — hotfix
Hotfix release. Embeds Core 1.1.1 which fixes a critical merge-layer bug where Mojang permanent errors (403 privacy / 404 not-found / 409 already-friends) were silently swallowed by Hybrid, leading to phantom friends in the overlay and connection reset on join. See RELEASE_NOTES_v1.1.1_core.md for full detail.
If you experienced "the friend appears in my overlay but joining their world fails with connection reset" on v1.1.0, this is the fix.
⚠️ Unofficial. Not affiliated with Microsoft, Mojang, or the Xbox brand. Use OpenFriend on accounts you control. You assume all risk.
What changed since v1.1.0
- Core 1.1.1:
PutFriendAction/PostPresenceno longer mask permanent Mojang errors when Hybrid succeeds. Permanent 403 / 404 / 409 from Mojang now surface to the user (matches v1.0.9 behaviour). Transient errors (5xx / 429 / timeout) still get the Hybrid + replay-queue treatment unchanged. - No Mod-side source changes from v1.1.0.
Phantom friends from v1.1.0 sessions
If you added a friend in v1.1.0 against a privacy-blocked account, that friend exists only in your Hybrid view. To clean up:
- Right-click the phantom in the overlay → Remove.
- Or wait — the Hybrid maintenance loop will eventually drop it.
Hybrid does NOT bypass Xbox privacy
To be explicit: Hybrid is purely a friend-list resilience cache. To actually become friends with someone on Mojang's side (required for joining their world), that person must have Xbox privacy → Communication & multiplayer → "You can add friends" enabled. Hybrid cannot work around that.
Downloads
See OpenFriendMod-v1.1.1/uforge/ directory for the per-MC-version jars. Coverage matches v1.1.0 — no MC versions added or removed in this hotfix.
Channels
- Issues: https://github.com/zerozshare/OpenFriendMod/issues
- Hybrid server source: https://github.com/zerozshare/OpenFriend-HybridServer
- Discord: https://discord.gg/YRTyXEwVsE