Norse Field Manual
Field guides

Valheim Crossplay Join Stage Vocabulary

A crossplay join attempt that fails is hard to describe because different people stop their account at different points: one says "it didn't connect," another says "it hung on the loading screen," and a third says "the host never saw me." Those are not the same observation, and none of them is a cause. This worksheet fixes a small vocabulary of join-stage labels so two observers can record the same attempt the same way, note the furthest stage reached, and write down only the evidence visible at that stage.

This is a documentation method, not a fix. No game build was installed or tested for this article, and the source-check date is 2026-09-27. The installed build is a field you supply, never a number invented here. The host platform, joining platform, session type, and build strings are all reader-supplied fields. Nothing below asserts that any platform can or cannot join any other, and nothing below is an in-game verified fix. If you want the wider context first, the source index and the guide library show how this worksheet sits beside the rest of the field manual.

Why a shared label set beats a shared story

Two players describing the same failed join will usually disagree, not because either is lying, but because each one narrates from their own screen. The host sees a lobby that never fills; the joiner sees a spinner that never resolves. A shared label set forces both accounts onto the same axis: how far did the attempt get before it stopped?

Iron Gate's support page routes bug reports and feedback to dedicated forms and keeps a known-issues list, and it also hosts a Crossplay FAQ article. That means the reporting channel already exists. What is usually missing is a comparable record. A short, staged log is easier to line up against a known issue than a paragraph of frustration, and it is easier for a second observer to confirm or contradict.

Keep the vocabulary small. A label set with twenty stages will not be used consistently; a set with six or seven will. The point is not to capture everything that happened. The point is to capture the same thing twice.

One habit matters more than the labels themselves: write the record while the session is still open, and mark uncertain fields as UNKNOWN rather than filling them from memory later. A remembered build string is worse than an honest blank, because it looks like evidence.

The stage vocabulary and what each label claims

The table inserted after this section is a synthetic example of the worksheet shape, not a record of a real session. It shows six rows and four cases, which is simply the number of times you repeat the observation. Nothing in it is a product specification or a field test result.

Use these stage labels in order, and record the furthest one reached. S0 — not attempted. You have not tried to join yet. This label exists so that a blank field is never mistaken for a failure.

S1 — session located. You can see the session you intend to join, by whatever means your setup presents it. Reaching S1 says nothing about whether you can enter it.

S2 — join requested. You have taken the action that asks to enter, and the client has acknowledged that action. This is the first label that implies the attempt actually started.

S3 — handshake or connection phase. The client is visibly working on connecting rather than merely accepting the request. What that looks like depends on your platform and session type, so describe what you saw rather than naming a mechanism.

S4 — world or character loading. You have moved past connecting into loading. This is where the two observers most often disagree, because the host may still see an empty lobby while the joiner sees a loading screen.

S5 — in session. You are present in the world. Reaching S5 does not mean the session is stable; it means the join itself completed.

SX — stopped, stage unknown. Use this when the attempt clearly failed but you cannot honestly place it. SX is a real answer, not a failure to answer.

For each case, record the furthest label reached and the evidence visible at that label. Evidence means what you could actually see: a message, a spinner, a lobby count, a loading indicator, or nothing at all. "Nothing visible" is a valid entry and is often the most useful one.

Filling the platform and session fields honestly

The host platform and joining platform are fields you supply. Do not infer one from the other, and do not assume that two machines running the same storefront are the same platform for reporting purposes. Write what you can confirm and mark the rest UNKNOWN.

The session type matters because a peer-hosted play session and a dedicated server are different environments, and the same join attempt may present differently in each. Iron Gate's official FAQ notes that players can create a p2p-based play session that is public or private, and that a persistent server is a separate application downloaded from Steam. It also states that Iron Gate does not provide official servers and has no access to your saved worlds or characters. That last point is a useful boundary: your record is the only copy of your session that anyone outside your group can see, so it needs to stand on its own.

The FAQ also states that servers are capped at 10 players and that Valheim is a co-op game rather than an MMO. If your attempt involves a full or nearly full session, record the participant count you observed rather than the count you expected. A number you saw is an observation; a number you assumed is an inference.

Finally, record whether mods were present, on the client and on the server separately. Iron Gate states plainly that it does not have official support for mods, so a modded session is a different reporting context from an unmodded one. Unknown is not the same as none.

Separating what you saw from what you concluded

The most common way a join record becomes useless is that observation and inference get mixed into one sentence. "Crossplay is broken between these two platforms" is a conclusion. "The joiner reached S3 and stayed there for four minutes while the host's lobby showed zero players" is an observation. Only the second one can be checked by someone else.

Keep two columns. In the first, write only what was visible on a screen. In the second, write your best guess about what it means, clearly labelled as a guess. Do not let the guess edit the observation. If you later learn something that changes your interpretation, add a dated note rather than rewriting the original entry.

Be careful with timing claims. "It hung for ages" is not reproducible. "It stayed at S3 for about four minutes before I stopped it" is. If you did not time it, say so.

Be equally careful with cause. A stage label tells you where an attempt stopped. It does not tell you why. Two attempts that both stop at S4 may have entirely different explanations, and one attempt that stops at S3 may be a local problem rather than anything to do with the other platform. The vocabulary is deliberately silent on cause so that the record stays comparable.

Do not change server settings, edit saves, or install or remove software in order to fill this worksheet. If a condition changed between cases, name every known change and avoid attributing the outcome to one of them.

Comparing cases without overclaiming

The value of the worksheet appears when you have more than one case. Line the cases up field by field and look for differences, but resist the urge to promote the first difference you find into an explanation.

If the host platform differs between cases, record that. If the joining platform differs, record that. If the session type differs, record that. If the build strings differ, record both and note the date you observed the mismatch. A dated observation is more useful than a remembered one, because Iron Gate's own support page shows that help articles and FAQs are added and revised over time.

If two cases reach the same stage under the same documented conditions, that is a stronger observation than one case reaching a different stage under conditions you cannot fully describe. If only one case is available, one honest case is sufficient. Leave the other slots empty rather than inventing a result to fill the table.

When you write the record up, lead with the stage labels and the evidence, and put interpretation last. A reader who wants to compare your record against a known issue needs the stages first. A reader who wants your theory can read to the end for it.

If the record is going to Iron Gate, use the bug report form on the support page rather than a general message. The form exists so that reports arrive in a comparable shape, and a staged record fits that shape better than a narrative.

Limits of this worksheet

This method does not diagnose anything, and it does not claim that any particular join attempt will succeed or fail. It does not assert that any platform can join any other, and it does not describe a fix. No game build was installed or tested for this article, and the source-check date is 2026-09-27.

The stage labels are a naming convention, not a description of how any client actually works. If your client presents a phase that does not fit any label, use SX and describe what you saw in the evidence field. The vocabulary is meant to be stable, not exhaustive.

The build fields are reader-supplied. There is no default value, and this article does not assert one. If you cannot read a build string, write UNKNOWN and say where you looked. Do not guess a version because a patch note sounded similar.

Finally, remember what the record is for. It is a compact, comparable account of where an attempt stopped, written so that a second person can check it. It is not a verdict, and it is not a substitute for the official reporting channels. If you keep the observation and the inference apart, the record will still be useful even after the underlying behaviour changes.

Sources and method

AI-assisted writing with automated source, calculation and editorial checks. No hands-on testing or professional certification is claimed. Check the stated assumptions before applying this guide.