Cross-play architecture, how Java and Bedrock end up in the same world
Cross-play architecture, how Java and Bedrock end up in the same world
Cross-play is increasingly expected. PlayStation and Xbox players in the same match. iPhone and Android in the same lobby. Java Minecraft and Bedrock Minecraft on the same server. The marketing word doesn't capture how engineering-intensive this is.
This article explores the technical realities of cross-play, with specific case studies.
How Geyser bridges Java and Bedrock
Geyser translates packets in both directions in real-time. Floodgate handles the auth bridge so Bedrock players (Xbox Live) can join Java servers without a Mojang account.
Why cross-play is hard
The core challenge: different platforms have different:
Protocols. Java Minecraft speaks one protocol; Bedrock speaks a completely different one. Console games may have additional layers (Sony Online, Xbox Live).
Update cadences. Java versions and Bedrock versions release on different schedules with different features.
Anti-cheat systems. Mobile platforms have different anti-cheat than PCs. Console anti-cheat differs from PC.
Input methods. PC has keyboard/mouse; consoles have controllers; mobile has touch. Game balance differs.
Identity systems. PlayStation IDs vs Xbox Gamertags vs Steam accounts.
Trust models. Mobile devices are less trusted than consoles, which are less trusted than open PCs.
Doing any one of these is hard. Doing all of them together is a project.
Cross-play architectures
The main approaches:
Protocol translation. A bridge translates between protocols on the fly. Geyser+Floodgate for Minecraft is the example.
Unified protocol. The game uses one protocol for all platforms. Newer games designed for cross-play do this.
Federated platforms. Each platform runs its own instance; backend services sync state.
Same client, different stores. The game itself is the same; just distributed via different stores. Cross-play is essentially free.
Different games use different combinations.
Case study: Minecraft Java + Bedrock (via Geyser)
The most-deployed cross-play layer in the Minecraft world.
Setup: A Java Minecraft server runs as normal. Geyser (a third-party project) runs alongside, listening for Bedrock connections. Floodgate (paired with Geyser) handles authentication for Bedrock players (who have Microsoft accounts, not Mojang accounts in the traditional sense).
Flow:
- Bedrock client connects to the Geyser-listening port.
- Geyser translates Bedrock protocol packets to Java protocol.
- Geyser forwards translated packets to the Java server.
- Java server responds in Java protocol.
- Geyser translates back to Bedrock for the client.
Limitations:
- Some features don't translate perfectly. Inventory differences, recipe differences, specific block behaviors.
- Performance overhead (Geyser doing translation in real-time).
- Maintenance burden (Geyser must be updated as Java or Bedrock versions change).
Status: Widely used. Many community Minecraft servers run Geyser. We have a dedicated article on Geyser earlier in the documentation.
Case study: Fortnite
Native cross-play across PC, PlayStation, Xbox, Switch, Android, iOS. All on the same servers, all in the same matches.
Architecture:
- Single game codebase compiled for multiple platforms.
- Single matchmaking system.
- Players can pre-set "input preference" (controller, mouse-keyboard, touch). Matchmaking tries to group by preference.
- Server-side simulation is platform-agnostic.
Account system:
- Players have an Epic Games account that's the master ID.
- Connect to PlayStation, Xbox, etc. accounts as identities.
- One Epic account = one player across all platforms.
Anti-cheat:
- Easy Anti-Cheat on PC.
- Console anti-cheat handled by platform (more trusted).
- Mobile has additional restrictions.
The result: works smoothly because Epic designed for it from the start.
Case study: Rocket League
Cross-play across PC, PlayStation, Xbox, Switch since 2019.
Architecture:
- Common game codebase.
- Players link platform accounts to a Rocket League account.
- Skill ratings shared across platforms.
- Friends list (via Epic) crosses platforms.
Lessons: Cross-play retrofitted onto an existing game is possible but takes years of engineering work.
Case study: Call of Duty
Cross-play across most modern Call of Duty titles.
Architecture:
- Crossplay-enabled clients on each platform.
- Activision account links to platform identities.
- Matchmaking allows or excludes platforms based on player preference.
A specific quirk: crossplay is often opt-out for console players because PC players have aim advantages with mouse-keyboard. Console players can choose to play only with other console players.
Case study: Among Us
Cross-play across PC, mobile, console.
Architecture:
- Same client codebase, simplified UI for mobile.
- Shared lobbies via room codes.
- No platform-specific accounts; just nicknames.
This is the simpler model: very lightweight game, identical experience across platforms.
The infrastructure side
For cross-play games at scale, infrastructure includes:
Unified matchmaking. A pool of waiting players from all platforms. Matched into games based on skill, region, preferences.
Game-server hosting. Servers for the actual matches. Often the publisher's infrastructure (Epic, Activision, etc.).
Identity / account services. The "who are you" system that ties platform accounts together.
Anti-cheat coordination. Different anti-cheat on different platforms. Coordinated bans.
Voice chat. Often a separate system (Vivox, Wwise, etc.) integrated.
For massive cross-play games, infrastructure is significant. Smaller games may use simpler patterns.
Why crossplay matters for hosting providers
For game-server hosting:
The game's protocol must be supported. Most hosting tools work with any TCP/UDP game; specific games may need specific configuration.
Cross-play bridges (Geyser) need to be supported. For Minecraft servers, Geyser is a common addition. Hosting that doesn't handle Geyser is less attractive.
Multi-port support. Cross-play often needs multiple ports (one for each protocol). Hosts must handle this.
Sometimes additional ports for matchmaking. Some games have proxy or matchmaking layers that need additional networking.
For a server-hosting provider, supporting cross-play means flexibility in port allocation and protocol mix.
The friction points
Cross-play is rarely seamless. Specific friction:
Voice chat across platforms. Console voice chat (especially Xbox and PlayStation parties) often doesn't bridge to PC easily. Discord has become the de facto bridge.
In-game purchases on different stores. A skin bought on PlayStation may not appear on Xbox (depending on game).
Achievement systems. Each platform has its own achievement system. Cross-play games often have to support all of them.
Player names and visibility. Showing PlayStation IDs to Xbox players, etc. Has friction with platform terms of service.
Latency mismatches. Mobile players often have higher latency than PC players. Affects competitive fairness.
These friction points have specific engineering solutions, all of which take work.
Cross-play platforms vs cross-progression
Worth distinguishing:
Cross-play: players on different platforms in the same match.
Cross-progression: a player's progress (level, items, etc.) is shared across platforms.
Many games have one or the other; some have both. Cross-progression typically requires more backend integration (shared databases, account linking) than cross-play.
The mobile-PC fairness problem
A specific challenge: mobile and touchscreen players are often at a disadvantage against keyboard-mouse players.
Solutions:
- Matchmaking by input type (group touch with touch).
- Aim assist on consoles to level the field.
- Cross-input-mode being opt-in only.
- Different game modes for different player counts.
Game design accommodates the asymmetry. Different games handle differently. Some accept the asymmetry; some put effort into mitigation.
What modern game developers consider
When designing a new multiplayer game today, the cross-play question is asked early:
Will this be cross-play? Almost always yes for casual/social games. Often optional for competitive games.
Which platforms? PC, mobile, console all have different ecosystems and certifications.
What's the input strategy? Forced same-input matchmaking? Optional? Mix?
What's the anti-cheat model? Cross-platform anti-cheat is harder than single-platform.
What's the identity model? Per-game accounts or platform-account linking?
These decisions cascade through engineering and operations. Cross-play is more than a checkbox.
Conclusion
Cross-play is a feature users want, an engineering project for developers, and an infrastructure consideration for hosting providers. The marketing "cross-play" hides significant complexity.
For players: enjoy it when it works. Understand the friction points (input fairness, voice chat, store splits).
For developers: design for cross-play early, retrofit later only with significant effort.
For hosting: ensure your platform supports multiple protocols, multiple ports, and cross-play bridges. For Minecraft specifically, Geyser is a critical capability.
For the gaming industry overall: cross-play is the future. Single-platform multiplayer games will increasingly feel artificially limited.
End of Series E (and end of the new content)
The seven articles of the gaming-networking series:
- Ping deep dive.
- NAT and game hosting.
- UPnP and port forwarding.
- Game protocols.
- Authoritative servers vs P2P.
- Cheating and networks.
- Cross-play architecture.
These bridge the networking theory of Series A and B with the gaming context that AndroHost is focused on.
Combined with the other series, the AndroHost documentation library now spans:
- 74 gaming-specific operational articles.
- 15 internet-101 fundamentals.
- 12 networking-admin deep dives.
- 10 internet-history pieces.
- 8 computing-history pieces.
- 7 gaming-networking bridges.
Total: 126 articles, all drafts, awaiting review.
A reader could enter this documentation knowing nothing about networking or hosting and emerge with both technical depth and a sense of context. That's the goal.
Hosting your game server with AndroHost means we handle most of what's in this post for you automatically: tier sizing, SRV records, off-site backups, DDoS protection.
Keep reading
Using your AndroHost database with plugins like LuckPerms
Every paid AndroHost server includes a real MariaDB database for plugins that need one. Here is how to set it up and connect.
Why your server's IP being public is fine, and when it isn't
A game server has an IP address. Players connect to it. The IP is, by definition, reachable from the internet. Many server owners feel uneasy about their IP being known, often because they don't know what risk it actually represents.
What a DDoS actually looks like to a Minecraft server, and what protection means
"DDoS protection" is on every hosting marketing page. Most people who pay for it don't know what it does, how attacks actually work, or what level of protection is enough. This article explains, in honest terms, what to expect.