Commit Graph

376 Commits (8b302761d4ca51f41eaff4097c9afa4f3aec5ec5)

Author SHA1 Message Date
rubidium 99ec3a044a (svn r22403) -Document: some more network/core code 13 years ago
rubidium 536c581923 (svn r22401) -Codechange: replace some defines in the udp code so doxygen can create better documentation 13 years ago
rubidium 2e572b98de (svn r22400) -Codechange: replace some defines in the tcp/game code so doxygen can create better documentation 13 years ago
rubidium d4737e0724 (svn r22399) -Codechange: replace some defines in the tcp/content code so doxygen can create better documentation 13 years ago
rubidium b2efd73773 (svn r22398) -Codechange: remove some defines from the tcp/admin code, so doxygen can create better documentation 13 years ago
rubidium ce91f6b45e (svn r22370) -Codechange/fix: keep better accounting of the order in which 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
13 years ago
rubidium adfd648031 (svn r22068) -Codechange/Fix: return "connection lost" instead of "okay" when SendPackets closed the connection 14 years ago
rubidium 6ff844e7c4 (svn r21887) -Fix-ish: some headers weren't including the headers they depend on 14 years ago
rubidium eb299736c1 (svn r21886) -Codechange: move documentation towards the code to make it more likely to be updated [n]. 14 years ago
smatz 656caf16db (svn r21875) -Codechange: indentation of some comments was wrong 14 years ago
rubidium 6546561360 (svn r21668) -Feature: command logging using the admin interface (dihedral) 14 years ago
alberth 7303f7d199 (svn r21595) -Codechange: Some header files had their name changed, update the ifndef/define/endif lines. 14 years ago
alberth f65a9a5515 (svn r21593) -Codechange: endif comment correcttions. 14 years ago
rubidium 0c23b0b3a4 (svn r21429) -Fix [FS#3771]: the server didn't check for the paused state when allowing to execute commands 14 years ago
rubidium 54f3e04590 (svn r21418) -Fix: core.h needs config.h 14 years ago
rubidium cf61c2f11f (svn r21412) -Codechange: limit company name by amount of characters, not bytes 14 years ago
rubidium 9139a6c858 (svn r21405) -Codechange: prepare sending of company information in the UDP packet for longer company names (in bytes), by truncating the names if needed 14 years ago
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. 14 years ago
rubidium 97434f0e06 (svn r21392) -Change: prepare the network protocol for getting the file size later in the download process 14 years ago
rubidium fd752ca2b0 (svn r21363) -Add: support for limiting the amount of (accepted) incoming data 14 years ago
rubidium 31c8ab0ed8 (svn r21361) -Change: make sure the client is listening, or rather receiving, our frames 14 years ago
rubidium b6c2216749 (svn r21358) -Codechange: make some network function names conform to coding style 14 years ago
rubidium 9c83a8975f (svn r21357) -Codechange: make it possible to resize the packet's buffer 14 years ago
rubidium 374fc308de (svn r21322) -Fix [FS#4268] (r20924): packets were leaked 14 years ago
smatz 3302a520f4 (svn r21302) -Fix (r18994): do not add HTTP connection to list of connections when it fails in the beginning 14 years ago
smatz 752aab7e11 (svn r21285) -Codechange: prevent ICC warning 14 years ago
rubidium 6d09f4a3cb (svn r21254) -Change: show a different "lag" message when a client is lagging because of connection trouble or lagging because the client is just slow 14 years ago
rubidium 673b3711b4 (svn r21182) -Fix: possible just-freed memory reads 14 years ago
rubidium d970eac2f2 (svn r21071) -Fix: ofcourse the svn properties weren't set properly either :( 14 years ago
rubidium dcc4d7a747 (svn r21070) -Fix: file not being picked up by doxygen 14 years ago
rubidium f24c91c487 (svn r21030) -Codechange: move ClientStatus into the network server socket class 14 years ago
rubidium 2cd67a51ac (svn r21029) -Codechange: split the map downloading packet + 3-state enum into 3 separate packets 14 years ago
rubidium 3317f1c01e (svn r21025) -Codechange: document PacketGameType's enums and reshuffle them slightly to make the whole more readable and easier to understand 14 years ago
rubidium d71f590ed6 (svn r20993) -Codechange: some shuffling of game protocol packet description so they're documented in the "same" place as UDP, content and admin packets (dihedral) 14 years ago
rubidium a5d414a734 (svn r20975) -Add: logging of console output for remote admins (dihedral) 14 years ago
rubidium ad12a91cda (svn r20974) -Add: remote console (rcon) for remote admins (dihedral) 14 years ago
rubidium d9602f4ef9 (svn r20973) -Add: chat sending and receiving support for remote admins (dihedral) 14 years ago
rubidium 459514afe4 (svn r20972) -Add: company statistics updates at intervals to remote admins (dihedral) 14 years ago
rubidium ca5d9f7002 (svn r20971) -Add: company economy updates at intervals to remote admins (dihedral) 14 years ago
rubidium ae20cb4f3d (svn r20970) -Add: company change notification to remote admins (dihedral) 14 years ago
rubidium fe44944f32 (svn r20969) -Add: client info change notification to remote admins (dihedral) 14 years ago
rubidium 901c4a56bd (svn r20968) -Add: date notification of remote admins (dihedral) 14 years ago
rubidium b4ce7fad7f (svn r20967) -Add: infrastructure to send information to remote admins at specific intervals (dihedral) 14 years ago
rubidium 33ed4ddbfb (svn r20963) -Add: stubs for a remote administration connection 14 years ago
frosch 98250ad8da (svn r20951) -Codechange: Add SmallMap::Contains() and use it. 14 years ago
rubidium 5ed77b4919 (svn r20939) -Fix: some MSVC warnings 14 years ago
rubidium 234bee0858 (svn r20938) -Codechange: make the code for listening on a socket (more) reusable 14 years ago
rubidium c9cbab14ea (svn r20937) -Codechange: move some variables from client/server to server only 14 years ago
rubidium 9858d699a3 (svn r20935) -Codechange: only let the server side use a pool of connected sockets 14 years ago
rubidium f555e6d72e (svn r20933) -Codechange: move some more client related methods and such to network_client.cpp 14 years ago
rubidium 7ba07d9573 (svn r20929) -Codechange: make NetworkCloseClient a class method 14 years ago
rubidium 0ca7e4e82e (svn r20924) -Codechange: make the game connection packet handling look more like UDP/content packet handling 14 years ago
rubidium 8eb07d097e (svn r20923) -Codechange: prepare creating sub-classes of NetworkClientSocket for server and client side 14 years ago
rubidium 30f2afac9b (svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers 14 years ago
rubidium a4c6d07edc (svn r20553) -Feature: allow rate limiting of incoming commands 14 years ago
rubidium b594990071 (svn r20549) -Codechange: centralise the handling of the incoming commands (from clients and the server) 14 years ago
rubidium e8e22c99fd (svn r20548) -Codechange: rename some variables giving them slightly more meaningful names 14 years ago
rubidium 926594b599 (svn r20547) -Change: the way order backups are performed. Now restoring an order doesn't require up to 765 commands. 14 years ago
rubidium 1c3d42598e (svn r20510) -Codechange: unify packet queue handling and make insertion O(1) instead of O(n) 14 years ago
alberth 35fec79700 (svn r20499) -Doc: Spelling fixes, and one doxygen comment addition. 14 years ago
terkhen 80c43f52e8 (svn r20289) -Codechange: Unify fall through coding style. 14 years ago
frosch 4bd32799f1 (svn r20286) -Codechange: Unify end of doxygen comments. 14 years ago
frosch ed4f806f1d (svn r20283) -Codechange: Unify start of doygen comments. 14 years ago
alberth a825b4fa5f (svn r20266) -Doc: Mostly typo fixes, a few doxygen-related improvements. 14 years ago
terkhen 88ca183191 (svn r20239) -Doc: Give a common name to all fall throughs (FALL THROUGH). 14 years ago
frosch 4ce5c6d93d (svn r20089) -Fix [FS#3932]: Access of already freed memory, esp. due to hidden destructor call from Swap(). 14 years ago
michi_cc 22357624ff (svn r20030) -Fix: MSVC 2010 defines more POSIX error constants that we define as well. 14 years ago
rubidium 2555522eab (svn r19809) -Codechange: make some unnamed network related enums/defines static const variables 14 years ago
rubidium a8fa3dd3ce (svn r19781) -Fix [FS#3809]: compilation on NetBSD failed (Krille) 14 years ago
smatz f48f4c8293 (svn r19693) -Codechange: split STATUS_INACTIVE to two states 14 years ago
rubidium df4d8b3bc9 (svn r19678) -Fix (r19607): client status was shown incorrect in the console 14 years ago
smatz 0ef33548c2 (svn r19614) -Codechange: "it's" => "its" where appropriate 14 years ago
smatz 7f3844d3aa (svn r19610) -Codechange: rename STATUS_AUTH to STATUS_AUTHORIZED 14 years ago
smatz 11d6e21c3a (svn r19607) -Codechange: use different packet types instead of packet subtypes 14 years ago
smatz 837913aa5a (svn r19508) -Codechange: remove semicolon after DEFINE_UNAVAILABLE_CONTENT_RECEIVE_COMMAND and DEFINE_UNAVAILABLE_UDP_RECEIVE_COMMAND 14 years ago
rubidium 6b35de215c (svn r19385) -Fix [FS#3684]: [IPv6] Netmask calculations were wrong if cidr >= 32. 15 years ago
yexo 7ff55502f0 (svn r19256) -Codechange: use a constructor/destructor for GRFConfig to make sure all members are properly initialized 15 years ago
yexo a9c8dbc0a0 (svn r19255) -Codechange: encapsulate GRFIdentifier in GRFConfig instead of subclassing it 15 years ago
rubidium 7a73a7490d (svn r19090) -Codechange: some comment coding style fixes 15 years ago
rubidium ab35d95b5a (svn r19072) -Fix [FS#3599]: possible read/write after free when the client triggered the server to close the connection 15 years ago
rubidium f47f3a4157 (svn r19054) -Fix [FS#3598]: when banning yourself via rcon do not send the 'command response' to the client as the connection has already been terminated 15 years ago
rubidium 228da0ccd3 (svn r19001) -Fix: some GCC compile warnings 15 years ago
rubidium d818c7c7b1 (svn r18996) -Fix (r18993, r18994): MSVC 64 bits had somethings to complain about 15 years ago
rubidium 2db44fc18e (svn r18994) -Change: content mirroring support (based on work by TrueBrain). 15 years ago
rubidium f608ad7baf (svn r18875) -Codechange: remove some unneeded bits from the network protocol and improve the naming of some variables 15 years ago
rubidium 15adbad2f4 (svn r18834) -Fix [FS#3538]: compilation failed on OpenBSD (matze) 15 years ago
rubidium 82fc28f77f (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 15 years ago
rubidium f89d6bea0e (svn r18801) -Fix: in some cases error messages weren't properly sent to the client before closing the connection. As a result the client would say 'connection lost' when the cause was something completely different. 15 years ago
rubidium 83c8c562bb (svn r18800) -Fix: in some cases with invalid packets one can crash recent trunk and 1.0.0 betas; 0.7.5 and before can't be crashed though. 15 years ago
rubidium a8d6d18b22 (svn r18608) -Change: add the concept of music sets 15 years ago
rubidium b00a5f1069 (svn r18330) -Cleanup: remove some unneeded includes 15 years ago
rubidium d79439fb3c (svn r17963) -Codechange: some documentation style 15 years ago
smatz eb72a0095f (svn r17746) -Codechange: 'operator new' doesn't return NULL, NetworkSend_Init() is useless 15 years ago
rubidium df75db67eb (svn r17742) -Codechange: remove unused variable from Recv_Packet 15 years ago
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 15 years ago
rubidium d6cded5380 (svn r17693) -Cleanup: remove some unneeded includes 15 years ago
smatz 32cbe57178 (svn r17692) -Codechange: minor coding style fixes 15 years ago
rubidium 01ab1c6001 (svn r17606) -Add: initial support for Haiku; a dedicated server with zlib and libpng compiles and links (for me). Something's fishy with the network so it doesn't actually work (yet) 15 years ago
glx 8a367f1ff4 (svn r17350) -Fix (r17336): broken compilation with mingw 15 years ago
rubidium 07d2af338e (svn r17339) -Codechange: move thread related files to their own directory (like done for video, music, sound, etc) 15 years ago
rubidium 7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 15 years ago
smatz 2d3ddab7ca (svn r17169) -Codechange: apply coding style to some for statements 15 years ago
smatz c5533ae470 (svn r17168) -Codechange: apply coding style to if and while statements 15 years ago
rubidium 9ee2a66c86 (svn r17139) -Change: add the concept of sound sets 15 years ago
rubidium 1fe3ad3288 (svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives 15 years ago
rubidium ae71df349e (svn r17015) -Fix [FS#3075]: infinite recursion in content dependency checking 15 years ago
rubidium 9b156c1bd4 (svn r16601) -Fix [FS#2880]: try 2... hopefully better this time 15 years ago
rubidium 4cd94e17a1 (svn r16574) -Codechange: reorder stuff in NetworkGameInfo so compilers waste less bytes aligning stuff and fix the comment of the structs. 15 years ago
alberth bab70a823d (svn r16491) -Codechange: Added parentheses around bitwise operators for code style. 15 years ago
smatz 56a7b70591 (svn r16380) -Codechange: rename pool.hpp to pool_type.hpp 15 years ago
smatz 62a7948af0 (svn r16378) -Codechange: replace OldPool with simpler Pool. Compilation time, binary size and run time (with asserts disabled) should be improved 15 years ago
smatz 04723b240e (svn r16377) -Codechange: unify FOR_ALL_* macros, use separate index variable instead of var->index 15 years ago
smatz 871107f529 (svn r16327) -Codechange: replace IsValidPoolItemID(index) by PoolItem::IsValidID(index) 15 years ago
smatz ed1e54bd84 (svn r16326) -Codechange: replace GetPoolItemPoolSize() by PoolItem::GetPoolSize() 15 years ago
smatz 6221d74644 (svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index) 15 years ago
smatz d4971a22d0 (svn r16265) -Fix (r16238): wrong format string for debug output 15 years ago
rubidium 951b9e7615 (svn r16238) -Change: improve/clarify some network related debug "error" messages by adding more information to them. Also give some clues on how to fix certain issues (like failing advertising). 15 years ago
yexo c8ce3f7ef0 (svn r16175) -Fix: Disable the join button in the multiplayer lobby for AI companies, since joining an AI company is not possible. 15 years ago
rubidium 5db32d1dc5 (svn r16134) -Change: do not add duplicates to the broadcast list 15 years ago
rubidium d04ebf2fa5 (svn r16065) -Fix: don't readd (and resolve) the last joined server each time the window gets repainted 15 years ago
glx 532fca65ef (svn r16050) -Fix (r15933): little typo causing OTTDfreeaddrinfo to use the fallback even when freeaddrinfo is available 15 years ago
rubidium 47e2901e18 (svn r16034) -Fix: compile warnings generated by 64 bits MSVC. 15 years ago
rubidium 460fbc7c92 (svn r16007) -Fix (r16004): when we want to bind to both IPv4 and IPv6, make the master socket do that too; too bad getaddrinfo can't handle binding to any address on any port at the same time :( 15 years ago
rubidium 28bce241fd (svn r16005) -Fix: assertion when there is no last joined server; when you've got an unresolved address, the hostname cannot be resolved either so return it as-is. 15 years ago
rubidium 8477e92386 (svn r16004) -Fix (r16000): explicitly binding to an IPv4 socket would try to register an IPv6 address (only if it could ofcourse) 15 years ago
rubidium c0f9af5607 (svn r16000) -Feature: IPv6 support 15 years ago
rubidium 882e495f5c (svn r15993) -Codechange: clean up/generalise the handling of the server list 15 years ago
rubidium 0f0cc67d62 (svn r15990) -Codechange: provide a thread safe variant of GetAddressAsString. 15 years ago
rubidium 080095ade5 (svn r15984) -Codechange: prepare the UDP receiver to process multiple types of returned server lists. 15 years ago
rubidium cd8da0d69e (svn r15982) -Codechange: use GetAddressAsString to get the name instead of passing the hostname and the IP into a string. 15 years ago
rubidium 9d6edae94d (svn r15981) -Fix: don't print the address family when writing the IP+port to the config file. 15 years ago
rubidium 18146572b0 (svn r15980) -Codechange: don't try to bind to the same socket twice; it's quite pointless. 15 years ago
rubidium c2152fa31f (svn r15979) -Codechange: tweak the debug/warning levels of some of the messages when binding 15 years ago
rubidium a5a424ce28 (svn r15978) -Codechange: support parsing [] enclosed IPv6 addresses. 15 years ago
rubidium 20e82c46d3 (svn r15976) -Codechange: make it a bit more clear for what (type of) address binding fails 15 years ago
rubidium 1eb4aa971e (svn r15975) -Codechange: register each of the IPs we have bound to to the masterserver 15 years ago
glx d466fa9672 (svn r15974) -Fix (r15969): win32 compilation was broken (again) 15 years ago
rubidium c0f8214218 (svn r15972) -Codechange: remove unneeded parameter 15 years ago
rubidium 2a6e9288fd (svn r15971) -Codechange: make it possible for UDP socket handlers to bind to multiple sockets. 15 years ago
rubidium 6db7f15b3a (svn r15970) -Codechange: make it possible to resolve a single address into multiple sockets. 15 years ago
rubidium 82f8badc07 (svn r15969) -Codechange: make the list of broadcast addresses virtually unlimited. 15 years ago
rubidium fdddfd6269 (svn r15968) -Codechange: do not allocate a buffer for NetworkAddresses so passing it around is easier. 15 years ago
rubidium 22d9306889 (svn r15967) -Codechange: do not access NetworkSocketHandler::has_quit directly 15 years ago
rubidium 0678cb561d (svn r15961) -Codechange: prepare the 'client' side for receiving 'session keys' from the masterserver so servers can register with multiple IPs as the same server. 15 years ago
rubidium edfc2e536e (svn r15954) -Fix: comparing addresses kinda fails (sometimes) causing duplicates in the game list 15 years ago
rubidium 616cac0c54 (svn r15951) -Fix (r15946) [FS#2803]: ofcourse a couple of OSes/compilers do not provide a nice 'interface', so we have to do it the ugly way. 15 years ago
glx 5eed35ef54 (svn r15950) -Fix (r15946): mingw compilation 15 years ago
rubidium a779611665 (svn r15948) -Fix: resolve network addresses before comparing them 15 years ago
rubidium 2fd9f0fffa (svn r15946) -Codechange: move netmask matching to NetworkAddress and add some support for IPv6 netmask matching. 15 years ago
glx e460d3f4d0 (svn r15945) -Fix (r15944): win32 compilation 15 years ago