Pugmatt / BedrockConnect

Join any Minecraft Bedrock Edition server IP on Xbox One, Nintendo Switch, and PS4/PS5
GNU General Public License v3.0
1.41k stars 165 forks source link

Does not show my serverlist #343

Closed KaneSama2k3 closed 1 year ago

KaneSama2k3 commented 1 year ago

What happened?

I have a pair of Minecraft Bedrock docker servers on the same machine, one with the port 19135 and the other with 19134 that I want to be able to connect to using the switch / PS4 on my local network so I was trying to use Bedrock connect for this. I have a pi-hole as the network DNS and added local settings to override the featured servers list and point to the IP for my docker server.

I set up a BedrockConnect Server using a slight modification to the dockerfile in the project files

All of the featured servers are showing up, but clearly not being able to connect as they show no extra description or ping information.

On the PC, I can connect to the two servers I have created without issue

Expected Behaviour?

Based on the "custom_servers=custom_servers.json", "featured_servers=false" arguments, it should only show either my servers or any featured servers I have not overwritten, unless I'm misunderstanding how it's meant to work

Steps to reproduce.

Dockerfile: FROM openjdk:11 RUN mkdir -p /docker/brc ADD https://github.com/Pugmatt/BedrockConnect/releases/latest/download/BedrockConnect-1.0-SNAPSHOT.jar /docker/brc WORKDIR /docker/brc EXPOSE 19132/udp COPY ./custom_servers.json /docker/brc/custom_servers.json CMD ["java", "-Xms256M", "-Xmx256M", "-jar", "BedrockConnect-1.0-SNAPSHOT.jar", "nodb=true", "custom_servers=custom_servers.json", "featured_servers=false"]

Docker run: docker run -d -p 19132:19132

custom_servers.json [ { "name": "Shared server", "address": "ipaddress of docker server not instance", "port": 19134 }, { "name": "Server2 Server", "address": "ipaddress of docker server not instance", "port": 19135 } ]

Screenshots/Videos

No response

Minecraft Bedrock Version

1.16

Console

Nintendo Switch, PS4

Additional Context

No response

Pugmatt commented 1 year ago
All of the featured servers are showing up, but clearly not being able to connect as they show no extra description or ping information.

The BedrockConnect serverlist does not display descriptions or ping, it can't do that since the form data is served by the BedrockConnect server. Are you talking about the menu under the "Servers" tab in the "Play" menu? If so, at that point you aren't on the BedrockConnect serverlist yet, you connect to the BedrockConnect serverlist after joining one of the featured servers from the Minecraft main menu "Servers" tab. (Which the custom DNS server spoofs into instead connecting to the BedrockConnect serverlist) So it should be displaying the featured servers either way in that tab.

If the featured servers in the "Servers" tab show no sign of connection, that would mean your game console is not seeing the BedrockConnect instance hosted locally on your network. You might have a firewall issue, or I would double-check the IP address you have in the DNS record for your DNS server.

KaneSama2k3 commented 1 year ago

I see; I did wonder how it would spoof the entire server-list; is there a way to see connection logs on the BedrockConnect server so I can work out why I get the error 'cannot connect to world'? All I see in the docker log is the below:

image

I'm confident there's not an IP address issue as all of the IP addresses are pointing to the docker host that is running both the BedrockConnect docker instance and the two bedrock Minecraft servers (running on adjacent ports). If I connect to the IP address / port directly on Windows, it works fine, but not through featured servers.

I realize this is no longer really a bug and more user support, but I can't find a useful answer in the FAQ or a better way get support.

Pugmatt commented 1 year ago

The error 'cannot connect to world'/'unable to connect to world' is typically an error that throws when the Minecraft game client cannot make any connection to a game server. It's not specific to BedrockConnect, but a general error by the game client when it's not able to see the server connection at all. Because of this, there wouldn't be any logs on the BedrockConnect end, since the game console isn't able to establish the connection in the first place. Which also makes it a bit tough to help since it could be a variable of issues with the setup outside of BedrockConnect.

The BedrockConnect serverlist server is essentially just a Minecraft server, so if you google the error along with "minecraft bedrock server" you should be able to find resources why this error would be occurring with a Minecraft game server connection. Also why it's not really in the FAQ, as it's not specific to BedrockConnect, but servers and the Minecraft game client in general.

If I connect to the IP address / port directly on Windows, it works fine, but not through featured servers.

It sounds like the connection can serve fine over the same computer (Assuming the game servers and the Windows Minecraft game client are on the same machine?), but an issue with reaching other devices on your local network. For the DNS server, are you setting the DNS record to the local IPv4 Address, such as the one that you would receive by running ipconfig in command prompt?

KaneSama2k3 commented 1 year ago

So I have a Nas running docker with all the instances on it. I then have a pihole for my DNS anyway that I have added the a rule to point to the Nas When I only had one server set up, I was able to connect to it using the featured servers without bedrock connect. When I tried to add a second server I realised I'd have the port problem which is why I tried to set up bedrock connect instead and changed the ports on the Minecraft servers. Are there any other ports I need to expose on the docker instance??

KaneSama2k3 commented 1 year ago

I'm an f***ing idiot. I exposed all the ports, but over tcp not udp..... Sorry for wasting your time

Pugmatt commented 1 year ago

No problem, glad to hear you got it figured out.