Online play: rooms, codes and fixing connection problems
Hand Fighter's online mode connects two browsers directly to each other. There is no account, no lobby to wait in and no server that runs the match: one player creates a room, the other joins it with a four-letter code, and the fight starts. This guide explains what happens behind the scenes and what to do when a connection refuses to go through.
Starting a match
- Player one opens the game, chooses Online, then Create Room. A code such as R4TV appears after a second or two. Wait until you actually see the code before sharing it.
- Share the code, or tap Share invite to send a link that already contains it. The link opens the game with the code filled in.
- Player two chooses Online, then Join, types the code and confirms. Both screens switch to the fighter select, and the match begins when both players are ready.
Room codes expire when the creator leaves the screen. If your friend says the code is invalid, create a fresh room and send the new code; don't reuse an old one.
Who runs the match
The room creator's browser is the host: it runs the physics and decides hits and knockouts. The joining player's browser sends inputs and shows the result. This keeps both players perfectly in sync, but it also means the host's connection matters most. If the host is on a weak mobile signal, both players feel it, so let the person with the better internet create the room.
Fixing "stuck on connecting"
- Check both players see the same code. The letters O and 0, and I and 1, look alike. Use the invite link to avoid typos.
- Refresh and try again. Most failed connections succeed on the second attempt, because the first one is used to discover a working path between the two networks.
- Turn off VPNs and "private relay" features. These hide the network address the connection needs. Apple's iCloud Private Relay and browser VPN extensions are the usual culprits.
- Try mobile data instead of office or school Wi-Fi. Some networks block direct connections entirely. The game falls back to a relay server in that case, but very strict networks block even that.
- Don't join your own room. Opening the join screen in a second tab with your own code closes the room. Use two different devices.
- Give it ten seconds. Connecting across countries can take a moment while the relay path is negotiated.
Controls during an online match
Both players use their own camera, keyboard or touch buttons; the joining player uses the player-one keys (A/D, W, S, F, G) even though they appear on the right side of the screen. Hand tracking works the same as offline, and your camera video is never sent to the other player; only your inputs travel over the connection.
Lag and fairness
Inputs take a few dozen milliseconds to reach the host, so the joining player's moves are shown a fraction of a second later than they were made. On a normal home connection this is not noticeable; on a bad connection punches feel delayed. If one player consistently feels slow, swap roles so that player creates the room, or wait for a better connection. Matches are best of three rounds, and a disconnect ends the match with no winner rather than awarding it to the player who stayed.