lloesche / valheim-server-docker

Valheim dedicated gameserver with automatic update, World backup, BepInEx and ValheimPlus mod support
https://hub.docker.com/r/lloesche/valheim-server
Apache License 2.0
1.91k stars 269 forks source link

Crossplay / Playfab issue #583

Open Dougiebabe opened 1 year ago

Dougiebabe commented 1 year ago

It seems that there is an issue starting the server with the SERVER_ARGS = -crossplay

Not sure if I have missed something somewhere that says this is not supported but I have a friend on Game Pass who can't join without -crossplay and the server won't start with -crossplay in the arguments

The below log just repeats non stop when the -crossplay argument is present.

Feb 20 21:45:33 supervisord: valheim-server 02/20/2023 21:45:33: PlayFab reconnect server 'SERVERNAME' Feb 20 21:45:33 supervisord: valheim-server 02/20/2023 21:45:33: Server 'SERVERNAME' begin PlayFab create and join network for server Feb 20 21:45:50 supervisord: valheim-server PARTY_STATE_CHANGE_RESULT_INTERNET_CONNECTIVITY_ERROR Feb 20 21:45:50 supervisord: valheim-server the ping to the quality of service beacon timed out Feb 20 21:45:50 supervisord: valheim-server PARTY_STATE_CHANGE_RESULT_INTERNET_CONNECTIVITY_ERROR Feb 20 21:45:50 supervisord: valheim-server the region list could not be determined Feb 20 21:45:50 supervisord: valheim-server PARTY_STATE_CHANGE_RESULT_NETWORK_NO_LONGER_EXIST Feb 20 21:45:50 supervisord: valheim-server the network operation cannot complete because creating the network failed

Having a read around on reddit here and here it looks like it was working a few months ago. I have checked the apt-get install libpulse-dev libatomic1 libc6 that someone mentioned and it looks up to date.

Is it just flaky and suggested to not have crossplay enabled and to only use steam?

machineglow commented 1 year ago

I'm troubleshooting the same issue with a valheim docker server on unraid. Was actually working last night (with -crossplay) and restarted the server today (cause I had to do some HW maintenance) and now the container hangs on the same messages.

lloesche commented 1 year ago

Is this issue still current?

Is it just flaky and suggested to not have crossplay enabled and to only use steam?

It for sure wasn't straight forward to get working, and introduced a bunch of side effects when we did. I wonder if something new broke or if this is just an intermittent fault that will resolve itself.

fclante commented 1 year ago

@lloesche I found the problem. U guessed it.--> Me! I failed to notice that I had not updated the image in 18 months, once I added the :latest tag to the image, and recreated the container everything works like a charm. Sorry for wasting everybodys time.

giroguy commented 1 year ago

I was seeing this as an issue also, though after some fiddling found that PlayFab seems to make it act different since it announces/registers the server to PlayFab

This is running off a Synology via Docker

Random Thing:

Hope that makes sense.

aurelienmaury commented 1 year ago

Hi, just to add my 2 cents.

First : Thanks a lot for all the work.

I'm currently struggling with setting up a crossplay server for my Xbox console friends.

I followed the docker-compose approach by the book, with the twist of adding the:

SERVER_ARGS="-crossplay"

... to the valheim.env file before docker compose up

after a while of generation it seems stuck in a loop of PlayFab reconnection:

valheim-server-valheim-1  | Mar 29 13:34:31 supervisord: valheim-server 03/29/2023 13:34:31: PlayFab reconnect server 'Kattegatt'
valheim-server-valheim-1  | Mar 29 13:34:31 supervisord: valheim-server 03/29/2023 13:34:31: Server 'Kattegatt' begin PlayFab create and join network for server 
valheim-server-valheim-1  | Mar 29 13:35:02 supervisord: valheim-server 03/29/2023 13:35:02: PlayFab reconnect server 'Kattegatt'
valheim-server-valheim-1  | Mar 29 13:35:02 supervisord: valheim-server 03/29/2023 13:35:02: Server 'Kattegatt' begin PlayFab create and join network for server 
valheim-server-valheim-1  | Mar 29 13:35:32 supervisord: valheim-server 03/29/2023 13:35:32: PlayFab reconnect server 'Kattegatt'
valheim-server-valheim-1  | Mar 29 13:35:32 supervisord: valheim-server 03/29/2023 13:35:32: Server 'Kattegatt' begin PlayFab create and join network for server

