Commit Graph

330 Commits

Author SHA1 Message Date
Mark Vejvoda
b6dd5e266b - hardening the masterserver mode:
1.  missing maps, techs and tilesets should no longer crash the server and server will revert to last valid value for each (server must have the data)
2. clients now get truly unique session id's which fixes client admin mode when connecting to masterserver
2011-09-25 05:38:35 +00:00
Mark Vejvoda
4df997d0ca - initial work for a headless server. Currently this code allows you to launch a server with the commandline option: --masterserver-mode
The first client that connects to the server is the administrator and is able to change most settings and launch the game. Still lots of work to do but this is a start.
2011-09-24 07:46:56 +00:00
Mark Vejvoda
7d53df698a - added new in-game popup menu and new ability to switch teams in game (turned off by default in advanced settings) 2011-09-21 06:51:28 +00:00
Mark Vejvoda
0a2c929fea - attempt #1 to support 'keeping' connected clients in the lobby when the map changes and slots would normally disconnect 2011-09-01 21:54:31 +00:00
Mark Vejvoda
bb68106912 - phase 3 of cppcheck verbose fixes 2011-09-01 18:08:56 +00:00
Mark Vejvoda
57afc2d715 - phase 2 of cppcheck verbose fixes 2011-09-01 01:11:23 +00:00
Mark Vejvoda
2c80543889 - attempt to group command execution so units given the same command at the same time will work more smartly (closer units go first and so on) 2011-07-05 04:37:35 +00:00
Mark Vejvoda
af3c25850a - added extra mutex guard when closing connection slots to try to fix parallel close connections from causing errors. 2011-05-20 19:44:33 +00:00
Mark Vejvoda
5d6ac3aa1d - commented out some debug output 2011-05-18 23:12:49 +00:00
Mark Vejvoda
727c7b33d9 - fixed server side detection of dropped socket connection when socket is not reporting a disconnect (we periodically do lag checks) 2011-05-18 21:14:14 +00:00
Mark Vejvoda
93767d8ed8 - bugfix for trying socket connect when nic is down
- removed platform mismatch console printf
2011-05-17 00:21:51 +00:00
Mark Vejvoda
f3c11138db - added a max lag time ever limit of 45 seconds at which point clients are dropped (in case we don't detect a disconnect before this many seconds) 2011-05-16 06:32:06 +00:00
Mark Vejvoda
3f1a0be155 - bugfix for network disconnect detection in game for clients (thanks tomreyn we finally found the bug) 2011-05-16 00:38:43 +00:00
Mark Vejvoda
753ac061b8 - set client socket to be blocking after initial connection to host 2011-05-14 18:06:41 +00:00
Mark Vejvoda
bda831861a Stuff from pabs (debian games) round #1
- remove +x bit on many files that should not have it
- added gplv3 svg logo for completeness in svn
2011-05-03 07:58:59 +00:00
Mark Vejvoda
af1928f98e - some cleanup of networking code 2011-04-30 06:13:23 +00:00
Mark Vejvoda
5d743f38db - changed Internet and Game lobby to display svn rev# instead of compile date/time 2011-04-30 01:05:53 +00:00
Mark Vejvoda
508be10d15 - show crc message prompt if either allow data synch flags are enabled 2011-04-27 22:51:44 +00:00
Mark Vejvoda
ac83b1a898 - attempt to fix socket bug where we incorrectly polled for data using ioctl / ioctlsocket. While we stilkl do some peeks, the bulk of the socket work is now done properly by simply doing recv and thus should prove more stable and reliable as well as perform better. 2011-04-24 04:22:19 +00:00
Mark Vejvoda
4bce94fbbb - make messageboxes less alpha background so they are darker and easier to read (try it ultifd)
- made lag timeout max set to 35 instead of 65 since 35 is bad enough
- added another error check
2011-04-18 06:42:25 +00:00
Mark Vejvoda
1858240879 - inspired by brazil boy. added a temp block feature for server player to temp block players from the current game in the lobby 2011-04-13 04:04:08 +00:00
Mark Vejvoda
9cb1cd7bc8 - bugfixes related to multi-language text messaging 2011-04-05 20:19:25 +00:00
Mark Vejvoda
4a27e75891 - initial work to support multi-language text messages 2011-04-05 18:39:47 +00:00
Mark Vejvoda
e3584c26ef - cancel button only shows is manually enabled in ini
- bugfix for playernames in network status loading screen
2011-03-31 18:30:53 +00:00
Mark Vejvoda
085cb7d543 - added a cancel button when loading a game for the server user only
- updated client side loading screen to show who the server is waiting for
- moved some more strings into the english language file
2011-03-31 18:13:02 +00:00
Mark Vejvoda
3ed636aae2 - fixes for some threading shutdown bugs
- We now display when a screenshot is taken in game showing an ingame console message
- Updated AI to attack closest attackers
- Updated found enemy to be closest attacker
2011-03-28 21:04:47 +00:00
Mark Vejvoda
3b56aa4475 - performance changes... (problem found by titi) most debug calls line are skipped when the debug flag is disabled even BEFORE getting into the handledebug method.
This improves performance VERY MUCH.
2011-03-28 03:54:23 +00:00
Mark Vejvoda
8f2613e216 - fixed changing username in the lobby 2011-03-26 16:51:26 +00:00
Mark Vejvoda
bca617cf18 - bugfix for socket mutex locked when deleting socket
- added faction detail in lobby when CRC's do not match on techtree
2011-03-19 12:04:18 +00:00
Mark Vejvoda
39bf1b986e - added new commandline option to convert folders of g3d models to use specified texture format
- added new utility methods and changed code to use them (like adding trailing slash on paths)
2011-03-13 08:23:43 +00:00
Mark Vejvoda
9eb1f60048 - added option to disable file transfers for tileset and/or techtrees for published (internet) games 2011-03-11 12:14:24 +00:00
Mark Vejvoda
e070cf2cbb - added player status for network based games so players can indicate if they are ready to play or not 2011-03-11 11:11:46 +00:00
Mark Vejvoda
63da3d7af2 - added techtrees for file xfer and CRC checking (might need to turn off etc later but lets test for now) 2011-03-09 23:09:32 +00:00
Mark Vejvoda
9382473294 - attempt to make a few tweaks for more smooth network play 2011-03-05 20:15:28 +00:00
Mark Vejvoda
bd29260fef - Does this fix choppy network play? Please test and let me know 2011-02-21 01:34:31 +00:00
Mark Vejvoda
7a5de218b7 - chasing down out of synch 2011-02-16 04:43:27 +00:00
Mark Vejvoda
8ec58868dc - attempt to improve network performance (use separate mutexes for read / write operations) 2011-02-15 07:49:40 +00:00
Mark Vejvoda
31e722287f - bugfixes for when players disconnect, do not switch observers to AI and only show message once.
- Attempts to debug/improve network performance
2011-02-15 03:32:14 +00:00
Mark Vejvoda
4488a4d388 - make pathfinder caching an ini setting tso its easy to test (disabled by default)
- some code cleanup related to threads and sockets
2011-02-13 03:06:12 +00:00
Mark Vejvoda
cc973f3427 - bugfixes, some related to things pointed out by valgrind, some from opengl research and some for more stable operation 2011-02-12 07:34:32 +00:00
Mark Vejvoda
2d0912ae19 - attempt to fix some network performance issues 2011-02-11 05:36:01 +00:00
Mark Vejvoda
17e2a87890 - fixed one type of freeze in the custom menu
- some small opengl changes
2011-02-08 18:23:41 +00:00
Mark Vejvoda
c58e893047 - attempt to improve issues in the custom menu related to freezing
- modified debug UI display to support multi levels of UI debug info
- added more validations to mutexes
- improved client sockets to properly be setup as non blocking
2011-02-06 07:01:54 +00:00
Mark Vejvoda
0b4eef10c5 - added a very useful way to track mutex usage and performance timings of mutex locking to discover thread lock issues 2011-01-31 23:01:39 +00:00
Mark Vejvoda
9adf8bcc62 - a few more logging entries for future debugging needs 2011-01-28 02:32:55 +00:00
Mark Vejvoda
f0c6c1b0c5 - bugfix for privacy settings invalid value sent to server 2011-01-26 21:18:26 +00:00
Mark Vejvoda
909d36e457 - added privacy setting for country indicator. Add this to glestuser.ini to hide your country when hosting:
PrivacyPlease=true
2011-01-25 22:55:53 +00:00
Mark Vejvoda
e15c5b48e3 - null pointer check when slots are switching in game lobby (thanks tomreyn) 2011-01-25 22:43:39 +00:00
Mark Vejvoda
e06639c78d - updated Internet games to use 2 new fields, country and game status.
for now svn users can edit glestuser.ini and add the following entry (pointing to your folder of course) to see the country flags in game:
CountryTexturePath=/home/softcoder/Code/megaglest/trunk/source/masterserver/flags
2011-01-25 07:41:12 +00:00
Mark Vejvoda
66261ad662 - updated line endings to unix style characters to fix Bug #3085838 2011-01-20 15:56:30 +00:00
Mark Vejvoda
a2b9754895 - changed some limit values related to lag checking to be a little more patient 2011-01-20 08:25:09 +00:00
Mark Vejvoda
fdaf9438d8 - added code so Alt-Enter etc. works during game loading phase 2011-01-20 08:19:14 +00:00
Mark Vejvoda
e6f69a3839 - added code for server to tell clients which port to use for FTP 2011-01-15 18:56:03 +00:00
Mark Vejvoda
469cf14b92 - FINALLY fixed freeze with tomreyn's fuzzer and helped further stabilize mutexes and network messages in threads. 2011-01-13 08:17:18 +00:00
Mark Vejvoda
8c4cdd037c - updated for compiling on BSD
- also bugfix for socket broadcast segfault (partial fix)
2011-01-13 01:46:32 +00:00
Mark Vejvoda
0a01f98c4e - a few tweaks to lag limit / handling values 2011-01-12 07:03:29 +00:00
Mark Vejvoda
26a382bd64 - added queued broadcast message ability and tried to fix tomreyn's fuzzer program issue 2011-01-12 00:16:50 +00:00
Mark Vejvoda
ccbd707ae1 - numerous bugfixes including fixing a slowdown introduced in a previous recent checkin.
- Added Network Text Message queue as this is required in some tricky cases
- added more logging of memory cleanup events
- added memory safe snprintf calls
2011-01-11 22:09:46 +00:00
Mark Vejvoda
227f39ccf9 - bugfixes for connection slot disconnect handling 2011-01-11 20:02:07 +00:00
Mark Vejvoda
1a7716dbdd - bugfix for disconnected clients 2011-01-11 19:16:48 +00:00
Mark Vejvoda
a7f6a592ff - try to better handle socket disconnects 2011-01-11 18:39:18 +00:00
Mark Vejvoda
e319c2cf62 - attempt to fix game freeze when lag causes game pauses 2011-01-11 08:45:58 +00:00
Mark Vejvoda
35925a98a6 - attempt to fix tomreyns socket fuzzer 2011-01-10 21:00:55 +00:00
Mark Vejvoda
52fd9bfb6f - added another check to socket mutex processing to try avoid potential deadlocks 2011-01-10 15:50:16 +00:00
Mark Vejvoda
31be2df752 - ftp bugfix for a segfault discovered 2011-01-09 05:12:48 +00:00
Mark Vejvoda
1c78fca0fb - Added tileset and map CRC check in the network lobby
- numerous bugfixes
2011-01-09 04:49:21 +00:00
Mark Vejvoda
b30fe62528 - to appease the security freaks, ONLY clients that are ALREADY connected in the lobby are able to connect to the built in FTP server now 2011-01-07 06:21:23 +00:00
Mark Vejvoda
02b7787b35 - added an option to disable FTP server but keep ftp client 2011-01-07 05:32:47 +00:00
Mark Vejvoda
a6cd69d9ed - a few bugfixes pointed out by tomreyn.. thanks 2011-01-07 04:32:41 +00:00
Mark Vejvoda
3e809c8c8e - added warnings for gcc for functions that are defined to return a value but they do not
- fixed a few defines that do the above
2011-01-06 23:31:07 +00:00
Mark Vejvoda
2956d2c782 - set FTP file transfers to be enabled by default 2011-01-06 07:17:02 +00:00
Mark Vejvoda
a5a744fcad - updated FTP code to use specific ports for MG and not random FTP ports 2011-01-06 00:52:00 +00:00
Mark Vejvoda
87c1bc5491 - bugfix for socket issue mentioned today in the forums by PT 2011-01-03 02:16:00 +00:00
Mark Vejvoda
5f4d3e9088 - numerous thread bugfixes related to menu stability and ftp server socket usage 2011-01-02 09:33:37 +00:00
Mark Vejvoda
2b1732e27e - overhaul of thread processing, especially in the menus, things now freeze much less and should be more reliable 2011-01-02 06:46:48 +00:00
Mark Vejvoda
896b1c308c - added a backtrace for gcc compiled binary when we get a runtime error.
- added more out of synch checks and better error handling
2011-01-02 00:39:13 +00:00
Mark Vejvoda
48ab8b7b32 - added more socket threaded protection and output curl version if ftp transfers fail 2011-01-01 10:16:25 +00:00
Mark Vejvoda
2cdb8dd354 - initial work for tileset ftp transfers, needs some testing 2011-01-01 00:50:10 +00:00
Mark Vejvoda
c59807c4cf - fixed local chat echo in clientinterface so that messages intended to be shown locally are properly displayed in the console
- added a success / failure message for downloaded map attempts
2010-12-30 20:48:39 +00:00
Mark Vejvoda
973b546b04 - more bugfixes related to ftp and firewall handling 2010-12-30 20:02:30 +00:00
Mark Vejvoda
64446194e7 - more bugfixes related to ftp and firewall handling 2010-12-30 18:51:25 +00:00
Mark Vejvoda
3f0ee7a6cb - some initial changes to try to get ftp working over the Internet with firewalls etc 2010-12-30 15:56:02 +00:00
Mark Vejvoda
4fb1b1092f - added ftp port # as an ini setting and added to UPNP for router auto-config
- added new language string for message box to prompt map file downloads
2010-12-29 20:28:25 +00:00
Mark Vejvoda
9afcbe97b8 - forgot to default ftp code to a default value (off) until ready 2010-12-29 06:03:07 +00:00
Mark Vejvoda
6e88e4be4c - got my plumbers suit on and added the plumbing for FTP file xfers 2010-12-29 01:10:53 +00:00
Mark Vejvoda
b006e72b53 - mutex cleanup in network classes to try to avoid game freeze( hangs) 2010-12-25 22:38:00 +00:00
Mark Vejvoda
da1adab808 - bugfixes for fog of war enable at game end
- Added more safety guards in threaded sockets in case this causes problems when things get very busy in the game during monster battles
2010-12-25 08:14:35 +00:00
Mark Vejvoda
03eaa2c033 numerous important bugfixes:
- observers and end game fog of war enable would most likely cause out of synch, I think its fixed now
- better handling of threaded logging
- cleanup of socket thread processing to ensure all network packets get processed properly and in order
2010-12-24 08:43:09 +00:00
Mark Vejvoda
8534fa59a9 - added more stable way of setting thread run state 2010-12-22 00:15:32 +00:00
Mark Vejvoda
54f739c15d - added guards around masterserver property access so if missing we handle it more gracefully 2010-12-20 16:45:31 +00:00
Mark Vejvoda
f204d4445c - added a new bit style gamesetting flag for future new game settings.
- added ability to see map resources but still keep fog of war (GAE's shroud of darkness), but not activated by UI yet, tested and works
2010-12-19 08:04:25 +00:00
Mark Vejvoda
3e20d3ffe8 - more menu freeze bugfixes 2010-12-18 21:32:54 +00:00
Mark Vejvoda
6a99e2db8e - another attempt to guard socket thread access so avoid menu hang problems 2010-12-18 19:52:47 +00:00
Mark Vejvoda
fd0875639e - attempt to fix menu hangs, don't believe we need any sleeps in this class 2010-12-17 21:39:31 +00:00
Mark Vejvoda
158acea0b5 - attempt to fix problem with hanging sleep 2010-12-14 00:00:56 +00:00
Mark Vejvoda
8d6e33d4ba - added some extra guards in Network manager (throw exception if things are in a bad state) 2010-12-13 23:39:24 +00:00
Mark Vejvoda
90fe87098c - added a wait time of 10 seconds max for some thread loops 2010-12-13 23:13:25 +00:00
Mark Vejvoda
7872e980e1 - updated thread handling slightly in menus to make things more stable 2010-12-05 01:52:38 +00:00
Titus Tscharntke
ede8977aff switched resourcemultiplier to int (using the index now) and added some debug output for testing. 2010-11-25 22:45:08 +00:00
Mark Vejvoda
d89953ee96 - improved performance and bug fixes. 2010-11-09 09:06:52 +00:00