feat(vhserver): enable crossplay support
Description
Based on the following reddit thread https://www.reddit.com/r/valheim/comments/xshlyk/dedicated_server_on_linux_crossplay_switch_not/
Enabling crossplay on linux server required installing some additional dependencies. Out of the 3 mentioned there only libatomic1 and libpulse-dev seem to be required.
Once they have been installed and -crossplay flag is set the server succesfully registers with PlayFab and is visible in microsoft store version of the game.
I've only tested this setup on Ubuntu 22.04 and was able to see the server both in steam browser and in xbox pc version.
Server logs show the following PlayFab registration and join code assignment:
03/23/2024 21:35:49: Game server connected
03/23/2024 21:35:52: Joined PlayFab Party network with ID "<REDACTED>"
03/23/2024 21:35:53: Created PlayFab lobby with ID "<REDACTED>", ConnectionString "<REDACTED>" and owned by "<REDACTED>"
03/23/2024 21:35:53: Session "My Server" registered with join code 701230
03/23/2024 21:35:54: Retry join-code check 99
03/23/2024 21:35:56: Session "My Server" with join code 701230 and IP <REDACTED>:2456 is active with 0 player(s)
Fixes #4543
Type of change
- [ ] Bug fix (a change which fixes an issue).
- [x] New feature (a change which adds functionality).
- [ ] New Server (new server added).
- [ ] Refactor (restructures existing code).
- [ ] Comment update (typo, spelling, explanation, examples, etc).
Checklist
PR will not be merged until all steps are complete.
- [x] This pull request links to an issue.
- [x] This pull request uses the
developbranch as its base. - [x] This pull request subject follows the Conventional Commits standard.
- [x] This code follows the style guidelines of this project.
- [x] I have performed a self-review of my code.
- [x] I have checked that this code is commented where required.
- [x] I have provided a detailed enough description of this PR.
- [x] I have checked if documentation needs updating.
Documentation
If documentation does need updating either update it by creating a PR (preferred) or request a documentation update.
- User docs: https://github.com/GameServerManagers/LinuxGSM-Docs
- Dev docs: https://github.com/GameServerManagers/LinuxGSM-Dev-Docs
Thank you for your Pull Request!