Commit Graph
51 Commits
Author SHA1 Message Date
lotodore ee00741931 More avatar related utf8 fixes. 2007-12-12 13:37:45 +00:00
lotodore c14bb9470b More utf8 related fixes (some issues remain). 2007-12-11 20:40:39 +00:00
lotodore b97c56cd26 Use alternate dns name if name resolution fails for internet server (6dns.org seems to be unreliable, but is still the only one to provide both ipv4 and ipv6 name resolution for free). 2007-11-30 21:28:38 +00:00
lotodore a24a93caba Use unix linefeeds for all files. Finally. It's about time. 2007-11-16 15:24:25 +00:00
lotodore 5328bf082f Use boost::shared_ptr instead of std::auto_ptr where threads are involved, because std::auto_ptr is not thread safe. 2007-11-14 13:19:28 +00:00
lotodore 864af81193 Don't request own avatar from the server. Only request avatars of other players after joining a game. 2007-11-01 18:36:03 +00:00
lotodore 3ea61381ef Use client game id when kicking players during game. 2007-10-28 19:38:49 +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 8f1e5132d6 Added kick function with player name. 2007-10-27 18:51:53 +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 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 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 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 076d44b0ae Pass on admin state if the admin leaves the network game, so that someone else can start the game. 2007-10-03 13:36:47 +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 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 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 9f6bf5206e The checkbox "fill up with computer players" is now working (protocol has been changed to implement this). Lobby dialog is now also used after joining the game. Leaving game not possible yet. 2007-09-05 19:14:34 +00:00
lotodore 0900d3844b Fixed a bunch of compiler warnings (mingw compiler). 2007-09-04 23:37:32 +00:00
lotodore bd53403752 Major redesign: Using game ids and player ids in gui (associated with tree view items).
Player list of all network games is now dynamically updated in lobby (no polling, server sends events).
2007-09-02 16:36:52 +00:00
lotodore fa8d7b14ec Information about the game is now shown in lobby, when selecting a game.
Some GUI modifications, GUI update is working properly now if the dialog is shown the second time (after clearing items).
List of players for the game is still missing. With the new on-demand model for player id/player name, this is kind of hard to implement.
2007-08-27 09:57:51 +00:00
lotodore 56b24e09eb Major design change in network protocol: Player information is now requested by clients whenever it is needed. The server only sends player ids. The client has a cache with player information. 2007-08-26 22:41:37 +00:00
lotodore 87941c632a Fixed local network game. Now using new config options. Client sends packets deferred to allow initialization. 2007-08-26 12:15:10 +00:00
lotodore 388db7c16a Game List is now dynamically updated. 2007-08-21 19:50:13 +00:00
lotodore 839a4f7112 More steps towards supporting multiple games per server. Player rights still broken, so starting the game is not possible. Games are not yet terminated after all players have left. 2007-08-21 12:34:33 +00:00
lotodore 697f063eb1 First work on client code to support multiple games per server. 2007-08-20 23:25:12 +00:00
lotodore 0da29b3874 The console server can now be fully used for a single game. The first player to join the game is admin, he can start the game and kick players.
However, if the admin player leaves, a new game can only be started if all players have left before (this is a bug, admin status should be passed to another player).
2007-08-02 20:52:13 +00:00
lotodore bd08245c1c (Hopefully) solved the player number problem, when players join and leave an existing game. Numbers are now assigned on game start, not before. Note: Network play is not compatible to the current official version. 2007-07-24 14:55:14 +00:00
lotodore e19f6c7471 Rewrote the code which handles leaving of players during the network game. Some bug is still remaining. 2007-06-15 10:38:41 +00:00
lotodore e6d1b46ba1 SCTP support. 2007-06-04 16:49:19 +00:00
lotodore 13a731e041 Chat messages are now working. 2007-05-25 16:03:12 +00:00
lotodore 5431f0b93a Network: First round seems to work fine now. Pot/sets not yet displayed correctly. 2007-05-24 20:26:23 +00:00
lotodore 2556f43340 First try: Transferring client action. 2007-05-23 22:31:56 +00:00
lotodore 2ce67297ee Tools - random number function is now static. Fixed player number issue with network games (GUI player number needs to be 0), this still requires some work. 2007-05-21 19:00:06 +00:00
lotodore e4039695c0 Protocol changes for big blind / small blind. GUI Player is now stored in Game. 2007-05-20 22:49:07 +00:00
lotodore 4a53678291 Client engine factory needs to be free of configuration file (configuration provided by server). Separated specific start data from general game data. Sending client game object to GUI after creation. Client thread now manages player and game data. 2007-05-20 00:16:29 +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 a85ec4ee5a Players can now join and leave as they wish. Still TODO: Need to fix player number. 2007-05-06 23:27:08 +00:00
lotodore 73a5117066 Configuration is transferred. A new game should be started on client side, but signal/slot is not working yet. Oh well. 2007-04-27 21:35:18 +00:00
lotodore 2f5c8d7da1 Redone network packet abstraction. Prepared for easy access to packet data. 2007-04-08 16:18:20 +00:00
lotodore ef10602d5c Initial handshake and network game start. Works with multiple clients. Not yet stable, because it is not thread-safe. GUI callbacks not complete yet (server dialog not updated). 2007-03-20 02:20:50 +00:00
lotodore ca354dce7f Started to implement server state engine. 2007-03-13 23:27:17 +00:00
lotodore f5289a6fcf Added helper class for receiving data. Modified sender thread to support sending partial packets. Prepared abstractions for server state machine. 2007-03-13 02:23:12 +00:00
lotodore d4855a2ca2 Added simple server. Added session establishment (only test code). Added sender thread. 2007-02-25 23:16:26 +00:00
lotodore 82cf963f0a Connect is now non-blocking. Fixed problem in resolver thread where socket was closed. 2007-02-25 18:22:19 +00:00
lotodore d63588f54b Name resolution can be aborted. Fixed bug in socket_set_port. 2007-02-25 17:08:58 +00:00
lotodore ca6adbb295 Added client callback interface. 2007-02-18 01:16:18 +00:00
lotodore fc25ae5a8b Added GUI as parameter for client thread constructor. Fixed linux header for getaddrinfo. 2007-02-18 00:10:26 +00:00
lotodore 592863ecf5 Client thread test version. Ready to connect. 2007-02-17 23:44:45 +00:00