summaryrefslogtreecommitdiff
path: root/src/network/network_internal.h
AgeCommit message (Collapse)Author
2021-04-20Remove: "language" field from server/clientPatric Stout
The original idea was that people could find a server they could talk in their native language on. This isn't really used in that way. There are several reasons for removing this: - the client also sends his "language" to the server, but nothing is doing anything with this. - flags are a bad way to represent languages, and over the years we had several (rightfully) complaints about this. - most servers have their language set to "All", and prefix the servername with the language it is about. This is a much more efficient way to do the same. All in all, this feature should go back to the drawing board. Maybe it could work in another form, but this form is not it.
2021-04-12Change: move some things only relevant to UDP from network.cpp to ↵Rubidium
network_udp.cpp
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-03-20Remove: ENABLE_NETWORK switchPatric Stout
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.
2014-04-23(svn r26488) -Codechange: perform the appropriate length checks when getting ↵rubidium
a client name
2014-02-23(svn r26370) -Doc: Desync debugging and command replaying.frosch
2013-11-23(svn r26057) -Fix: a number of possibly uninitialised variablesrubidium
2013-11-22(svn r26056) -Fix: a number of possibly uninitialised variablesrubidium
2012-03-25(svn r24070) -Fix [FS#5098]: the 'last joined' server was not properly ↵rubidium
selected anymore (adf88)
2012-01-22(svn r23843) -Fix: minor issue with replaying ;)rubidium
2012-01-17(svn r23822) -Fix-ish: when replaying make sure companies get created even ↵rubidium
if their creating client doesn't exist during the replay
2011-05-05(svn r22424) -Document: some more bitsrubidium
2011-04-22(svn r22363) -Codechange: NetworkFindClientStateFromClientID -> ↵rubidium
NetworkClientSocket::GetByClientID
2011-01-22(svn r21886) -Codechange: move documentation towards the code to make it ↵rubidium
more likely to be updated [n].
2011-01-19(svn r21853) -Codechange: HashCurrentCompanyPassword is only used by ↵rubidium
servers, so move it to network_server.* (dihedral)
2011-01-03(svn r21701) -Codechange: ConsoleColour = TextColour, so make it that way ↵rubidium
and remove some unneeded casts
2010-10-24(svn r21029) -Codechange: split the map downloading packet + 3-state enum ↵rubidium
into 3 separate packets
2010-10-15(svn r20936) -Codechange: make server side packet sending methods class methodsrubidium
2010-10-15(svn r20935) -Codechange: only let the server side use a pool of connected ↵rubidium
sockets
2010-10-15(svn r20934) -Codechange: move NetworkGetClientName to the server's socketrubidium
2010-10-15(svn r20933) -Codechange: move some more client related methods and such to ↵rubidium
network_client.cpp
2010-10-15(svn r20929) -Codechange: make NetworkCloseClient a class methodrubidium
2010-10-15(svn r20925) -Codechange: make the client send commands have a slightly more ↵rubidium
sensible name
2010-08-28(svn r20674) -Codechange: Remove declared functions that do not exist ↵alberth
(anymore) otherwise.
2010-08-18(svn r20549) -Codechange: centralise the handling of the incoming commands ↵rubidium
(from clients and the server)
2010-04-13(svn r19620) -Fix: desync when a command is received and in the queue while ↵rubidium
a client starts joining, i.e. save the game state. This can happen in two ways: with frame_freq > 1 a command received in a previous frame might not be executed yet or when a command is received in the same frame as the join but before the savegame is made. In both cases the joining client would not get all commands to get in-sync with the server (and the other clients).
2010-04-10(svn r19596) -Fix (r19593): dedicated server always fast forwarding if ↵glx
compiled without DEBUG_DUMP_COMMANDS
2010-04-09(svn r19593) -Codechange: improve loading/executing the desync logsrubidium
2010-02-09(svn r19072) -Fix [FS#3599]: possible read/write after free when the client ↵rubidium
triggered the server to close the connection
2010-01-15(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, ↵rubidium
if a header require a header make it include that header
2009-11-23(svn r18251) -Codechange: make the join status window big font awarerubidium
2009-11-09(svn r18027) -Codechange: make some unneededly global variables static and ↵rubidium
remove some unused variables
2009-10-04(svn r17699) -Codechange: move #ifdef ENABLE_NETWORK till after the ↵rubidium
'generic' includes so compilation without network support doesn't get broken as easily by changes in header files
2009-09-22(svn r17617) -Codechange: make the server side packet handling be more like ↵rubidium
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-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-06-19(svn r16601) -Fix [FS#2880]: try 2... hopefully better this timerubidium
2009-05-14(svn r16305) -Codechange: force-enable extra sync checking when random ↵rubidium
debugging is enable and give the calling location of Chance16(R) instead of the Random call within those functions.
2009-04-10(svn r16014) -Feature(-ish): allow binding to several IPs; ↵rubidium
[network]:server_bind_ip doesn't exist anymore. Add the IPs/hostnames to [server_bind_addresses]
2009-04-07(svn r15969) -Codechange: make the list of broadcast addresses virtually ↵rubidium
unlimited.
2009-04-03(svn r15926) -Codechange: make the broadcast IP list less AF dependent.rubidium
2009-04-03(svn r15925) -Codechange: remove _network_server_bind_ip as it's pretty AF ↵rubidium
dependant.
2009-03-15(svn r15718) -Cleanup: apply some comment coding style on the rest of the ↵rubidium
sources too
2009-02-09(svn r15428) -Codechange: consistently use colour instead of having both ↵rubidium
color and colour.
2009-01-23(svn r15242) -Feature: allow moving clients between companies/spectators by ↵rubidium
the server and the clients themselves (dihedral)
2009-01-20(svn r15163) -Change/Fix: use a non-blocking method to resolve the hostname ↵rubidium
and connect to game servers.
2009-01-20(svn r15157) -Codechange: wrap the hostname/ip and port into a single ↵rubidium
structure so we can pass either one of them and not convert an ip to a string and then back again.
2009-01-16(svn r15104) -Codechange: unify the resolving of the xyz kbytes/megabytes ↵rubidium
strings.
2009-01-14(svn r15079) -Codechange: split tcp 'backend' and in-game handling like it ↵rubidium
is for UDP.
2009-01-10(svn r14949) -Cleanup: pointer coding stylerubidium