42 }; |
42 }; |
43 |
43 |
44 DEF_UDP_RECEIVE_COMMAND(Master, PACKET_UDP_MASTER_ACK_REGISTER) |
44 DEF_UDP_RECEIVE_COMMAND(Master, PACKET_UDP_MASTER_ACK_REGISTER) |
45 { |
45 { |
46 _network_advertise_retries = 0; |
46 _network_advertise_retries = 0; |
47 DEBUG(net, 2, "[udp] advertising on master server successfull"); |
47 DEBUG(net, 2, "[udp] advertising on master server successful"); |
48 |
48 |
49 /* We are advertised, but we don't want to! */ |
49 /* We are advertised, but we don't want to! */ |
50 if (!_network_advertise) NetworkUDPRemoveAdvertise(); |
50 if (!_network_advertise) NetworkUDPRemoveAdvertise(); |
51 } |
51 } |
52 |
52 |
488 out_addr.sin_port = htons(port); |
488 out_addr.sin_port = htons(port); |
489 out_addr.sin_addr.s_addr = NetworkResolveHost(host); |
489 out_addr.sin_addr.s_addr = NetworkResolveHost(host); |
490 |
490 |
491 // Clear item in gamelist |
491 // Clear item in gamelist |
492 item = NetworkGameListAddItem(inet_addr(inet_ntoa(out_addr.sin_addr)), ntohs(out_addr.sin_port)); |
492 item = NetworkGameListAddItem(inet_addr(inet_ntoa(out_addr.sin_addr)), ntohs(out_addr.sin_port)); |
493 memset(&item->info, 0, sizeof(item->info)); |
493 if (StrEmpty(item->info.server_name)) { |
494 ttd_strlcpy(item->info.server_name, host, lengthof(item->info.server_name)); |
494 memset(&item->info, 0, sizeof(item->info)); |
495 ttd_strlcpy(item->info.hostname, host, lengthof(item->info.hostname)); |
495 ttd_strlcpy(item->info.server_name, host, lengthof(item->info.server_name)); |
496 item->online = false; |
496 ttd_strlcpy(item->info.hostname, host, lengthof(item->info.hostname)); |
|
497 item->online = false; |
|
498 } |
497 item->manually = manually; |
499 item->manually = manually; |
498 |
500 |
499 // Init the packet |
501 // Init the packet |
500 Packet p(PACKET_UDP_CLIENT_FIND_SERVER); |
502 Packet p(PACKET_UDP_CLIENT_FIND_SERVER); |
501 _udp_client_socket->SendPacket(&p, &out_addr); |
503 _udp_client_socket->SendPacket(&p, &out_addr); |