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.92k stars 269 forks source link

Add dependency for playfab plugin used by new -crossplay option #508

Closed mmis1000 closed 1 year ago

mmis1000 commented 1 year ago

Changes:

  1. Add dependency required by the playfab plugin used by new -crossplay option.
  2. Bump debian version because the playfab plugin requires c and c++ lib version that isn't available in debain buster.
  3. Change lib32gcc1 to lib32gcc-s1 because it is renamed in the debian bullseye repository
mmis1000 commented 1 year ago

It seems that. Besides this, there are more places broken. For example, cross play server don't use $SERVER_PORT at all. It only use $SERVER_PORT + 1. And steam query returns 0 player because it isn't on steam (which cause it to be restarted every 15 minutes no matter there are players or not.

fr3sh68 commented 1 year ago

I built a docker image out of this and I can confirm the -crossplay option works and allows Xbox Game Pass PC version to connect, which it didn't previously.

I did get an error when building the docker image with line 165 in the Dockerfile with the range of ports: EXPOSE 2456-2457, I had to remove the range and just use EXPOSE 2456. It might be because I built the image with podman, not docker.

lloesche commented 1 year ago

Can you confirm that the issues we saw in #401 #407 are solved? Last time we upgraded from Debian 10 to 11 it broke a lot of NAS users setups. The issue being that Debian 11's libc caused threading issues on older versions of the Linux kernel which you'd find predominantly on NAS setups. If not, can we make this work on Debian 10, so we get the functionality without the risk of breaking NAS user's setups?

mmis1000 commented 1 year ago

Not sure about that, I only have Ubuntu/Debian Machine. And they both have a quite recent kernel. So, no weird error about steamcmd so far. Probably need some synology user to find it out.

lloesche commented 1 year ago

Are the newly added dependencies available on Debian 10? Could we add them without upgrading the entire OS?

fr3sh68 commented 1 year ago

I thought I read somewhere (Valheim Discord) that Debian 11 (Bullseye) was required. I could be wrong though. FYI, there's a new docker folder included in the download for Valheim Server 211.8 and it uses ubuntu:22.04

mmis1000 commented 1 year ago

Are the newly added dependencies available on Debian 10? Could we add them without upgrading the entire OS?

No, c++/c lib version number on debian 10 is smaller than absolute minimum requirement.

And these don't seem to have backports either.

rkaput commented 1 year ago

Ok well let's upgrade and see if Debian 11 works out well for our NAS users. It's been a while since #401 If not we'll revert and create a separate image tag that has the crossplay support and one for older Kernels.

Synology user here. Server was working fine yesterday, but definitely does not work today after the upgrade. Happy to share any helpful info that I can if needed.

lloesche commented 1 year ago

There is now a new Docker image lloesche/valheim-server:debian10 which uses the older Debian 10 base image, but therefor doesn't support crossplay. This should be compatible with any NAS using old Kernels.

opello commented 1 year ago

Edit: Disregard, tested in a VM and this does not resolve the issue.

I wonder if it would be worth having a Synology user test Debian 12 (bookworm, glibc 2.36) with the deadlock problem? It was easy enough to move the two FROM debian:bullseye-slim to bookworm-slim and it ran happily enough for me. Maybe the newer glibc would work more nicely with Linux 3.10?

I came across a couple (19329, 28357) issues that are fixed after 2.29 (in bullseye) and related to thread start up issues.