Commit Graph
62 Commits
Author SHA1 Message Date
lotodore 08ed5e0496 Almost complete rewrite of server game state due to porting the network engine to asio. Server is still broken in a lot of ways. A game is no longer run in a separate thread (but this change is still incomplete). 2009-05-30 22:20:40 +00:00
lotodore 8ab2fed1a2 More restructuring. Still broken. 2009-05-10 22:21:20 +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 606158c4f0 Preparing new send engine. 2009-01-07 19:37:05 +00:00
lotodore 1548598944 Fix access violation when someone votes after the vote timeout. 2008-12-23 18:17:14 +00:00
lotodore 6fa4f6585b Disabled kicking computer players, which causes the current crashes of the server. 2008-12-23 01:34:32 +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 c90b46e5f6 Count only number of human players for number of votes to kick. 2008-12-08 22:17:14 +00:00
lotodore 80883dd409 Update number of votes on client. 2008-12-07 12:22:35 +00:00
lotodore bd55b69817 Client side vote kick changes - tab closes now. Server side fixes. 2008-12-07 11:48:01 +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 91b62abf7b Fixed nasty synchronization bug when players leave during start of a game. Fixed netpacket error which occured occasionally during game start when only one player was left, the last player will be removed from the game now, but stay in the lobby. Added new stat to IRC bot. 2008-04-02 21:41:39 +00:00
lotodore f6f68cab43 Additional verbose logging. 2008-03-26 22:37:58 +00:00
lotodore b5023351ee Fixed strings. 2008-03-20 00:24:13 +00:00
lotodore c8b38d0e57 More verbose logging for the server. 2008-03-19 23:39:59 +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 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