@startuml skinparam shadowing false title Before: heartbeat leaves through the home box node "Master\netmaster.net:27950" as master node "Home box\nhome IP" as box node "Front\npublic IP" as front node "ET server\n:27960" as et et --> box : heartbeat box --> master : heartbeat (source = home IP) master --> box : getChallenge\n(to home IP: dropped) front ..> et : players (DNAT + wg + nginx stream) @enduml