[Bug 35831] Age of Mythology The Titans - Multiplayer with more than 2 players do not work

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Mar 25 07:57:42 CDT 2015


https://bugs.winehq.org/show_bug.cgi?id=35831

--- Comment #23 from Bruno Jesus <00cpxxx at gmail.com> ---
Currently there are no news about fixing this bug, it's practically impossible
for a single developer to reproduce since it requires 3 game licences installed
on 3 computers (VM may not work due to graphics driver).

I spent some more time reading the logs after reading comment 21. It looks like
the 3 IP involved are:

192.168.13.11
192.168.13.12
192.168.13.14

The game tries to bind UDP sockets to the specific interfaces and read the
address back before sending to clients, so we can see (in no particular
computer order):

Computer #1
trace:winsock:WS_bind socket 01dc, ptr 0x5320108 { family AF_INET, address
192.168.13.12, port 2300 }, length 16
trace:winsock:interface_bind Socket 01dc bound to interface index 2
trace:winsock:WS_getsockname socket: 01dc, ptr 0x5320108, len 00000010
trace:winsock:WS_getsockname => { family AF_INET, address 0.0.0.0, port 2300 }

Computer #2
trace:winsock:WS_bind socket 01b8, ptr 0x47a9108 { family AF_INET, address
192.168.13.14, port 2300 }, length 16
trace:winsock:interface_bind Socket 01b8 bound to interface index 2
trace:winsock:WS_getsockname socket: 01b8, ptr 0x47a9108, len 00000010
trace:winsock:WS_getsockname => { family AF_INET, address 0.0.0.0, port 2300 }

Computer #3
trace:winsock:WS_bind socket 01d8, ptr 0x556c158 { family AF_INET, address
192.168.13.11, port 2300 }, length 16
trace:winsock:interface_bind Socket 01d8 bound to interface index 2
trace:winsock:WS_getsockname socket: 01d8, ptr 0x556c158, len 00000010
trace:winsock:WS_getsockname => { family AF_INET, address 0.0.0.0, port 2300 }

None of the computers is able to read the correct address back, as far as I
remember that is by design inside our code.

But, is that really important? Why does it work for 2 computers when the very
same operation is done:

trace:winsock:WS_bind socket 01b4, ptr 0x5b0c478 { family AF_INET, address
192.168.13.12, port 2300 }, length 16
trace:winsock:interface_bind Socket 01b4 bound to interface index 2
trace:winsock:WS_getsockname socket: 01b4, ptr 0x5b0c478, len 00000010
trace:winsock:WS_getsockname => { family AF_INET, address 0.0.0.0, port 2300 }

Maybe the game uses different code paths for 2 or more players?

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list