dP 
							
						 
					 
					
						
						
							
						
						31cf9e888b 
					 
					
						
						
							
							Add: [Network] external chat messages for remote admins ( #9563 )  
						
						 
						
						
						
						
					 
					
						2021-09-19 23:09:06 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Patric Stout 
							
						 
					 
					
						
						
							
						
						1ef4d3cf19 
					 
					
						
						
							
							Remove: COMPANY_INFO packets and related code ( #9475 )  
						
						 
						
						
						
						
					 
					
						2021-08-14 23:24:02 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium42 
							
						 
					 
					
						
						
							
						
						981cd0197a 
					 
					
						
						
							
							Codechange: [Network] Use std::string for the client name in the network server  
						
						 
						
						
						
						
					 
					
						2021-06-15 06:13:00 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium42 
							
						 
					 
					
						
						
							
						
						667301e3ec 
					 
					
						
						
							
							Codechange: [Network] Make hostname/client IP return strings instead of a C-string  
						
						 
						
						
						
						
					 
					
						2021-06-15 06:13:00 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium42 
							
						 
					 
					
						
						
							
						
						fd95736bac 
					 
					
						
						
							
							Codechange: [Network] Use std::string for server side logic of kicking and banning clients  
						
						 
						
						
						
						
					 
					
						2021-05-30 00:01:49 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium42 
							
						 
					 
					
						
						
							
						
						f0e1cd0129 
					 
					
						
						
							
							Codechange: [Network] Let server rcon result use std::string  
						
						 
						
						
						
						
					 
					
						2021-05-30 00:01:49 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium42 
							
						 
					 
					
						
						
							
						
						fab120ee83 
					 
					
						
						
							
							Codechange: [Network] Let chat communication use std::string  
						
						 
						
						
						
						
					 
					
						2021-05-15 10:20:50 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium42 
							
						 
					 
					
						
						
							
						
						1de5cdeab8 
					 
					
						
						
							
							Codechange: [Network] Use std::string for the internal handling of company passwords  
						
						 
						
						
						
						
					 
					
						2021-05-14 23:22:04 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								William Davis 
							
						 
					 
					
						
						
							
						
						881e1da51d 
					 
					
						
						
							
							Change: Use gender-neutral pronouns in console command messages (and comments) ( #9203 )  
						
						 
						
						
						
						
					 
					
						2021-05-08 11:02:30 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Patric Stout 
							
						 
					 
					
						
						
							
						
						b3003dd163 
					 
					
						
						
							
							Add: ability to retrieve game info from server over TCP  
						
						 
						
						
						
						
					 
					
						2021-04-27 20:18:53 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Rubidium 
							
						 
					 
					
						
						
							
						
						f71fb0f54a 
					 
					
						
						
							
							Codechange: encapsulate reading the size of a Packet  
						
						 
						
						
						
						
					 
					
						2021-04-24 20:42:01 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Patric Stout 
							
						 
					 
					
						
						
							
						
						13889b6554 
					 
					
						
						
							
							Fix: [Network] don't show "server doesn't respond" while in queue  
						
						 
						
						... 
						
						
						
						Send all clients in the queue every game-day a packet that they
are still in the queue. 
						
						
					 
					
						2021-02-28 12:27:04 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Patric Stout 
							
						 
					 
					
						
						
							
						
						8d199b1bbc 
					 
					
						
						
							
							Fix: [Network] send map to next client if current client disconnects  
						
						 
						
						... 
						
						
						
						Also terminate creating of the savegame, as the client is gone,
there really is no need for that anymore. 
						
						
					 
					
						2021-02-28 12:27:04 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Bjarni Thor 
							
						 
					 
					
						
						
							
						
						5880f1479f 
					 
					
						
						
							
							Feature  #7756 : Allow server to supply a reason to kicked/banned clients  
						
						 
						
						... 
						
						
						
						This commit adds the missing feature of allowing the server owner to
    provide a reason for kicking/banning a client, which the client sees in
    a pop-up window after being kicked. The implementation extends the
    network protocol by adding a new network action called
    NETWORK_ACTION_KICKED that is capable of having an error string, unlike
    the other network error packages.  Additionally, the kick function
    broadcasts a message to all clients about the kicked client and the
    reason for the kick. 
						
						
					 
					
						2020-02-04 22:17:39 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								glx 
							
						 
					 
					
						
						
							
						
						41232f18c1 
					 
					
						
						
							
							Codechange: Replace network related FOR_ALL with range-based for loops  
						
						 
						
						
						
						
					 
					
						2019-12-21 20:13:03 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								S. D. Cloudt 
							
						 
					 
					
						
						
							
						
						13cc8a0cee 
					 
					
						
						
							
							Cleanup: Removed SVN  headers  
						
						 
						
						
						
						
					 
					
						2019-11-10 17:59:20 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						05bc2ed7cb 
					 
					
						
						
							
							Codechange: Replace custom thread code with C++11 thread objects.  
						
						 
						
						... 
						
						
						
						We assume a conforming C++11 compiler environment that has a valid <thread>-header.
Failure to run a real thread is handled gracefully. 
						
						
					 
					
						2019-04-06 11:27:39 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter1138 
							
						 
					 
					
						
						
							
						
						07de9d6c3f 
					 
					
						
						
							
							Codechange: Use override keyword in networking classes.  
						
						 
						
						
						
						
					 
					
						2019-03-24 17:38:42 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Patric Stout 
							
						 
					 
					
						
						
							
						
						e3c639a09f 
					 
					
						
						
							
							Remove: ENABLE_NETWORK switch  
						
						 
						
						... 
						
						
						
						This switch has been a pain for years. Often disabling broke
compilation, as no developer compiles OpenTTD without, neither do
any of our official binaries.
Additionaly, it has grown so hugely in our codebase, that it
clearly shows that the current solution was a poor one. 350+
instances of "#ifdef ENABLE_NETWORK" were in the code, of which
only ~30 in the networking code itself. The rest were all around
the code to do the right thing, from GUI to NewGRF.
A more proper solution would be to stub all the functions, and
make sure the rest of the code can simply assume network is
available. This was also partially done, and most variables were
correct if networking was disabled. Despite that, often the #ifdefs
were still used.
With the recent removal of DOS, there is also no platform anymore
which we support where networking isn't working out-of-the-box.
All in all, it is time to remove the ENABLE_NETWORK switch. No
replacement is planned, but if you feel we really need this option,
we welcome any Pull Request which implements this in a way that
doesn't crawl through the code like this diff shows we used to. 
						
						
					 
					
						2019-03-20 19:24:55 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						4a52300838 
					 
					
						
						
							
							(svn r26576) -Fix [FS#6003]: [Network] AIs would not reset certain network state information upon creation of their company  
						
						 
						
						
						
						
					 
					
						2014-05-11 12:52:21 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								frosch 
							
						 
					 
					
						
						
							
						
						ef4c2ce031 
					 
					
						
						
							
							(svn r26485) -Codechange: Replace ttd_strlcpy and ttd_strlcat with strecpy and strecat.  
						
						 
						
						
						
						
					 
					
						2014-04-23 20:44:42 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						18a3a569fb 
					 
					
						
						
							
							(svn r26005) -Fix [FS#5478]: crash when transferring savegame from server to client  
						
						 
						
						
						
						
					 
					
						2013-11-15 22:22:01 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								planetmaker 
							
						 
					 
					
						
						
							
						
						c24374f99c 
					 
					
						
						
							
							(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow)  
						
						 
						
						
						
						
					 
					
						2013-01-08 22:46:42 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						df16ebd730 
					 
					
						
						
							
							(svn r23595) -Codechange: add comma after last enum to get a more uniform coding style  
						
						 
						
						
						
						
					 
					
						2011-12-19 17:48:04 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						c4aa943aaa 
					 
					
						
						
							
							(svn r22424) -Document: some more bits  
						
						 
						
						
						
						
					 
					
						2011-05-05 16:24:48 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						2e572b98de 
					 
					
						
						
							
							(svn r22400) -Codechange: replace some defines in the tcp/game code so doxygen can create better documentation  
						
						 
						
						
						
						
					 
					
						2011-05-01 11:30:03 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						2cae0cd54c 
					 
					
						
						
							
							(svn r22368) -Codechange: move the IP address field from the ClientInfo to ClientSocket  
						
						 
						
						
						
						
					 
					
						2011-04-22 16:03:48 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						c61abe0019 
					 
					
						
						
							
							(svn r22366) -Codechange: make GetClientIP a function of the server's ClientSocket, after all the Socket is the bit that's associated with the network  
						
						 
						
						
						
						
					 
					
						2011-04-22 16:02:21 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						f1d0c1a746 
					 
					
						
						
							
							(svn r22363) -Codechange: NetworkFindClientStateFromClientID -> NetworkClientSocket::GetByClientID  
						
						 
						
						
						
						
					 
					
						2011-04-22 15:54:42 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								smatz 
							
						 
					 
					
						
						
							
						
						756cc6cf65 
					 
					
						
						
							
							(svn r22116) -Codechange: use PoolBase::Clean() at more places  
						
						 
						
						
						
						
					 
					
						2011-02-19 23:05:47 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						795a528328 
					 
					
						
						
							
							(svn r21854) -Codechange: refactor the password setting methods to make it possible to change the password of other companies (on the server)  
						
						 
						
						
						
						
					 
					
						2011-01-19 16:47:40 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						e54a1f6721 
					 
					
						
						
							
							(svn r21853) -Codechange: HashCurrentCompanyPassword is only used by servers, so move it to network_server.* (dihedral)  
						
						 
						
						
						
						
					 
					
						2011-01-19 16:37:06 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						216e48cd07 
					 
					
						
						
							
							(svn r21399) -Change/Feature/Fix [FS#4284]: perform the compression of savegames to send to the client asynchroniously. This will reduce the lag of the other clients to the time it takes to make the memory dump and it will speed up downloading the map as the download starts earlier (possibly with a slightly lower bandwidth due to slow compression). This should also fix the lag message people get when the savegame compression takes more than a few seconds.  
						
						 
						
						
						
						
					 
					
						2010-12-05 14:48:39 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						02b3bc57d5 
					 
					
						
						
							
							(svn r21398) -Change/Feature-ish: when making a savegame to send to a client, don't write it to disk but create the packets immediately  
						
						 
						
						
						
						
					 
					
						2010-12-05 14:45:52 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						fd752ca2b0 
					 
					
						
						
							
							(svn r21363) -Add: support for limiting the amount of (accepted) incoming data  
						
						 
						
						
						
						
					 
					
						2010-11-30 20:01:26 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						31c8ab0ed8 
					 
					
						
						
							
							(svn r21361) -Change: make sure the client is listening, or rather receiving, our frames  
						
						 
						
						
						
						
					 
					
						2010-11-30 14:18:20 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						f24c91c487 
					 
					
						
						
							
							(svn r21030) -Codechange: move ClientStatus into the network server socket class  
						
						 
						
						
						
						
					 
					
						2010-10-24 20:07:32 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						234bee0858 
					 
					
						
						
							
							(svn r20938) -Codechange: make the code for listening on a socket (more) reusable  
						
						 
						
						
						
						
					 
					
						2010-10-15 21:56:06 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						c9cbab14ea 
					 
					
						
						
							
							(svn r20937) -Codechange: move some variables from client/server to server only  
						
						 
						
						
						
						
					 
					
						2010-10-15 20:29:59 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						f712055002 
					 
					
						
						
							
							(svn r20936) -Codechange: make server side packet sending methods class methods  
						
						 
						
						
						
						
					 
					
						2010-10-15 20:25:07 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						9858d699a3 
					 
					
						
						
							
							(svn r20935) -Codechange: only let the server side use a pool of connected sockets  
						
						 
						
						
						
						
					 
					
						2010-10-15 19:58:56 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						bda26d03b5 
					 
					
						
						
							
							(svn r20934) -Codechange: move NetworkGetClientName to the server's socket  
						
						 
						
						
						
						
					 
					
						2010-10-15 19:35:08 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						7ba07d9573 
					 
					
						
						
							
							(svn r20929) -Codechange: make NetworkCloseClient a class method  
						
						 
						
						
						
						
					 
					
						2010-10-15 18:42:52 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						0ca7e4e82e 
					 
					
						
						
							
							(svn r20924) -Codechange: make the game connection packet handling look more like UDP/content packet handling  
						
						 
						
						
						
						
					 
					
						2010-10-15 13:47:37 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						8eb07d097e 
					 
					
						
						
							
							(svn r20923) -Codechange: prepare creating sub-classes of NetworkClientSocket for server and client side  
						
						 
						
						
						
						
					 
					
						2010-10-15 13:22:00 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						82fc28f77f 
					 
					
						
						
							
							(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header  
						
						 
						
						
						
						
					 
					
						2010-01-15 16:41:15 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						7d24e84a81 
					 
					
						
						
							
							(svn r17617) -Codechange: make the server side packet handling be more like the client side's handling, i.e. return the connection status  
						
						 
						
						... 
						
						
						
						-Fix: do not do invalid reads when a packet handling function closed a connection 
						
						
					 
					
						2009-09-22 20:44:14 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						7fbc33dae1 
					 
					
						
						
							
							(svn r17248) -Fix: add GPL license notice where appropriate  
						
						 
						
						
						
						
					 
					
						2009-08-21 20:21:05 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						c0a8d09ca7 
					 
					
						
						
							
							(svn r15428) -Codechange: consistently use colour instead of having both color and colour.  
						
						 
						
						
						
						
					 
					
						2009-02-09 02:57:15 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								rubidium 
							
						 
					 
					
						
						
							
						
						04709f2798 
					 
					
						
						
							
							(svn r15242) -Feature: allow moving clients between companies/spectators by the server and the clients themselves (dihedral)  
						
						 
						
						
						
						
					 
					
						2009-01-23 22:18:06 +00:00