Repository navigation
[Bug]: crossplay config variable has no effect. -crossplay hardcoded in startparameters with no way to disable via config #4930
Description
Severity
severity: low
Reproducibility
reproducible: always
Regression
regression: no
Affects latest release
latest-release: yes
User story
As a server owner running a Steam-only Valheim server, I want the crossplay config variable to actually control whether -crossplay is passed to the server binary, so that I can disable Playfab relay networking and allow players to connect via direct IP without having to manually override startparameters.
Script name
vhserver
Game
Valheim
Linux distro
Other, Ubuntu 26.04
Command
command: start
Expected behavior
-crossplay should not appear in the launch command when crossplay="false" is set.
Actual behavior
-crossplay is always present regardless of the crossplay config value. The server initialises Playfab/Xbox Live networking, routes all connections through Microsoft's relay network, and becomes unreachable via direct IP for Steam-only players.
Impact:
Steam-only dedicated servers are completely unreachable by IP. Clients see the server as permanently offline in the favourites browser. No connection attempts reach the server process at all.
Further information
Workaround:
Override startparameters in the instance config with -crossplay removed:
startparameters="-name '${servername}' -password ${serverpassword} -port ${port} -world ${worldname} -public ${public} -savedir '${savedir}' -saveinterval ${saveinterval} -backups ${backups} -backupshort ${backupshort} -backuplong ${backuplong} -instanceid ${instanceid} ${logFile:+ -logFile '${logFile}'} ${worldmodifiers:+ ${worldmodifiers}}"
Suggested fix:
Replace the hardcoded -crossplay in _default.cfg with a conditional so the existing crossplay config variable actually controls it:
${crossplay:+$([ "$crossplay" = "true" ] && echo "-crossplay")}
Or more simply, remove -crossplay from the default startparameters entirely and document that users who need crossplay should add it manually, making crossplay opt-in rather than opt-out, which is the safer default for Steam-only servers.
Pre-checks
- I ran update and validate before reporting this issue.
Relevant log output
Steps to reproduce
Steps to reproduce:
Install a fresh vhserver
Set crossplay="false" in lgsm/config-lgsm/vhserver/vhserver.cfg
Start the server with ./vhserver start
Run ./vhserver details and inspect the Command-line Parameters section
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fields✅ Done
Activity
github-actions commentedon Jun 11, 2026
Thanks for opening this issue!
The report is detailed and includes severity, reproducibility, regression status, environment details, expected vs actual behavior, impact, workaround, suggested fix, and reproduction steps. The user also included a relevant screenshot and confirmed pre-checks were done. No critical information appears missing.
Game name note: The issue specifically concerns the Valheim game server managed by the vhserver LinuxGSM script.
This note was generated automatically by AI triage and may not be perfect. A maintainer will review shortly.
dgibbs64 commentedon Oct 2, 2026
Thanks for the detailed report. There has never been a
crossplaysetting in LinuxGSM.-crossplayis part of the defaultstartparameters, the same way ARK handles-Crossplay, and the way to turn it off is to overridestartparameters.To make that clear:
-crossplaydoes and gives a ready-to-copystartparametersline without it (docs(valheim): explain crossplay and how to disable it LinuxGSM-Docs#124)._default.cfggets a comment abovestartparameterspointing to it (fix(vh): document how to disable crossplay #4969, in v26.3.0).Your workaround of copying
startparametersinto the instance config and removing-crossplayis the supported way to do this.fix(vh): document how to disable crossplay (#4969)
Release v26.3.0 (#5005)
Release v26.3.0 (#5007)