Commit Graph
40 Commits
Author SHA1 Message Date
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 f428fb7904 Fixed linefeeds. 2007-11-16 15:01:40 +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 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 c7ab731648 Quick fix of nasty server crash which occurs when kicking from within a game. Real fix of the problem will follow. 2007-11-10 21:23:22 +00:00
lotodore 7fc3ae4adf Fixed compiler warnings. 2007-10-30 17:31:14 +00:00
lotodore 3ab6211009 Fixed compiler warnings. 2007-10-30 17:26:38 +00:00
lotodore cba5ee389e Fixed compiler warnings. 2007-10-30 17:21:11 +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 0a42827290 fixed compiler error 2007-10-29 09:37:14 +00:00
lotodore bc11d42aba Added missing log for exception. 2007-10-29 09:30:34 +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 e0f1193963 Clarified initialization order to prevent possible race condition when initializing a new game. 2007-10-25 21:59:06 +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
floty 06a8fd5730 actual -> current ;) 2007-10-18 17:40:12 +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 6f765d311b Fixed changing admin when admin player leaves. 2007-10-09 22:01:12 +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 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 0d1650e9a9 Fixed a bunch of compiler warnings. 2007-09-30 18:50:46 +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 78bf4820af Changed network code for new player lists. 2007-09-27 14:17:07 +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 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 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 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