Commit Graph
162 Commits
Author SHA1 Message Date
lotodore 82a1be763b Use several sender threads with load balancing for sending the avatars. Remember last failed send operation (not yet a list, just the last) and cancel any more low prio sends to that sender. 2007-11-14 22:11:04 +00:00
lotodore d905359251 Store server statistics data in a log file and reload it when the server is restarted. 2007-11-11 15:58:35 +00:00
lotodore f2b1397cca Linefeeds. 2007-11-10 22:29:00 +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 a3c9390bfe Redesign of avatar stuff. First part. 2007-11-01 00:12:47 +00:00
lotodore 3a0fc4a71e Also disable avatar retrieval on server. Fixed nasty send "wrong return value" (Linux only). 2007-10-31 22:33:52 +00:00
lotodore ec5196c417 Disable avatars on server side until the bug is fixed. 2007-10-31 21:24:02 +00:00
lotodore e5f05c5359 Trying to fix the avatar problem. 2007-10-31 20:23:27 +00:00
lotodore 184eb4a577 Fixed avatar problem where clients were kicked. 2007-10-31 19:21:54 +00:00
lotodore b0524a59ff Fixed two race conditions. 2007-10-30 21:25:10 +00:00
lotodore fee8450a74 Still trying to fix the SIGPIPE problem. 2007-10-30 21:02:52 +00:00
lotodore 3953210ad9 Use larger thread termination timeouts. 2007-10-29 18:49:28 +00:00
lotodore 001ac0272b Additional log messages. 2007-10-29 12:57:29 +00:00
lotodore f821f9c0a4 No longer delay closing of sessions (not needed any more). 2007-10-28 15:21:24 +00:00
lotodore cdea81b2ba Fixed sender again, as it did not work when sending errors. 2007-10-28 15:06:57 +00:00
lotodore 92f03db7a2 Always delay before closing a session. Last part of the fix. 2007-10-28 13:04:05 +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 ae33299758 If a client does not initialize properly within a certain time, remove the network session. 2007-10-26 14:54:57 +00:00
lotodore e0f1193963 Clarified initialization order to prevent possible race condition when initializing a new game. 2007-10-25 21:59:06 +00:00
lotodore d0c34c572b Automatically cleanup cache once a day on the dedicated server. 2007-10-25 21:20:35 +00:00
lotodore 9e180d01f3 Fixed error when transfering avatars. Additional logging. 2007-10-24 23:17:12 +00:00
lotodore b4848532f9 Added logging for server using syslog. 2007-10-23 21:26:07 +00:00
lotodore daa55efab7 Fixed exception issue when player statistics counter reached 0. 2007-10-21 00:17:04 +00:00
lotodore d5453e5416 Fixed decreasing number of players when players leave. 2007-10-20 23:24:40 +00:00
lotodore 4bc57f07d0 Add server statistics which are sent by the server to every client each time they change. 2007-10-20 22:22:11 +00:00
lotodore 6a297effc1 Try to prevent (as much as possible) transfering and, more important, storing, any other files than avatars as png, gif and jpg. The headers of the files are checked whether they are valid for the corresponding format. Files without gif/png/jpg header are never stored on the server, and thus cannot be requested by any client. 2007-10-18 23:00:55 +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 94fbbe9ac5 Disallow space as first char of the player name. 2007-10-15 08:35:56 +00:00
lotodore 4f00333599 Show and update admin player of a game even when in lobby and not in the game. 2007-10-12 14:32:25 +00:00
lotodore 96d1f34f5c Added notification if a new release or beta release of PokerTH is available.
Removed last traces of deprecated blind values.
2007-10-12 13:07:04 +00:00
lotodore 5218e038d4 Don't wait endlessly for player or avatar requests to complete if the other side does not have the required data. Send notifications and react accordingly. 2007-10-11 20:42:44 +00:00
lotodore 253778bf30 Added error handling for networking stuff. Now checking the player action. 2007-10-10 22:21:24 +00:00
lotodore 310fadefdb Keep lobby open in the background during internet games. Show the lobby after the game finished. Re-open the game. Start and stop irc thread together with the client thread. 2007-10-08 20:14:44 +00:00
lotodore dc8f9e0c73 Use player id as request id for avatar requests by the server. 2007-10-08 18:49:13 +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 d16312111f Finally: User supplied avatars are transfered! They are stored on the server and clients request them if needed. Make sure the server has write access to the cache dir to make it work. 2007-10-07 18:46:40 +00:00
lotodore 639df29bdc Server now requests unknown avatar files from client and stores them in the cache dir. Error handling is still missing. Clients not yet request avatar files from the server, this is the next step.
AvatarManager is now thread safe.
Default and cached avatars are handled in different lists to prevent deleting the default avatars when clearing the cache.
2007-10-07 15:52:12 +00:00
lotodore 0d1650e9a9 Fixed a bunch of compiler warnings. 2007-09-30 18:50:46 +00:00
lotodore 5edf38a6cb Fixed some msvc problems with libircclient. Fixed auto start boost timer issue. Fixed irc thread termination (this time for real). Using strdup and free on MSVC causes "heap corruption error" in debug mode - use _strdup instead in libircclient. 2007-09-30 13:15:52 +00:00
lotodore 879cac4bbc Don't use runningPlayerLists in server, as all in players are not in these lists. Fixed game state in lobby for players joining after a game started. 2007-09-29 22:50:57 +00:00
lotodore aaf4106c20 Send notification to clients when a game in the lobby was started. Mark games as running in lobby dialog. 2007-09-29 20:20:01 +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 e8eddd3b1b Show avatars in network games. User defined avatars are not transfered yet, but this is already prepared for integration. 2007-09-09 00:00:19 +00:00
lotodore d0898ed336 Now using openssl on windows instead of ms crypto api. Can't stand all these handles for the crypto api, openssl will be required later anyway. MD5 sums will be used when transfering avatars for efficient caching - avatars are identified by their MD5 sum.
Sorry for making it even harder to compile on windows...
2007-09-08 11:00:46 +00:00
lotodore 9d0edc5eee Major redesign: The game can not be left without disconnecting from the server. This happens if a player is kicked, if he wishes to leave, or for other reasons. Error packets from the server will always cause a disconnect, however.
If joining a game fails, there is a proper failure packet now.
2007-09-06 19:09:05 +00:00
lotodore d789162a2a New version of the boost timer (addon lib). 2007-09-05 00:06:20 +00:00
lotodore 6e7f2c06fc Fixed nasty GUI update bug in game list. Fixed compiler warning. 2007-09-04 17:38:13 +00:00
lotodore 9ed217609b Internet game lobby dialog shows now overview of games and whether they are private. Now showing connection progress before the internet game lobby. 2007-09-04 12:44:11 +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 dde14654f9 Trying to add computer players in dedicated server. Not fully functional yet (names are not shown). 2007-09-02 20:59:16 +00:00