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
4bf9ceff6d
Deny ask kick if the player is not/no longer present.
2008-12-12 22:38:35 +00:00
lotodore
4905f618ad
Allow kicking of computer players.
2008-12-08 23:06:11 +00:00
lotodore
89450a9a32
More work on server side vote kick. Most error handling complete now. Client side still lacking.
2008-12-07 11:04:42 +00:00
lotodore
e0c1662fa5
Work on timeout of kick votes.
2008-12-06 21:10:46 +00:00
lotodore
2652625828
Started error handling for vote kick.
2008-12-06 00:18:36 +00:00
lotodore
c57ea0985b
Trying to send reason why the player leaves the game.
2008-11-25 23:19:34 +00:00
lotodore
b236fa9d62
Vote kick kind of working. Only the forward case - no timeout, no error handling, no display update.
2008-11-25 22:18:17 +00:00
lotodore
1cfe551f19
More work on vote kick. Some network packets are exchanged, but still not functional.
2008-11-16 22:57:11 +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
e85eb879bb
Game admin timeout in lobby (test version).
2008-03-06 20:44:37 +00:00
lotodore
e107cf98fa
Network timeout system also works from within a game now.
2008-03-06 15:27:31 +00:00
lotodore
49162870a1
Use one sender thread for everything, as there may occur conflicts with multiple sender threads. This is a temporary solution, the best solution would be having multiple sender threads, but sending all packets for the same target using the same thread, so that no packets are corrupted.
2007-11-22 19:11:45 +00:00
lotodore
e28220a8ad
Refactored server states - removed all thread local storage objects to ensure that they do not cause resource leaks.
2007-11-21 23:34:25 +00:00
lotodore
a24a93caba
Use unix linefeeds for all files. Finally. It's about time.
2007-11-16 15:24:25 +00:00
lotodore
cdd21250de
Added support for password protected irc channels. Added server IRC mode for admin use, to allow requesting statistics and kicking players.
2007-11-16 00:58:23 +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
70e2d5556f
If a sender thread is stalled while trying to send, time out after 2 seconds. Use infinite timeout when terminating threads.
2007-10-29 22:16:21 +00:00
lotodore
3953210ad9
Use larger thread termination timeouts.
2007-10-29 18:49:28 +00:00
lotodore
219a922c9e
Fixed crash in the server which was caused by not waiting long enough for the termination of threads.
2007-10-29 11:57:17 +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
e0f1193963
Clarified initialization order to prevent possible race condition when initializing a new game.
2007-10-25 21:59:06 +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
9663a225d5
Fixed two bugs concerning lobby player notifications: Game state is now set correctly after a game was finished and reopened, for players which are joining afterwards.
...
Computer players are now properly removed from finished games.
2007-10-11 21:15:04 +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
4e649450b2
The server is now sending the highest set, and the client is no longer calculating it on his own. This should fix some bugs when someone goes all in with the big/small blind.
2007-10-06 14:16:36 +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
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
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
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
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
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
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
95e5ee47cc
Fixed multithreading issues when creating/joining a game. Sessions are now queued.
2007-08-20 22:55:39 +00:00
lotodore
e08f8126aa
Fixed game state for server.
2007-08-20 20:47:09 +00:00
lotodore
67e81d1631
More work on the server code. Still broken.
2007-08-20 20:37:54 +00:00
lotodore
9d63df9218
More work on server redesign. Network mode still broken.
2007-08-20 15:30:22 +00:00