Commit Graph

251 Commits

Author SHA1 Message Date
rubidium
befa79ba4a (svn r22070) -Fix [FS#4503] (r21399): crashes when disconnecting after requesting the map 2011-02-12 21:30:57 +00:00
rubidium
a19bc28aba (svn r22069) -Fix: delete all savegame packets, not just the first one 2011-02-12 21:29:35 +00:00
rubidium
adfd648031 (svn r22068) -Codechange/Fix: return "connection lost" instead of "okay" when SendPackets closed the connection 2011-02-12 21:09:34 +00:00
rubidium
92d0d6d10b (svn r22067) -Fix: don't hold a mutex when sending packets and thus possibly closing the connection as that wants to acquire the mutex again 2011-02-12 21:07:30 +00:00
rubidium
d8cada7563 (svn r22064) -Fix [FS#4497] (r21399): crash when disconnecting and reconnecting while the server is still saving the savegame 2011-02-11 23:20:35 +00:00
rubidium
05a846a574 (svn r22032) -Codechange: add some asserts to verify we don't allocate too many NetworkClientSockets/Infos 2011-02-08 21:47:10 +00:00
rubidium
7eba2bf4d3 (svn r21890) -Cleanup: remove some unneeded includes 2011-01-22 14:52:20 +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
7dafd04f4b (svn r21727) -Fix [FS#4377]: admin bots weren't always notified of password changes (dihedral) 2011-01-04 22:28:02 +00:00
smatz
810873ff33 (svn r21704) -Fix [FS#4374]: no need to perform any more checks after the connection is closed (Rubidium) 2011-01-03 18:36:51 +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
alberth
b633ffaa1d (svn r21571) -Codechange: Having a break after a return is no good. 2010-12-21 15:23:54 +00:00
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 2010-12-05 22:21:13 +00:00
rubidium
5f25cdbbd5 (svn r21401) -Fix: ofcourse MSVC x64 has something to complain about... 2010-12-05 15:08:41 +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
97434f0e06 (svn r21392) -Change: prepare the network protocol for getting the file size later in the download process 2010-12-05 14:34:19 +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
b6c2216749 (svn r21358) -Codechange: make some network function names conform to coding style 2010-11-30 13:38:46 +00:00
rubidium
c60a850fed (svn r21350) -Fix: some indentation 2010-11-28 22:45:47 +00:00
rubidium
67f74559fc (svn r21334) -Fix [FS#4271]: make (more) sure that the savegame and transferred file are the same file and not different ones 2010-11-26 22:25:02 +00:00
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 2010-11-19 12:33:19 +00:00
rubidium
673b3711b4 (svn r21182) -Fix: possible just-freed memory reads 2010-11-14 12:05:24 +00:00
rubidium
4ea67eff8b (svn r21032) -Codechange: perform some more strict tests on the server side when receiving some packets and don't send some when the clients aren't ready for them 2010-10-24 20:30:53 +00:00
rubidium
f24c91c487 (svn r21030) -Codechange: move ClientStatus into the network server socket class 2010-10-24 20:07:32 +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
073b965829 (svn r21024) -Fix: erroneous tab 2010-10-24 15:02:43 +00:00
rubidium
af9a6b6b42 (svn r21001) -Fix [FS#4170] (r20936): clients were not always notified of a player leaving the game 2010-10-20 11:58:34 +00:00
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) 2010-10-18 20:41:53 +00:00
rubidium
d9602f4ef9 (svn r20973) -Add: chat sending and receiving support for remote admins (dihedral) 2010-10-17 17:40:18 +00:00
rubidium
ae20cb4f3d (svn r20970) -Add: company change notification to remote admins (dihedral) 2010-10-17 17:37:45 +00:00
rubidium
fe44944f32 (svn r20969) -Add: client info change notification to remote admins (dihedral) 2010-10-17 17:37:26 +00:00
rubidium
b4ce7fad7f (svn r20967) -Add: infrastructure to send information to remote admins at specific intervals (dihedral) 2010-10-17 17:36:23 +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
alberth
9f5a96ead2 (svn r20689) -Codechange: Make some global functions used in 1 .cpp file static in that file. 2010-08-29 15:58:43 +00:00
rubidium
a4c6d07edc (svn r20553) -Feature: allow rate limiting of incoming commands 2010-08-19 08:59:36 +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
e8e22c99fd (svn r20548) -Codechange: rename some variables giving them slightly more meaningful names 2010-08-18 21:30:38 +00:00
rubidium
69fa0b36d3 (svn r20542) -Codechange: generalise the setting of "p2" to the ClientID. 2010-08-18 17:06:45 +00:00
rubidium
1c3d42598e (svn r20510) -Codechange: unify packet queue handling and make insertion O(1) instead of O(n) 2010-08-15 23:44:45 +00:00
alberth
ee01ec9136 (svn r20291) -Codechange: Unify break coding style. 2010-08-01 21:19:49 +00:00
frosch
4bd32799f1 (svn r20286) -Codechange: Unify end of doxygen comments. 2010-08-01 19:44:49 +00:00
frosch
ed4f806f1d (svn r20283) -Codechange: Unify start of doygen comments. 2010-08-01 19:22:34 +00:00
terkhen
88ca183191 (svn r20239) -Doc: Give a common name to all fall throughs (FALL THROUGH). 2010-07-29 14:26:28 +00:00
alberth
be6c058424 (svn r20211) -Codechange: Indented code should have curly braces around it. 2010-07-24 10:14:39 +00:00
rubidium
99a11badaf (svn r19996) -Codechange: Add NetworkVehicleType enum. 2010-06-19 16:37:56 +00:00
smatz
80fd67a314 (svn r19818) -Fix [FS#3784](r16004): kicking clients by IP didn't work 2010-05-13 16:00:50 +00:00
rubidium
2555522eab (svn r19809) -Codechange: make some unnamed network related enums/defines static const variables 2010-05-13 09:04:41 +00:00
rubidium
6fa962b867 (svn r19808) -Codechange: NetworkCalculateLag returned an uint, so keep it that way 2010-05-13 08:59:50 +00:00
rubidium
26af87bbaa (svn r19695) -Fix: leaking a file descriptor 2010-04-22 18:34:45 +00:00
smatz
f48f4c8293 (svn r19693) -Codechange: split STATUS_INACTIVE to two states 2010-04-22 17:26:57 +00:00
rubidium
df4d8b3bc9 (svn r19678) -Fix (r19607): client status was shown incorrect in the console 2010-04-19 19:50:56 +00:00
smatz
cd20724d20 (svn r19651) -Fix [FS#3745]: when a company is sold, move connected clients to spectators 2010-04-17 11:39:46 +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
smatz
24a60b77ec (svn r19613) -Fix [FS#3755]: possible invalid read when server moves client to spectators before he finishes joining 2010-04-11 22:06:17 +00:00
smatz
7f3844d3aa (svn r19610) -Codechange: rename STATUS_AUTH to STATUS_AUTHORIZED 2010-04-11 17:32:14 +00:00
smatz
13e5058efe (svn r19608) -Fix: do not kick client if he entered password and the password was cleared meanwhile 2010-04-11 17:23:11 +00:00
smatz
11d6e21c3a (svn r19607) -Codechange: use different packet types instead of packet subtypes 2010-04-11 17:17:12 +00:00
rubidium
d8baa1342c (svn r19589) -Change: add some more useful information to the desync log and unify the formatting 2010-04-08 21:14:49 +00:00
yexo
a9c8dbc0a0 (svn r19255) -Codechange: encapsulate GRFIdentifier in GRFConfig instead of subclassing it 2010-02-25 20:05:31 +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
f608ad7baf (svn r18875) -Codechange: remove some unneeded bits from the network protocol and improve the naming of some variables 2010-01-21 11:17:40 +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
4ecb3eb33c (svn r18804) -Codechange: guard against binaries claiming to be compatible with a future (stable) release of OpenTTD. 2010-01-14 23:06:41 +00:00
rubidium
6a047d2316 (svn r18782) -Codechange: move the content of callback_table.cpp to network_command.cpp; it's only ever used there. 2010-01-11 20:00:14 +00:00
frosch
59f9163e37 (svn r18381) -Codechange: Add RoadVehicle::IsBus() to simplify some stuff. 2009-12-02 17:37:02 +00:00
rubidium
b00a5f1069 (svn r18330) -Cleanup: remove some unneeded includes 2009-11-28 20:35:25 +00:00
rubidium
b0f18a27fb (svn r18054) -Change/Fix [FS#3310]: make pause on join pause during the whole joining (including download) phase 2009-11-12 20:52:14 +00:00
rubidium
2a1cab4d46 (svn r18052) -Codechange/Fix: make the 'pause' chat message when actually executing the pause command. This to prevent showing paused and especially unpaused to be shown when the state doesn't change. Output now mentions whether pause changes keep the game paused and what reasons for pausing there 'currently' are. 2009-11-12 20:33:30 +00:00
frosch
b012a75c47 (svn r17977) -Fix: Busses and trucks are distinguished by cargo class. 2009-11-05 20:26:13 +00:00
smatz
eb72a0095f (svn r17746) -Codechange: 'operator new' doesn't return NULL, NetworkSend_Init() is useless 2009-10-09 11:03:00 +00:00
rubidium
59ec3dc267 (svn r17743) -Fix: (post 0.7) memory leak in server in case handling a packet caused the connection to be closed. Also force-close the connection on invalid packets. 2009-10-07 21:11:56 +00:00
rubidium
df75db67eb (svn r17742) -Codechange: remove unused variable from Recv_Packet 2009-10-07 20:58:14 +00:00
rubidium
d6cded5380 (svn r17693) -Cleanup: remove some unneeded includes 2009-10-04 17:16:41 +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
frosch
ebd916be3d (svn r17532) -Codechange: Rename several Invalidate functions to SetDirty for more consistency and distinguishability. 2009-09-13 19:15:59 +00:00
rubidium
bd9670ea47 (svn r17467) -Change: show the client id in join messages at the server (patch by dihedral) 2009-09-07 21:28:16 +00:00
rubidium
7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00
rubidium
1fe3ad3288 (svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives 2009-08-05 17:59:21 +00:00
smatz
22cf8d8480 (svn r16634) -Codechange: use Company::IsHumanID() instead of IsHumanCompany() 2009-06-23 12:11:35 +00:00
rubidium
9b156c1bd4 (svn r16601) -Fix [FS#2880]: try 2... hopefully better this time 2009-06-19 20:26:18 +00:00
rubidium
a497e3ff4a (svn r16592) -Fix [FS#2880]: 'connection lost' was also shown when the client was 'leaving'. 2009-06-18 15:05:45 +00:00
smatz
bea3fe2b8b (svn r16559) -Codechange: introduce Company::IsValidAiID() and Company::IsValidHumanID(), don't use IsHumanCompany() where possible 2009-06-10 22:05:01 +00:00
alberth
bab70a823d (svn r16491) -Codechange: Added parentheses around bitwise operators for code style. 2009-06-01 11:43:36 +00:00
rubidium
bacbafe510 (svn r16437) -Codechange: remove the hack that for CMD_COMPANY_CTRL the company was changed from spectator to company 0 in the network code. 2009-05-26 21:25:24 +00:00
rubidium
168ae6f7e2 (svn r16422) -Codechange: use const_cast for removing const and warn when const is (accidentally?) removed using C-style casts. 2009-05-24 21:09:00 +00:00
smatz
10d1ef5447 (svn r16379) -Codechange: remove GetNumTowns(), GetNumIndustries() and GetActiveCompanyCount(), use PoolItem::GetNumItems() instead 2009-05-22 15:23:47 +00:00
smatz
871107f529 (svn r16327) -Codechange: replace IsValidPoolItemID(index) by PoolItem::IsValidID(index) 2009-05-17 01:00:56 +00:00
smatz
6221d74644 (svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index) 2009-05-16 23:34:14 +00:00
rubidium
2664f2a2d9 (svn r16242) -Codechange: rework pausing
-Fix [FS#2864]: autopause and manual pausing conflict with eachother
-Fix: new game + pause on new game + autopause make the game not unpause on the first join
2009-05-06 15:06:57 +00:00
yexo
52b95bdc96 (svn r16176) -Fix: forbid joining AI companies via the 'move' and 'join' console commands. 2009-04-26 20:01:14 +00:00