V1.1.1
OpenFriend Core v1.1.1 — hotfix
Standalone WebRTC-bridge daemon that powers OpenFriend Mod and OpenFriend Plugin.
⚠️ 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
Single critical bug fix in the Hybrid merge layer.
Bug fix — Mojang permanent errors no longer masked by Hybrid
Symptom: in v1.1.0, sending a friend request to a player whose Xbox privacy settings disallowed friend requests would appear to succeed in the overlay (the friend showed up as outgoing), but the actual Mojang relationship was never created. Joining that "friend" then failed with connection reset because Mojang's signaling server correctly refused — the two accounts were never friends on Mojang's side. v1.0.7-v1.0.9 surfaced the original Mojang 403 error message directly; v1.1.0 silently swallowed it because the parallel Hybrid call succeeded (Hybrid has no Xbox privacy enforcement — it stores everything as a local cache).
Cause: PutFriendAction and PostPresence in internal/api/ had merge logic that, when Mojang returned a permanent error (403 / 404 / 409) but Hybrid accepted the call, returned the cached friends list with nil error — effectively claiming success to the IPC caller (the Mod / Plugin). The flag isPermanentMojangError was inspected only for logging, not for the return value.
Fix: when Mojang's error is permanent (4xx other than 429), Core now returns that error directly to the caller — exactly the v1.0.9 behaviour. Hybrid's response is only used to mask transient Mojang failures (network / 5xx / 429), which is what the Hybrid merge layer was always intended to do.
internal/api/friends.go PutFriendAction
internal/api/presence.go PostPresence
What this means in practice
| Scenario | v1.1.0 | v1.1.1 |
|---|---|---|
| Mojang: 5xx / timeout / 429 + Hybrid: OK | success (replay queued) | success (replay queued) — unchanged |
| Mojang: 403 privacy / 404 not-found / 409 already-friends + Hybrid: OK | "success" (masked, phantom friend appears) | the real Mojang error surfaces to the user — exactly v1.0.9 behaviour |
| Mojang: OK | success | success — unchanged |
| Both fail | last error surfaced | last error surfaced — unchanged |
Phantom friends from v1.1.0 sessions
If you ran v1.1.0 against a privacy-blocked friend, that friend now exists only in your Hybrid view (Mojang side is empty). To remove the phantom:
- Right-click the friend in the overlay → Remove. Mojang returns 404 (no such relationship, true), Hybrid returns 204. After the next refresh the phantom is gone.
- Or just ignore them; they'll be silently deleted from Hybrid when the maintenance loop runs.
Hybrid does NOT bypass Xbox privacy
To be explicit: Hybrid is purely a friend-list resilience cache. It cannot create real Mojang friendships, and joining requires a real Mojang friendship because Mojang's signaling server validates the relationship before relaying WebRTC offers. If a friend's privacy settings block requests, the only fix is the friend toggling Xbox Privacy → Communication & multiplayer → "You can add friends" in their Xbox account settings.
Downloads
| File | OS | Arch | Notes |
|---|---|---|---|
openfriend-darwin-arm64 |
macOS | Apple Silicon | |
openfriend-darwin-amd64 |
macOS | Intel | |
openfriend-linux-arm64 |
Linux | aarch64 | glibc 2.31+ |
openfriend-linux-amd64 |
Linux | x86_64 | glibc 2.31+ |
openfriend-windows-amd64.exe |
Windows | x86_64 | Windows 10+ |
If you only run OpenFriend Mod, you don't need to download Core separately — it's bundled inside every mod jar and self-extracts on first launch.
Channels
- Issues: https://github.com/zerozshare/OpenFriendCore/issues
- Hybrid server source: https://github.com/zerozshare/OpenFriend-HybridServer
- Discord: https://discord.gg/YRTyXEwVsE