Commit Graph
24 Commits
Author SHA1 Message Date
lotodore 55bd832955 Fixed network game termination. 2009-06-04 22:13:52 +00:00
lotodore 8005cc82c6 Fixed server termination crash. However, network games are still not properly terminated. 2009-06-04 20:37:18 +00:00
lotodore d72cdb6873 One sender thread per client. Requires loads of resources. Kind of hacked, because the internal dependencies are very ugly now. Requires loads of testing. A problem might be the last packet sent by the server to a specific client before closing the connection, for example an error message. It might never even reach the client, because the sender thread is terminated before. I have not yet found a good way to fix this. 2009-01-07 21:52:16 +00:00
lotodore 606158c4f0 Preparing new send engine. 2009-01-07 19:37:05 +00:00
lotodore 0ef69297d1 Server support for unsubscribing/resubscribing of lobby messages. Not yet used by the client. 2008-05-11 21:41:30 +00:00
lotodore e107cf98fa Network timeout system also works from within a game now. 2008-03-06 15:27:31 +00:00
lotodore a3aee2b33a Reset network activity timeout only for certain packets. 2008-03-05 18:41:25 +00:00
lotodore 9f0d204f56 First test version with network timeout. Only activity timeout and global timeout, no game admin timeout yet. Set to test values (will disconnect rapidly).
Modified method for init timeout (if session cannot be established) - now using one non-modifiable timer for each session, and an additional timer which is reset whenever session data is received.
2008-03-04 23:47:45 +00:00
lotodore 689b22e0b9 The sender thread has been rewritten with a new algorithm in mind. The sender should not stall any more, and no timeout is required. There are no more send priorities.
The avatar manager no longer serializes access to avatar files.
2007-11-20 23:58:24 +00:00
lotodore a24a93caba Use unix linefeeds for all files. Finally. It's about time. 2007-11-16 15:24:25 +00:00
lotodore ef84c7b81a Fixed kick bug by letting the client reverse iterate over its cached player data when looking for a player name. Added several exceptions. 2007-11-10 22:18:31 +00:00
lotodore fee8450a74 Still trying to fix the SIGPIPE problem. 2007-10-30 21:02:52 +00:00
lotodore cdea81b2ba Fixed sender again, as it did not work when sending errors. 2007-10-28 15:06:57 +00:00
lotodore fa7af40a49 Fixed a very nasty bug concerning the sender thread. SOCKETs were assumed to be kind of unique, but Windows tends to return the socket number of a socket which was just closed as new socket number in accept. This led to very strange behavior when the server was flooded with inits, because the sender thread still had entries for this socket number (which were not removed because they should just fail).
No longer use socket as key in maps, instead, use the session id. Only use the session id in the sender thread, "resolve" it to the socket only in the moment when it is needed. Outstanding requests will be detected to have an invalid session id then.
Also, as side effect, fixed an issue with two callback classes which were named the same and caused unexpected behavior.
2007-10-28 12:53:54 +00:00
lotodore 4c56390dc7 Exceptions are now derived from std::exception and tell source code file and line. 2007-10-18 20:36:49 +00:00
lotodore d11b35a1a7 Transfer small blind and minimum raise amount to client. 2007-10-07 22:49:07 +00:00
lotodore 0d0d8dc810 Synchronize on network game start, so that everyone has received all avatars and player names before the game starts. Store all computer players in a separate list on the server for name retrieval. 2007-10-07 21:23:37 +00:00
lotodore 3c88ba8bbe Game list in Lobby is now shown and updated even after joining or creating a game. Game updates will be sent by the server at all times (even during the game). 2007-09-29 14:05:41 +00:00
lotodore ecab6ed86b Fixed a really nasty receive bug (TCP only). Using SCTP would be so much better... 2007-09-03 16:35:45 +00:00
lotodore d35f4ae997 Player list is now sent in Game List New notification. Not shown in dialog yet. 2007-09-01 22:59:55 +00:00
lotodore 3a2f3255af More fixes. Using player name as base for game name now. Removing games which have no players left. Check collision of all player names on connect (kind of slow, but name needs to be unique). 2007-08-21 17:27:13 +00:00
lotodore 3e4b134faa Yessss. Dedicated server is working, with some effort you can now create and join a game (start console server on local pc, start clients and use menu item "internet game"). Make sure to use different player names, there are no error messages yet.
More than one game cannot be created yet, but this is only due to no name input. Lots of issues still, don't expect this to be stable.
2007-08-21 13:18:18 +00:00
lotodore 9d63df9218 More work on server redesign. Network mode still broken. 2007-08-20 15:30:22 +00:00
lotodore 59b7438376 Work on dedicated server. This svn revision is totally broken, it is part of a complete redesign of the server.
There is a lobby thread for the server, and each game has its own game processing thread and a sender thread. Connections can be accepted from different sources, i.e. TCP/SCTP over IPv4, IPv6, all those work well in parallel.
2007-08-15 13:28:28 +00:00