Patric Stout
69118d063f
Change: use TCP for everything except for master-server and initial server scan ( #9130 )
...
This means that pressing Refresh button and adding servers manually
now uses TCP.
The master-server and initial scan are still UDP as they will be
replaced by Game Coordinator; no need to change this now.
If we query a server that is too old, show a proper warning to the
user informing him the server is too old.
2021-04-30 11:34:47 +02:00
rubidium42
a61696d6c5
Change: [Network] Encapsulate logic about the connection string to the network code ( #23 )
2021-04-29 20:12:11 +02:00
Patric Stout
cb2ef1ea4b
Codechange: move all NetworkGameInfo related functions to a single file
...
It currently was a bit scattered over the place. Part of
NetworkGameInfo is also the GRF Identifiers that goes with it.
2021-04-27 20:18:53 +02:00
Patric Stout
05612d60ae
Remove: "language" field from server/client
...
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-20 17:24:38 +02:00
Rubidium
ca6b9ad8b0
Change: move some things only relevant to UDP from network.cpp to network_udp.cpp
2021-04-12 21:10:21 +02:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02: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
160ad31028
(svn r26488) -Codechange: perform the appropriate length checks when getting a client name
2014-04-23 21:19:54 +00:00
frosch
c6ce57e8a7
(svn r26370) -Doc: Desync debugging and command replaying.
2014-02-23 19:32:32 +00:00
rubidium
b3e93d6520
(svn r26057) -Fix: a number of possibly uninitialised variables
2013-11-23 13:12:19 +00:00
rubidium
2e54c8fdfa
(svn r26056) -Fix: a number of possibly uninitialised variables
2013-11-22 21:50:43 +00:00
rubidium
1adb9a5c85
(svn r24070) -Fix [FS#5098]: the 'last joined' server was not properly selected anymore (adf88)
2012-03-25 19:46:59 +00:00
rubidium
b888027ddd
(svn r23843) -Fix: minor issue with replaying ;)
2012-01-22 21:27:15 +00:00
rubidium
a66debfadd
(svn r23822) -Fix-ish: when replaying make sure companies get created even if their creating client doesn't exist during the replay
2012-01-17 21:13:02 +00:00
rubidium
c4aa943aaa
(svn r22424) -Document: some more bits
2011-05-05 16:24:48 +00:00
rubidium
f1d0c1a746
(svn r22363) -Codechange: NetworkFindClientStateFromClientID -> NetworkClientSocket::GetByClientID
2011-04-22 15:54:42 +00:00
rubidium
eb299736c1
(svn r21886) -Codechange: move documentation towards the code to make it more likely to be updated [n].
2011-01-22 09:53:15 +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
b25cf57542
(svn r21701) -Codechange: ConsoleColour = TextColour, so make it that way and remove some unneeded casts
2011-01-03 12:01:41 +00:00
rubidium
2cd67a51ac
(svn r21029) -Codechange: split the map downloading packet + 3-state enum into 3 separate packets
2010-10-24 20:03:33 +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
f555e6d72e
(svn r20933) -Codechange: move some more client related methods and such to network_client.cpp
2010-10-15 19:33:08 +00:00
rubidium
7ba07d9573
(svn r20929) -Codechange: make NetworkCloseClient a class method
2010-10-15 18:42:52 +00:00
rubidium
515edee17c
(svn r20925) -Codechange: make the client send commands have a slightly more sensible name
2010-10-15 14:29:13 +00:00
alberth
be59c90e86
(svn r20674) -Codechange: Remove declared functions that do not exist (anymore) otherwise.
2010-08-28 20:15:45 +00:00
rubidium
b594990071
(svn r20549) -Codechange: centralise the handling of the incoming commands (from clients and the server)
2010-08-18 22:40:17 +00:00
rubidium
088282bcf8
(svn r19620) -Fix: desync when a command is received and in the queue while 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-13 18:55:31 +00:00
glx
42f5e930d5
(svn r19596) -Fix (r19593): dedicated server always fast forwarding if compiled without DEBUG_DUMP_COMMANDS
2010-04-10 02:17:18 +00:00
rubidium
465e3be105
(svn r19593) -Codechange: improve loading/executing the desync logs
2010-04-09 17:08:44 +00:00
rubidium
ab35d95b5a
(svn r19072) -Fix [FS#3599]: possible read/write after free when the client triggered the server to close the connection
2010-02-09 23:49:19 +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
29c65215ed
(svn r18251) -Codechange: make the join status window big font aware
2009-11-23 12:45:01 +00:00
rubidium
c2221885f4
(svn r18027) -Codechange: make some unneededly global variables static and remove some unused variables
2009-11-09 09:59:35 +00:00
rubidium
5ff6053326
(svn r17699) -Codechange: move #ifdef ENABLE_NETWORK till after the 'generic' includes so compilation without network support doesn't get broken as easily by changes in header files
2009-10-04 20:00:56 +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
9b156c1bd4
(svn r16601) -Fix [FS#2880]: try 2... hopefully better this time
2009-06-19 20:26:18 +00:00
rubidium
a5d6e23e9d
(svn r16305) -Codechange: force-enable extra sync checking when random debugging is enable and give the calling location of Chance16(R) instead of the Random call within those functions.
2009-05-14 12:08:24 +00:00
rubidium
7d3db3ee91
(svn r16014) -Feature(-ish): allow binding to several IPs; [network]:server_bind_ip doesn't exist anymore. Add the IPs/hostnames to [server_bind_addresses]
2009-04-10 12:56:55 +00:00
rubidium
82f8badc07
(svn r15969) -Codechange: make the list of broadcast addresses virtually unlimited.
2009-04-07 19:06:36 +00:00
rubidium
11723c40b2
(svn r15926) -Codechange: make the broadcast IP list less AF dependent.
2009-04-03 11:02:41 +00:00
rubidium
47602d7b60
(svn r15925) -Codechange: remove _network_server_bind_ip as it's pretty AF dependant.
2009-04-03 10:29:56 +00:00
rubidium
b25a4f8231
(svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too
2009-03-15 00:32:18 +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
rubidium
28a641066e
(svn r15163) -Change/Fix: use a non-blocking method to resolve the hostname and connect to game servers.
2009-01-20 11:28:18 +00:00
rubidium
5f3772a42c
(svn r15157) -Codechange: wrap the hostname/ip and port into a single structure so we can pass either one of them and not convert an ip to a string and then back again.
2009-01-20 01:32:06 +00:00