summaryrefslogtreecommitdiff
path: root/src/network/core/tcp_game.h
AgeCommit message (Collapse)Author
2021-05-15Change: Use gender-neutral pronounsrubidium42
2021-04-28Fix b3003dd1: swap SERVER_GAME_INFO with CLIENT_GAME_INFO (#9129)Patric Stout
The idea is that if you query an older server that does not support this packet yet, the client receives an error. The assumption was that on every "illegal packet" the connection would be closed. This turns out to be false. Now CLIENT_GAME_INFO aligns with the old PACKET_CLIENT_NEWGRFS_CHECKED, which does a pre-check (which fails), and an error is sent back and the connection is closed. This is not a nice solution, but it is the best we got.
2021-04-27Add: ability to retrieve game info from server over TCPPatric Stout
2021-02-27Codechange: [Network] replace _realtime_tick with std::chronoPatric Stout
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-03-24Codechange: Use override keyword in networking classes.peter1138
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.
2013-11-22(svn r26056) -Fix: a number of possibly uninitialised variablesrubidium
2013-01-08(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by ↵planetmaker
Eagle_rainbow)
2012-12-01(svn r24776) -Doc: Typo fixes, additions, and additional dots collected from ↵alberth
various sources (including Eagle_rainbow, MinchinWeb)
2011-12-19(svn r23595) -Codechange: add comma after last enum to get a more uniform ↵rubidium
coding style
2011-05-01(svn r22403) -Document: some more network/core coderubidium
2011-05-01(svn r22400) -Codechange: replace some defines in the tcp/game code so ↵rubidium
doxygen can create better documentation
2011-04-22(svn r22370) -Codechange/fix: keep better accounting of the order in which ↵rubidium
clients joined: * Clients can't be starved from joining the game * Clients will see the amount of clients actually waiting in front of them, instead of the amount of waiting clients in total
2010-12-07(svn r21429) -Fix [FS#3771]: the server didn't check for the paused state ↵rubidium
when allowing to execute commands
2010-12-05(svn r21392) -Change: prepare the network protocol for getting the file size ↵rubidium
later in the download process
2010-11-30(svn r21361) -Change: make sure the client is listening, or rather ↵rubidium
receiving, our frames
2010-11-30(svn r21358) -Codechange: make some network function names conform to coding ↵rubidium
style
2010-11-19(svn r21254) -Change: show a different "lag" message when a client is ↵rubidium
lagging because of connection trouble or lagging because the client is just slow
2010-10-24(svn r21030) -Codechange: move ClientStatus into the network server socket classrubidium
2010-10-24(svn r21029) -Codechange: split the map downloading packet + 3-state enum ↵rubidium
into 3 separate packets
2010-10-24(svn r21025) -Codechange: document PacketGameType's enums and reshuffle them ↵rubidium
slightly to make the whole more readable and easier to understand
2010-10-18(svn r20993) -Codechange: some shuffling of game protocol packet description ↵rubidium
so they're documented in the "same" place as UDP, content and admin packets (dihedral)
2010-10-15(svn r20937) -Codechange: move some variables from client/server to server onlyrubidium
2010-10-15(svn r20935) -Codechange: only let the server side use a pool of connected ↵rubidium
sockets
2010-10-15(svn r20929) -Codechange: make NetworkCloseClient a class methodrubidium
2010-10-15(svn r20924) -Codechange: make the game connection packet handling look more ↵rubidium
like UDP/content packet handling
2010-10-15(svn r20923) -Codechange: prepare creating sub-classes of ↵rubidium
NetworkClientSocket for server and client side
2010-08-19(svn r20553) -Feature: allow rate limiting of incoming commandsrubidium
2010-08-18(svn r20549) -Codechange: centralise the handling of the incoming commands ↵rubidium
(from clients and the server)
2010-08-18(svn r20548) -Codechange: rename some variables giving them slightly more ↵rubidium
meaningful names
2010-08-15(svn r20510) -Codechange: unify packet queue handling and make insertion ↵rubidium
O(1) instead of O(n)
2010-05-13(svn r19809) -Codechange: make some unnamed network related enums/defines ↵rubidium
static const variables
2010-04-22(svn r19693) -Codechange: split STATUS_INACTIVE to two statessmatz
2010-04-19(svn r19678) -Fix (r19607): client status was shown incorrect in the consolerubidium
2010-04-11(svn r19610) -Codechange: rename STATUS_AUTH to STATUS_AUTHORIZEDsmatz
2010-04-11(svn r19607) -Codechange: use different packet types instead of packet subtypessmatz
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-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-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-22(svn r16380) -Codechange: rename pool.hpp to pool_type.hppsmatz
2009-05-22(svn r16378) -Codechange: replace OldPool with simpler Pool. Compilation ↵smatz
time, binary size and run time (with asserts disabled) should be improved
2009-05-22(svn r16377) -Codechange: unify FOR_ALL_* macros, use separate index ↵smatz
variable instead of var->index
2009-05-17(svn r16327) -Codechange: replace IsValidPoolItemID(index) by ↵smatz
PoolItem::IsValidID(index)
2009-05-16(svn r16326) -Codechange: replace GetPoolItemPoolSize() by ↵smatz
PoolItem::GetPoolSize()
2009-05-16(svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index)smatz
2009-01-23(svn r15242) -Feature: allow moving clients between companies/spectators by ↵rubidium
the server and the clients themselves (dihedral)
2009-01-14(svn r15079) -Codechange: split tcp 'backend' and in-game handling like it ↵rubidium
is for UDP.