Hi!
This is an more or less a straight forward hack to make the game grand prix legends work. It will also effect other games from Papyrus.
The game has two problems:
1) It binds more than one time to the same port without doing an SO_REUSEADDR. Acording to UNP it is no big deal to do so - so i just force it.
2) The game sets SO_DONTROUTE on the socket. This works in linux and prevent the user of connecting to games in other networks. Either windows ignores the SO_DONTROUTE or it is not set in native windows or it is ignored. I dont have any opportunity to find out.
Another thing is a registry key the game expexcts:
[System\CurrentControlSet\Services\Class\NetTrans\0000] 1027876728 "IPAddress"="192.168.66.6"
It runs with this setting (also N2002); maybe the dontroute problem could also be solved, if the remaining keys to properly define the TCP/IP config for a NIC in windows are set?!
So my plea: Could some windows network/socket guru point me in a direction to do further investigations?
BTW: i can not imagine this "patch" makes it to the tree - but just to have it said: The patch is under BSD License.
CU!