Commit Graph
51 Commits
Author SHA1 Message Date
Kai Philipp 13ebae6618 bugfix array def 2019-09-09 19:33:20 +02:00
Kai Philipp ada2365a73 included array 2019-09-09 19:28:59 +02:00
Kai Philipp e18e459434 limitrank - draft with return false always 2019-09-09 19:21:15 +02:00
Albert Medela 65e10c71b0 run astyle 2017-08-16 13:55:18 +02:00
lotodore 0ed986399f Switching from asio deadline_timer to asio steady_timer in order to fix #55. This requires the (boost or native) chrono lib. 2017-04-05 14:07:36 +02:00
lotodore 20eb7b94bd Fixing several compiler warnings. 2013-09-16 23:11:16 +02:00
lotodore 8e39432754 Adding websocket server code, so that a gateway is no longer required. Still kind of untested. Requires websocketpp. 2013-09-15 22:54:45 +02:00
lotodore e008ef9ad5 Send lobby etc. notifications also to players in state "spectator waiting". 2013-09-01 18:09:15 +02:00
lotodore 7b305b36e2 Adding feature to leave a game as spectator. 2013-08-11 13:25:26 +02:00
lotodore 7b27213daa Waiting state for spectator mode. 2013-08-10 16:29:15 +02:00
lotodore 00543b7560 More work on spectator mode. 2013-06-16 10:43:13 +02:00
lotodore 45a5c7cef8 License change: OpenSSL exception (for Windows 8 support, because gcrypt does not work on Windows 8). 2012-12-25 15:06:23 +01:00
lotodore aad9e271db Cleaning up the different timeouts and how players can be removed from the game. 2011-12-11 14:54:17 +00:00
lotodore 0ed12e0ac8 Switching license from GPL2 to AGPL3. 2011-07-02 14:38:06 +00:00
lotodore 95305e7ba5 Each network session now has a weak ptr to its game, to prevent looking up the game id all the time. 2011-03-10 21:53:25 +00:00
lotodore 9b9a921867 Removing SessionWrapper to prepare rejoin. This also improves dispatching network packets. 2011-03-10 20:55:46 +00:00
lotodore 63b28d7167 Running astyle. 2011-02-26 10:09:45 +00:00
lotodore 5730cd321d Rewriting network receive functions. This is still work in progress to make it more efficient. 2011-02-19 23:47:24 +00:00
lotodore d3d16b8f4c Rename SendDataManager to SendBuffer, which is a clear and proper name. 2011-02-19 17:55:21 +00:00
lotodore 8279868417 Further simplifying sending network data. This improves performance, because sending sessions no longer need to be looked up in a map. 2011-02-19 13:56:49 +00:00
lotodore c2ba56aba9 Encrypt own cards which are sent at the beginning of the hand - only applicable to registered users. 2010-09-04 11:56:40 +00:00
lotodore 7ae35122b8 Adding more server side gsasl stuff. Client side now broken. 2009-10-18 20:53:58 +00:00
lotodore d861bf07f2 gcc fix. 2009-10-13 21:53:37 +00:00
lotodore 88659e69ce More gsasl changes. 2009-10-13 21:52:10 +00:00
lotodore cfc11f7f89 More work on gsasl authentication. 2009-10-11 12:07:56 +00:00
lotodore 1f7f045d15 Starting gsasl integration to perform challenge response authentication. Note that gsasl 1.3 is required (previous versions are not supported). Authentication is currently broken. 2009-10-11 09:20:17 +00:00
lotodore 1783218e6a Adding error handling and additional checks. 2009-07-22 20:22:14 +00:00
lotodore 87363094d2 Fixing linux compiler error. 2009-06-16 22:35:05 +00:00
lotodore 5f3369432a Rewriting sender yet again to fit the new asio design. Polling for new send data is no longer needed, this also reduces lag. 2009-06-07 08:51:43 +00:00
lotodore ac4c2e9aef Integrating precompiled headers support (might speed up compilation). Currently disabled (in .pro files). 2009-05-07 22:36:51 +00:00
lotodore 60b5d45c53 Adopting changes from asio branch. Currently broken. 2009-05-04 21:11:29 +00:00
lotodore 992dd4b618 Adding backward compatibility for 0.6 clients. They cannot join games with > 7 players. 2009-04-11 12:32:54 +00:00
lotodore f2c3b2b723 Fixed boost asio stuff. Now working but probably some polishing required. 2009-01-25 21:56:43 +00:00
lotodore 29061b661c Fixed one thread per session implementation. Kind of. Still seems to have a handle leak on Windows. However, it does not scale at all and needs to be reverted. It won't even handle 500 players with 500 games on a dual core high end machine. 2009-01-11 20:12:26 +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 0ef69297d1 Server support for unsubscribing/resubscribing of lobby messages. Not yet used by the client. 2008-05-11 21:41:30 +00:00
lotodore df97fcc725 Fixed a problem in the SenderThread, where packet order was not maintained when a session had stalled packets in the send buffer. 2008-04-23 21:19:00 +00:00
lotodore 5beaa816b4 Moving third party sources to third_party folder so that they can be easily distinguished. This should help package maintainers. 2008-03-23 10:36:17 +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 a24a93caba Use unix linefeeds for all files. Finally. It's about time. 2007-11-16 15:24:25 +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 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 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 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 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
lotodore 7540ea17bd Fixed relationship of network session and player data to be consistent with the game engine. Now sending card's values via network. Fixed net packet checks. 2007-05-13 22:25:59 +00:00
lotodore 82b5392ff5 Added new boost timer. Prepared fixes for removing players. 2007-05-05 21:14:23 +00:00
lotodore da2939a7a8 Error messages are shown when joining a network game fails. Still need to handle players which left and kicking players. 2007-04-28 13:07:06 +00:00