Commit Graph
34 Commits
Author SHA1 Message Date
lotodore a24a93caba Use unix linefeeds for all files. Finally. It's about time. 2007-11-16 15:24: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 82a1be763b Use several sender threads with load balancing for sending the avatars. Remember last failed send operation (not yet a list, just the last) and cancel any more low prio sends to that sender. 2007-11-14 22:11:04 +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 d905359251 Store server statistics data in a log file and reload it when the server is restarted. 2007-11-11 15:58:35 +00:00
lotodore b0524a59ff Fixed two race conditions. 2007-10-30 21:25:10 +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 f821f9c0a4 No longer delay closing of sessions (not needed any more). 2007-10-28 15:21:24 +00:00
lotodore cdea81b2ba Fixed sender again, as it did not work when sending errors. 2007-10-28 15:06:57 +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 ae33299758 If a client does not initialize properly within a certain time, remove the network session. 2007-10-26 14:54:57 +00:00
lotodore d0c34c572b Automatically cleanup cache once a day on the dedicated server. 2007-10-25 21:20:35 +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 310fadefdb Keep lobby open in the background during internet games. Show the lobby after the game finished. Re-open the game. Start and stop irc thread together with the client thread. 2007-10-08 20:14:44 +00:00
lotodore dc8f9e0c73 Use player id as request id for avatar requests by the server. 2007-10-08 18:49:13 +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 639df29bdc Server now requests unknown avatar files from client and stores them in the cache dir. Error handling is still missing. Clients not yet request avatar files from the server, this is the next step.
AvatarManager is now thread safe.
Default and cached avatars are handled in different lists to prevent deleting the default avatars when clearing the cache.
2007-10-07 15:52:12 +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 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 d789162a2a New version of the boost timer (addon lib). 2007-09-05 00:06:20 +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 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 388db7c16a Game List is now dynamically updated. 2007-08-21 19:50:13 +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 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 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
lotodore e9202b774b Renamed some files for new networking engine. 2007-08-15 13:40:23 +00:00