Background: I am currently trying to create a VPN for playing old computer games via LAN (Empire Earth / Warcraft III) and to bypass geo-blocks.
I am using the docker image by kylemanna and my openvpn.conf is the following:
server 10.13.37.0 255.255.255.0 verb 3 key /etc/openvpn/pki/private/<censored>.key ca /etc/openvpn/pki/ca.crt cert /etc/openvpn/pki/issued/<censored>.crt dh /etc/openvpn/pki/dh.pem tls-auth /etc/openvpn/pki/ta.key key-direction 0 keepalive 10 60 persist-key persist-tun proto udp # Rely on Docker to do port mapping, internally always 1194 port 1194 dev tap0 status /tmp/openvpn-status.log user nobody group nogroup client-to-client comp-lzo no ### Route Configurations Below route 192.168.254.0 255.255.255.0 ### Push Configurations Below push "block-outside-dns" push "dhcp-option DNS 188.8.131.52" push "dhcp-option DNS 184.108.40.206" push "comp-lzo no" ### Extra Configurations Below topology subnet
For accessing the internet using the VPN, everything works fine. Also the direct connections between the clients work. But neither Warcraft III nor Empire Earth is displaying any game hosted on the LAN. For Emprie Earth, I can bypass this with a direct connection to a
10.13.17.0/24 IP address in Warcraft III direct connections via Lancraft work like a charme.
I already found the related topics here on serverfault, with this one stating that you need bridging to get the UDP broadcasts to work.
From sniffing packages I know that Empire Earth sends a
UDP package to
255.255.255.255 (broadcast) – these broadcasts also show up on another PC using Wireshark (both are using a different internet connection) – but I really don’t get why the games aren’t heeding these broadcasts. I might missing something obvious. Pings via the Windows
cmd also work.
Here’s an example from the wireshark session: