This is caused by the default ping response of servers hosted with Aternos.
I work at Aternos and we've looked into this issue for a few hours now, trying out all kind of different options.
When our Bedrock dedicated servers go offline, we redirect the DNS record to a fallback server, that shows this "Offline" ping with the iron golem emoji, and when the player tries to connect we respond in a kick message with more information, e.g. that the server is currently offline, or already starting etc.
We updated this library ca. a week ago and it now includes a longer response to the offline ping which includes information about the port. After trying all kinds of combinations we discovered that this bug is happening when the ping response includes a different IPv4 port than what the server is actually trying to connect to and what the player entered in the server list.
Our guess is that the client tries to match ping responses to servers in the server list by IP + port and when it can't find a matching one, it just assumes that it's a LAN game. This is not only an annoying bug but a potentially dangerous exploit as it could be used by malicious actors to display anything on the "Friends" tab.
For now, we've switched back to the "old" ping responses, which don't include port information, which seems to temporarily resolve this problem. Unfortunately, in our current setup it's not possible for us to determine which port the client connects to, because we run our fallback server on almost all available ports through iptables and an Nginx proxy as a load balancer.
This is caused by the default ping response of servers hosted with Aternos.
I work at Aternos and we've looked into this issue for a few hours now, trying out all kind of different options.
When our Bedrock dedicated servers go offline, we redirect the DNS record to a fallback server, that shows this "Offline" ping with the iron golem emoji, and when the player tries to connect we respond in a kick message with more information, e.g. that the server is currently offline, or already starting etc.
This is implemented using this library: https://github.com/PrismarineJS/bedrock-protocol
We updated this library ca. a week ago and it now includes a longer response to the offline ping which includes information about the port. After trying all kinds of combinations we discovered that this bug is happening when the ping response includes a different IPv4 port than what the server is actually trying to connect to and what the player entered in the server list.
Our guess is that the client tries to match ping responses to servers in the server list by IP + port and when it can't find a matching one, it just assumes that it's a LAN game. This is not only an annoying bug but a potentially dangerous exploit as it could be used by malicious actors to display anything on the "Friends" tab.
For now, we've switched back to the "old" ping responses, which don't include port information, which seems to temporarily resolve this problem. Unfortunately, in our current setup it's not possible for us to determine which port the client connects to, because we run our fallback server on almost all available ports through iptables and an Nginx proxy as a load balancer.