Commit Graph
480 Commits
Author SHA1 Message Date
lotodore 398805a136 Handle the case if there is no winner in a game. 2009-07-13 18:10:11 +00:00
lotodore f7a8cb1419 Adding additional logging. 2009-07-12 21:12:55 +00:00
lotodore efe20f6275 Fixing game termination if an error occurs. 2009-07-12 09:13:49 +00:00
lotodore a2e692d844 Fixing delayed sending of create/join game for network games. 2009-06-20 18:41:03 +00:00
lotodore a284f27750 Fixing state transition when joining a game. Since this is synchronous now, order is important. 2009-06-20 12:14:06 +00:00
lotodore 470bbb5eed Trying to fix strange sender crash. 2009-06-20 11:15:06 +00:00
lotodore 34b251bfad Fixing all in timer issue. 2009-06-20 07:59:33 +00:00
lotodore 4c8248353a Adding error handling so that an error within a game does not terminate the server, only the single game. 2009-06-19 20:48:57 +00:00
lotodore 993c2529c3 IP address bans are now time limited and will be removed automatically (minimum duration: 1 hour). 2009-06-18 21:32:01 +00:00
lotodore 9ed8368700 Moving server ban code to a separate class, in order to prepare time-limited bans. 2009-06-18 20:16:22 +00:00
lotodore eefbd9e79f Some minor polishing. 2009-06-17 21:22:01 +00:00
lotodore 35d0988f78 Removing a buffered delay when the client sends data (no longer necessary with asio). 2009-06-16 22:36:07 +00:00
lotodore 87363094d2 Fixing linux compiler error. 2009-06-16 22:35:05 +00:00
lotodore f508bbdd14 Removing more unused code. 2009-06-16 22:13:12 +00:00
lotodore 31dadd6fa2 Removing old native socket stuff which is now unused (replaced by asio calls). 2009-06-16 22:00:07 +00:00
lotodore d45e41c963 Removing unused parts from the receive helper. 2009-06-16 19:05:42 +00:00
lotodore 22edd63dde Further paranoia changes to prevent timer callbacks from occurring in an uncontrolled state. 2009-06-15 22:34:07 +00:00
lotodore 3d57f65e2b Fixed a bug in the packet handling of the client. This fixes the problem that games are not properly started, and that the player list is not properly updated. 2009-06-15 21:42:57 +00:00
lotodore 1acbeba426 Close the socket before client termination, don't let asio close it later because the callbacks might no longer be valid. 2009-06-15 06:42:52 +00:00
lotodore 4b5d78af81 The client network code was rewritten to use boost::asio. Some optimization is still required, and some code files can now be removed. 2009-06-14 22:07:41 +00:00
lotodore 744e5c81d4 Small fixes. Removing some TODO comments which are no longer valid. 2009-06-13 10:52:12 +00:00
lotodore bf0fc6e9ca Removing unused files. 2009-06-12 16:42:38 +00:00
lotodore 6269b94db1 Properly restarting lobby timers. 2009-06-12 16:04:58 +00:00
lotodore 3b25e18fde Rewriting boost asio timer stuff. (Did I mention I dislike the asio "cancel" semantics?!). TimerManager is no longer used. Should be stable now, but might leak some memory (needs further testing). 2009-06-12 15:48:34 +00:00
lotodore a33d9b7c3b Trying to fix strange timer crashes. 2009-06-09 23:04:04 +00:00
lotodore 938d13e31a Send all available data in one chunk within the send handler. This improves speed. 2009-06-08 21:54:24 +00:00
lotodore c8594e8e7b Canceling asio timers has bad semantics, and causes loads of trouble. Therefore, cancelled timers are simply marked as such, and the asio callback is silently ignored. This fixes several crashes, if players were removed from a game due to an error, because some timers were not cancelled. *sigh* This one took a lot of nerve. 2009-06-07 23:25:13 +00:00
lotodore 5f3369432a Rewriting sender yet again to fit the new asio design. Polling for new send data is no longer needed, this also reduces lag. 2009-06-07 08:51:43 +00:00
lotodore 55bd832955 Fixed network game termination. 2009-06-04 22:13:52 +00:00
lotodore 8005cc82c6 Fixed server termination crash. However, network games are still not properly terminated. 2009-06-04 20:37:18 +00:00
lotodore 47648392fb Use boost::asio timer callbacks instead of self-made ones. There are still some termination issues (terminating a network game will result in a crash). However, it should be quite effective now with a large number of users. 2009-06-01 19:49:16 +00:00
lotodore cee2d787d0 Adding some error handling. Some is still missing. 2009-06-01 10:23:44 +00:00
lotodore 24abedbbab Renaming class ServerGameThread to ServerGame. 2009-05-31 20:14:46 +00:00
lotodore f2bd0c6111 ServerGameThread is no longer a thread. 2009-05-31 19:45:20 +00:00
lotodore b48209a5e4 Termination of games is now working. Error handling is still missing in some cases, and it is very slow if there are a lot of players, but other than that all is fine :-). 2009-05-31 19:11:59 +00:00
lotodore fab224c8ad Fixing some timer problems. Starting an internet game now works again. There are still some issues: Games are never terminated, and error handling is not implemented (errors will terminate the server). 2009-05-31 13:47:10 +00:00
lotodore 59358bff0e Fixed server crash when trying to start a game. Server is still broken, though... 2009-05-31 13:17:02 +00:00
lotodore 2952f0b85d Fixing some compiler warnings and single-threaded game issues. Note: The server currently crashes when trying to start a game. 2009-05-31 11:00:33 +00:00
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 2541f28ff2 Sender thread is no longer a thread (part of boost::asio integration). Warning: Network games are still broken! 2009-05-10 17:53:37 +00:00
lotodore d258bc25d0 Server accept thread is no longer a thread. 2009-05-10 14:57:51 +00:00
lotodore d7ca4d67b5 Fixing compiler errors. Still broken in terms of network functionality. 2009-05-06 21:09:58 +00:00
lotodore 60b5d45c53 Adopting changes from asio branch. Currently broken. 2009-05-04 21:11:29 +00:00
lotodore bdb6e9f22f Enable logging of avatar uploads 2009-04-25 18:33:01 +00:00
doitux 60bb7e95b0 serverlist bugfix 2009-04-12 11:29:37 +00:00
lotodore a4a8154073 Fixing compiler warning. 2009-04-11 13:12:39 +00:00
lotodore 3db5c9218b Current compatibility notification is not working. The server will now send a "game full" notification if a 0.6 player tries to enter a game with > 7 max players. 2009-04-11 12:56:30 +00:00
lotodore 23ffcc8e9c Fixing backward compatibility. 2009-04-11 12:45:56 +00:00
lotodore 992dd4b618 Adding backward compatibility for 0.6 clients. They cannot join games with > 7 players. 2009-04-11 12:32:54 +00:00