lotodore
269eab4774
Fixed lobby update after leaving a game.
2008-05-16 16:46:45 +00:00
lotodore
b5c2399603
Use configuration setting to decide whether to download the server list or directly connect to the server. Accept other server lists. Accept un'zlib'ed server lists. Use IPv6 address from server list if configured.
2008-05-10 15:47:48 +00:00
lotodore
4b04aedc3f
Download only md5 of the server list if the list is still in the cache.
2008-04-29 22:46:27 +00:00
lotodore
7a157b682a
The client now downloads a zipped server list file from pokerth.net. This is parsed and the first server entry is used for now. Error handling still missing. boost::iostreams now required.
2008-04-19 11:48:09 +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
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