Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Host does not allow crossplay #72

Open
TesXter opened this issue Nov 26, 2024 · 11 comments
Open

Host does not allow crossplay #72

TesXter opened this issue Nov 26, 2024 · 11 comments

Comments

@TesXter
Copy link

TesXter commented Nov 26, 2024

I run Docker in WSL (Windows 11). When I try to join the game, it shows the message "Host does not allow crossplay."
I launch the game from XBOX Game Pass PC.

@Micke90s
Copy link
Contributor

Micke90s commented Nov 26, 2024

I am not sure if this works now as the README of the Dedicated Server contains the following Limitations chapter:

The dedicated server is currently only available via Steam, and only allows Steam users to connect to it. This is because the dedicated server does not use a Steam user id, but the networking backend used to connect with non-Steam users needs a user ID for authentication.

Edit:
Have you tried to use the SERVER_IP and SERVER_PORT variables?

@TreeBranches
Copy link

TreeBranches commented Nov 27, 2024

The dedicated server is currently only available via Steam, and only allows Steam users to connect to it. This is because the dedicated server does not use a Steam user id, but the networking backend used to connect with non-Steam users needs a user ID for authentication

Why would the team do this and hide such a restriction buried in a Readme? I just bought the game after playing on GamePass after reading that there's a dedicated server for me and my friends to log into, but after buying the GamePass version that restriction (if it actually is a Steam exclusive thing) kinda makes me want to cancel the idea and refund.

Can Windows Store <> Steam users really not play together via a dedicated server?

@TesXter
Copy link
Author

TesXter commented Nov 28, 2024

The dedicated server is currently only available via Steam, and only allows Steam users to connect to it. This is because the dedicated server does not use a Steam user id, but the networking backend used to connect with non-Steam users needs a user ID for authentication

Why would the team do this and hide such a restriction buried in a Readme? I just bought the game after playing on GamePass after reading that there's a dedicated server for me and my friends to log into, but after buying the GamePass version that restriction (if it actually is a Steam exclusive thing) kinda makes me want to cancel the idea and refund.

Can Windows Store <> Steam users really not play together via a dedicated server?

Can you try setting SERVER_IP and SERVER_PORT?

@TreeBranches
Copy link

The dedicated server is currently only available via Steam, and only allows Steam users to connect to it. This is because the dedicated server does not use a Steam user id, but the networking backend used to connect with non-Steam users needs a user ID for authentication

Why would the team do this and hide such a restriction buried in a Readme? I just bought the game after playing on GamePass after reading that there's a dedicated server for me and my friends to log into, but after buying the GamePass version that restriction (if it actually is a Steam exclusive thing) kinda makes me want to cancel the idea and refund.
Can Windows Store <> Steam users really not play together via a dedicated server?

Can you try setting SERVER_IP and SERVER_PORT?

Can you elaborate on this? I installed the server via the 1 line Docker CLI instructions shown in the readme, and in the game when clicking Join Game I only have the option to enter a Server ID, not an IP/Port.

@TesXter
Copy link
Author

TesXter commented Nov 28, 2024

The dedicated server is currently only available via Steam, and only allows Steam users to connect to it. This is because the dedicated server does not use a Steam user id, but the networking backend used to connect with non-Steam users needs a user ID for authentication

Why would the team do this and hide such a restriction buried in a Readme? I just bought the game after playing on GamePass after reading that there's a dedicated server for me and my friends to log into, but after buying the GamePass version that restriction (if it actually is a Steam exclusive thing) kinda makes me want to cancel the idea and refund.
Can Windows Store <> Steam users really not play together via a dedicated server?

Can you try setting SERVER_IP and SERVER_PORT?

Can you elaborate on this? I installed the server via the 1 line Docker CLI instructions shown in the readme, and in the game when clicking Join Game I only have the option to enter a Server ID, not an IP/Port.

I don't know either. But still sad I have XBOX Game pass version.

@TreeBranches
Copy link

The dedicated server is currently only available via Steam, and only allows Steam users to connect to it. This is because the dedicated server does not use a Steam user id, but the networking backend used to connect with non-Steam users needs a user ID for authentication

Why would the team do this and hide such a restriction buried in a Readme? I just bought the game after playing on GamePass after reading that there's a dedicated server for me and my friends to log into, but after buying the GamePass version that restriction (if it actually is a Steam exclusive thing) kinda makes me want to cancel the idea and refund.
Can Windows Store <> Steam users really not play together via a dedicated server?

Can you try setting SERVER_IP and SERVER_PORT?

