viruseb wrote:In multi openttd checks a server with an udp packet and then connects to it with a tcp connection. The problem is if we want to tunnel the connection trought an ssh forwarding (and bypass my school firewall

we can't cause ssh doesn't forward udp packets. What about a direct connection button who doesn't check the availability of the server ?
I've made a small hack in the source code just to remove the check of the availability of the server (by disabling the first if in NetworkGameWindowWndProc function in network_gui.c) so that the "join game" button is always enabled. Now I can connect to the server I want without relying on udp packet. The problem is that the game crashs when the server doesn't exist cause I guess there is no timeout on the tcp connection. So a button who directly connects to a server (in case of a ssh forwarding localhost) with a timeout will be perfect. This lead to an another question : Can we implement a timeout in the connect function ?
The connect-timeout it set to the 90 seconds, I believe. So that is pretty long

Mostly that is because nobody ever had problems with it... you can't connect if the server is offline because of the UDP check
Anyway, you can always bypass the UDP-stuff by launching openttd with: '-n <ip>#<player>'.
The reason that we need this way, and can't bypass the UDP check ingame, is because of the TCP-connect-timeout. Because of the (bad) infrastructure of openttd, there is no good way to let the game wait in non-blocking for a connect, mostly because a user can decide to do other things and... f*** stuff up

Anyway... if anyone has the time, he should try to make it nice and working

Would be lovely!