zerotier / zerotier/ZeroTierOne

LAN game server is not visible on a Linux client

Open
#1,902 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
17.1k
Forks
2k
PR merge metrics
No merged PRs in 30d

Description

Scenario:
A LAN game server, hosted on a Windows client, is always visible in a game lobby on a Windows client when using Zerotier.

A LAN game server, hosted on a Linux or Windows client, is never visible in a game lobby on a Linux client when using Zerotier.

A LAN game server, hosted on a Linux client, can be visible in a game lobby on a Windows client when using Zerotier. This depends on how the discovery mechanic for available servers of the game actually works.

  • What you expect to be happening.
    LAN server should always be listed in the LAN lobby of the game, independent of the clients OS.

  • What is actually happening?
    LAN server is either listed or not visible in the LAN lobby of the game, depending of the clients OS

  • Any steps to reproduce the error.
    When a Linux client does host a server, depending on the way how a game handles LAN server discovery, this server is, if at all, only visible on a Windows client. I've tested 2 different games.

    In game A, presumably doing discovery via "Server does actively broadcast and asks for possible clients to join", a server hosted on a Linux client is not visible on any other client (Windows/Linux).

    In game B, presumably doing discovery via "Client does actively broadcast and asks for any available server", a server hosted on a Linux client is visible on a Windows client.

    It's possible there are more variants of discovery mechanics (like client and server sending something out at the same time and acknowledging each other, but I don't know for sure). In any case, this would mean that, on a Linux client, a sending broadcast (or whatever a game is doing) on its own is not done through the Zerotier interface. Running netstat in all setups, I can confirm that the real eth interface was used in every case. A change of the metric for the Zerotier connection/device via nmcli didn't help.

  • What operating system and ZeroTier version. Please try the latest ZeroTier release.
    Linux Fedora 37 KDE Spin and Windows 10 21H2
    The latest Zerotier release is used on all clients.


A topic started by me can be found here:
https://discuss.zerotier.com/t/lan-game-server-not-visible-through-zerotier-local-lan-works/12166/7

I could "fix" it, after some heavy research, by adding a route in the ip table on the Linux client by hand.
The route consists of the local broadcast address 255.255.255.255 for the Zerotier interface.
Though the consequence of this is that, a game server, hosted on a Linux machine can only be found on one of the two networks. Zerotier or local LAN. Not both.

Question is:
Is this by design? Is this a bug in Zerotier? A bug in Linux? Does it depend of the used Linux distro and how it's handled there?

If not a bug, I recommend to pointing this out in a large way, as I discovered on my research that I'm not the only one with that issue.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the LAN discovery cases described for Fedora 37 and Windows 10, comparing broadcast behavior on the physical and ZeroTier interfaces. Investigate the manually added 255.255.255.255 route and the linked discussion for evidence about the cause. Done means identifying whether ZeroTier or Linux is responsible and defining behavior that supports both local LAN and ZeroTier discovery.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
networking, operating-systems
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.