Joining by IP:PORT does not work (or I won't be writing this obviously).

Could you lead me to any hint to make it reachable or tell me if I lack logs in this description?

Thanks.

Dougiebabe commented 1 year ago

Yeah I am seeing the same thing now, no longer seeing these messages:

Feb 20 21:45:50 supervisord: valheim-server PARTY_STATE_CHANGE_RESULT_INTERNET_CONNECTIVITY_ERROR
Feb 20 21:45:50 supervisord: valheim-server the ping to the quality of service beacon timed out

and now only seeing the following messages over and over again once the server has started.

Mar 30 21:34:49 supervisord: valheim-server 03/30/2023 21:34:49: Server 'ThroneOfWovenDreams' begin PlayFab create and join network for server 
Mar 30 21:34:49 supervisord: valheim-server 03/30/2023 21:34:49: PlayFab reconnect server 'ThroneOfWovenDreams'
Mar 30 21:34:19 supervisord: valheim-server 03/30/2023 21:34:19: Server 'ThroneOfWovenDreams' begin PlayFab create and join network for server 
Mar 30 21:34:19 supervisord: valheim-server 03/30/2023 21:34:19: PlayFab reconnect server 'ThroneOfWovenDreams'
Mar 30 21:33:49 supervisord: valheim-server 03/30/2023 21:33:49: Server 'ThroneOfWovenDreams' begin PlayFab create and join network for server 
Mar 30 21:33:49 supervisord: valheim-server 03/30/2023 21:33:49: PlayFab reconnect server 'ThroneOfWovenDreams'
Mar 30 21:33:19 supervisord: valheim-server 03/30/2023 21:33:19: Server 'ThroneOfWovenDreams' begin PlayFab create and join network for server 
Mar 30 21:33:19 supervisord: valheim-server 03/30/2023 21:33:19: PlayFab reconnect server 'ThroneOfWovenDreams'

It seems to work fine without the -crossplay but then obvs it only works for steam users

fclante commented 1 year ago

Hi, just to add my 2 cents.

First : Thanks a lot for all the work.

I'm currently struggling with setting up a crossplay server for my Xbox console friends.

I followed the docker-compose approach by the book, with the twist of adding the:

SERVER_ARGS="-crossplay"

... to the valheim.env file before docker compose up

after a while of generation it seems stuck in a loop of PlayFab reconnection:

valheim-server-valheim-1  | Mar 29 13:34:31 supervisord: valheim-server 03/29/2023 13:34:31: PlayFab reconnect server 'Kattegatt'
valheim-server-valheim-1  | Mar 29 13:34:31 supervisord: valheim-server 03/29/2023 13:34:31: Server 'Kattegatt' begin PlayFab create and join network for server 
valheim-server-valheim-1  | Mar 29 13:35:02 supervisord: valheim-server 03/29/2023 13:35:02: PlayFab reconnect server 'Kattegatt'
valheim-server-valheim-1  | Mar 29 13:35:02 supervisord: valheim-server 03/29/2023 13:35:02: Server 'Kattegatt' begin PlayFab create and join network for server 
valheim-server-valheim-1  | Mar 29 13:35:32 supervisord: valheim-server 03/29/2023 13:35:32: PlayFab reconnect server 'Kattegatt'
valheim-server-valheim-1  | Mar 29 13:35:32 supervisord: valheim-server 03/29/2023 13:35:32: Server 'Kattegatt' begin PlayFab create and join network for server

Joining by IP:PORT does not work (or I won't be writing this obviously).

Could you lead me to any hint to make it reachable or tell me if I lack logs in this description?

Thanks.

Try to remove the " around -crossplay

k-e-c commented 6 months ago

Yeah I am seeing the same thing now, no longer seeing these messages:

Feb 20 21:45:50 supervisord: valheim-server PARTY_STATE_CHANGE_RESULT_INTERNET_CONNECTIVITY_ERROR
Feb 20 21:45:50 supervisord: valheim-server the ping to the quality of service beacon timed out

and now only seeing the following messages over and over again once the server has started.

Mar 30 21:34:49 supervisord: valheim-server 03/30/2023 21:34:49: Server 'ThroneOfWovenDreams' begin PlayFab create and join network for server 
Mar 30 21:34:49 supervisord: valheim-server 03/30/2023 21:34:49: PlayFab reconnect server 'ThroneOfWovenDreams'
Mar 30 21:34:19 supervisord: valheim-server 03/30/2023 21:34:19: Server 'ThroneOfWovenDreams' begin PlayFab create and join network for server 
Mar 30 21:34:19 supervisord: valheim-server 03/30/2023 21:34:19: PlayFab reconnect server 'ThroneOfWovenDreams'
Mar 30 21:33:49 supervisord: valheim-server 03/30/2023 21:33:49: Server 'ThroneOfWovenDreams' begin PlayFab create and join network for server 
Mar 30 21:33:49 supervisord: valheim-server 03/30/2023 21:33:49: PlayFab reconnect server 'ThroneOfWovenDreams'
Mar 30 21:33:19 supervisord: valheim-server 03/30/2023 21:33:19: Server 'ThroneOfWovenDreams' begin PlayFab create and join network for server 
Mar 30 21:33:19 supervisord: valheim-server 03/30/2023 21:33:19: PlayFab reconnect server 'ThroneOfWovenDreams'

It seems to work fine without the -crossplay but then obvs it only works for steam users

Did you ever figure this out? I'm having the exact same problem. I noticed during startup it does seem like it actually connects to playfab:

01/26/2024 05:13:40: Using default prefs
01/26/2024 05:13:40: Console: Valheim 0.217.38 (network version 20)
01/26/2024 05:13:40: Console:
01/26/2024 05:13:40: Console: type "help" - for commands
01/26/2024 05:13:40: Console:
01/26/2024 05:13:40: isModded: False
01/26/2024 05:13:40: Zonesystem Awake ######
01/26/2024 05:13:40: DungeonDB Awake ######
01/26/2024 05:13:40: Registering lobby
01/26/2024 05:13:40: PlayFab custom ID set to "PlayFab_XXXX_####_##abc"
01/26/2024 05:13:40: Sending PlayFab login request (attempt 2)
01/26/2024 05:13:40: Worldgenerator version setup:2
01/26/2024 05:13:43: Audioman already exist, destroying self
01/26/2024 05:13:43: Console: /w [text] - Whisper
01/26/2024 05:13:43: Console: /s [text] - Shout
01/26/2024 05:13:43: Console: /die - Kill yourself
01/26/2024 05:13:43: Console: /resetspawn - Reset spawn point
01/26/2024 05:13:43: Console: /[emote]
01/26/2024 05:13:43: Console: Emotes: wave, sit, challenge, cheer, nonono, thumbsup, point, blowkiss, bow, cower, cry, despair, flex, comehere, headbang, kneel, laugh, roar, shrug, dance
01/26/2024 05:13:43: Console:
01/26/2024 05:13:43: PlayFab logged in as "PlayFab_XXXX_####_###Abc"
01/26/2024 05:13:43: PlayFab local entity ID is ###Abc
01/26/2024 05:13:43: New session server "SERVERNAME" that has join code , now 0 player(s)
01/26/2024 05:13:43: Register PlayFab server "SERVERNAME" with IP ###.###.###.###:2456
01/26/2024 05:13:43: Server 'SERVERNAME' begin PlayFab create and join network for server
k-e-c commented 6 months ago

Wow, so I just fixed it. This article had the solution: https://steamcommunity.com/app/892970/discussions/1/3365901765271862386/?l=greek

I installed this and it's working now! https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022

alunduil commented 2 months ago

@k-e-c can you outline how you installed things into this environment? I would expect that the docker image is complete so if it's missing something that should be submitted as a pull request here. I'm asking because I'm also running into this issue and not seeing a quick solution.

k-e-c commented 2 months ago

@alunduil, I'm not using docker for this, since I'm hosting it just for myself and a few friends, it's on an Azure VM I spun up myself. All I did in my case was go to that link (https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022) and install the latest Visual Studio C++ redistributable. Is the docker image you're using Windows Based, I'm kind of assuming it's not, and it's Linux based? I'm surprised to hear you're having this issue with the docker image, I kind of assumed most folks hosting Valheim as a service would probably be using the docker image and likely that'd be working. If it is a 'nix based version, I'm honestly not sure what the process would be to get a version of that redistributable, if it's a windows based docker image you would just need to include the package from the link above in the image.

Edit: Apologies, I realize now this comment was ON the repo for the docker image, I just stumbled upon this post while looking for the solution to this problem, not sure how I missed that before. I would wager though it's the same issue, and there is a package missing that are required for Crossplay with Playfab, did you try the packages the OP said fixed the issue but made it flaky? You could try something like this, but it looks kind of janky to me: https://www.geeksforgeeks.org/how-to-install-visual-c-on-linux/

Even if that does fix it, I bet there might be a cleaner way to install the missing libraries/components.

alunduil commented 2 months ago

I did find the fix was adding -crossplay to the correct environment variable (I forget which but can look it up later if requested). In fact, I should take this issue as a request to surface the documentation on the environment variables better.

k-e-c commented 2 months ago

Interesting, I wonder why in my case I was missing dependencies, and in the case of the docker for you it was just a case of feeding it the variables correctly. Funny both would cause the same issue and have such different fixes.