summaryrefslogtreecommitdiff
path: root/network.c
diff options
context:
space:
mode:
authortruelight <truelight@openttd.org>2004-12-22 18:42:56 +0000
committertruelight <truelight@openttd.org>2004-12-22 18:42:56 +0000
commit90b2b2144b9ef9ebd4ec30bf905ef7239e004891 (patch)
treec7a63eb27c2ca1faec5c97597ef87fd47ba0382c /network.c
parented0a42f940db567088d39b583f0b66ed274ee20d (diff)
downloadopenttd-90b2b2144b9ef9ebd4ec30bf905ef7239e004891.tar.xz
(svn r1227) -Add: Ingame Server-list (select Internet, then Find Servers)
-Fix: UDPListener was launched wrongly -Fix: Not all sockets have broadcast enabled anymore -Fix: Server-advertise retries 3 times before giving up
Diffstat (limited to 'network.c')
-rw-r--r--network.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/network.c b/network.c
index 0d1daffe9..c5a9b21d4 100644
--- a/network.c
+++ b/network.c
@@ -747,7 +747,6 @@ static void NetworkClose(void)
static void NetworkInitialize(void)
{
NetworkClientState *cs;
- uint i;
_local_command_queue = NULL;
@@ -772,12 +771,6 @@ static void NetworkInitialize(void)
InitPlayerRandoms();
NetworkUDPInitialize();
-
- // add all servers from the config file to our list
- for (i=0; i != lengthof(_network_host_list); i++) {
- if (_network_host_list[i] == NULL) break;
- NetworkAddServer(_network_host_list[i]);
- }
}
// Query a server to fetch his game-info
@@ -946,7 +939,7 @@ bool NetworkServerStart(void)
// Try to start UDP-server
_network_udp_server = true;
- _network_udp_server = NetworkUDPListen(_network_server_bind_ip, _network_server_port);
+ _network_udp_server = NetworkUDPListen(&_udp_server_socket, _network_server_bind_ip, _network_server_port, false);
_network_server = true;
_networking = true;
@@ -1179,10 +1172,14 @@ static bool NetworkDoClientLoop(void)
// We have to do some UDP checking
void NetworkUDPGameLoop(void)
{
- if (_network_udp_server)
- NetworkUDPReceive();
+ if (_network_udp_server) {
+ NetworkUDPReceive(_udp_server_socket);
+ if (_udp_master_socket != INVALID_SOCKET) {
+ NetworkUDPReceive(_udp_master_socket);
+ }
+ }
else if (_udp_client_socket != INVALID_SOCKET) {
- NetworkUDPReceive();
+ NetworkUDPReceive(_udp_client_socket);
if (_network_udp_broadcast > 0)
_network_udp_broadcast--;
}
@@ -1260,6 +1257,7 @@ void NetworkStartUp(void)
_network_available = true;
_network_dedicated = false;
_network_last_advertise_date = 0;
+ _network_advertise_retries = 0;
/* Load the ip from the openttd.cfg */
_network_server_bind_ip = inet_addr(_network_server_bind_ip_host);