Can you elaborate on this? I installed the server via the 1 line Docker CLI instructions shown in the readme, and in the game when clicking Join Game I only have the option to enter a Server ID, not an IP/Port.

I don't know either. But still sad I have XBOX Game pass version.

Same. I wanted to use my character and also collect Xbox achievements, plus I know a few people who are playing this through GamePass. I do not have Steam.

It's so crazy to me that dedicated server software would be made for this otherwise excellent game, only to lock it to one specific storefront. Like... why would you do that?!

@Micke90s
Copy link
Contributor

Just found an interesting point. There seems to be a parameter "-allownosteam" which seems not to be used yet. (At least I could not find where it is used)

Also https://discord.com/channels/851842678340845600/1288555143444430919 describes cross play based on a setting in the ServerConfig.json (on Windows hosts)

@TreeBranches
Copy link

I don't mind trying to set those if you can tell me how to make changes to a running Docker container (my Docker knowledge is limited I'm afraid).

I'm running an Ubuntu host.

@Micke90s
Copy link
Contributor

I added the parameter to a test branch. https://github.com/Micke90s/core-keeper-dedicated/blob/d9f14e2db556d6e28e043f2acc31b267fd3d9eea/scripts/compile-parameters.sh#L22

You could build the Docker image by source.

This will pull the test branch and build the image core-keeper-dedicated

git clone https://github.com/Micke90s/core-keeper-dedicated.git
cd core-keeper-dedicated
git checkout allownosteam
docker build . --tag core-keeper-dedicated

You have to replace the image in the docker-compose.yml from escaping/core-keeper-dedicated to core-keeper-dedicated to use the created image.

To setup the server based on your docker-compose.yml you have to run
docker-compose up -d

To check the second option with ServerConfig.json you have to change the file manually. Should be under /home/steam/core-keeper-data inside the container. The easiest way would be if the volume is accessible from the host system.

e.g. by setup the volume as local path

On host: (create directory and make it read an writeable, 777 is not the best but the easiest solution)

mkdir /srv/core-keeper-data
chmod 777 /srv/core-keeper-data

In docker-compose.yml

    volumes:
      - server-files:/home/steam/core-keeper-dedicated
      - /srv/core-keeper-data:/home/steam/core-keeper-data

Then docker-compose up -d to start the server. after this /srv/core-keeper-data should contain the files.
Add "crossPlay":false into the ServerConfig.json. Restart the server by

docker-compose down
docker-compose up -d

I think that should be all. 🤔

@TesXter
Copy link
Author

TesXter commented Nov 29, 2024

I added the parameter to a test branch. https://github.com/Micke90s/core-keeper-dedicated/blob/d9f14e2db556d6e28e043f2acc31b267fd3d9eea/scripts/compile-parameters.sh#L22

You could build the Docker image by source.

This will pull the test branch and build the image core-keeper-dedicated

git clone https://github.com/Micke90s/core-keeper-dedicated.git
cd core-keeper-dedicated
git checkout allownosteam
docker build . --tag core-keeper-dedicated

You have to replace the image in the docker-compose.yml from escaping/core-keeper-dedicated to core-keeper-dedicated to use the created image.

To setup the server based on your docker-compose.yml you have to run docker-compose up -d

To check the second option with ServerConfig.json you have to change the file manually. Should be under /home/steam/core-keeper-data inside the container. The easiest way would be if the volume is accessible from the host system.

e.g. by setup the volume as local path

On host: (create directory and make it read an writeable, 777 is not the best but the easiest solution)

mkdir /srv/core-keeper-data
chmod 777 /srv/core-keeper-data

In docker-compose.yml

    volumes:
      - server-files:/home/steam/core-keeper-dedicated
      - /srv/core-keeper-data:/home/steam/core-keeper-data

Then docker-compose up -d to start the server. after this /srv/core-keeper-data should contain the files. Add "crossPlay":false into the ServerConfig.json. Restart the server by

docker-compose down
docker-compose up -d

I think that should be all. 🤔

So it worked?

@Micke90s
Copy link
Contributor

Unfortunately, it will not work. We got an official feedback on the Core Keeper Discord Server:
(Thread https://discord.com/channels/851842678340845600/1288555143444430919)

That's alright, I get it can be a bit confusing sometimes
But you are correct, dedicated servers only accept Steam users at the moment. We will launch support for the other stores at some point as well, we know it's a highly requested feature. We just don't have an ETA on it at the moment, but we're definitely looking into it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants