Commit Graph

149 Commits

Author SHA1 Message Date
Mark Vejvoda
cf1c7c1ca2 - tighten up socket error checking during peek for data on connection check 2012-02-11 22:52:52 +00:00
Mark Vejvoda
4ad42518c0 - updated for better handling of streflop on different platforms
- attempt for bugfix on windows when socket send buffer is continuously full
2012-02-10 06:21:06 +00:00
Mark Vejvoda
fbf7610420 - port changes from 3.6.0.3 to trunk for windows hosting patch 2012-01-20 04:15:13 +00:00
Mark Vejvoda
093b1efb2c - added a few more socket guards around invalid socket value 2012-01-06 21:21:52 +00:00
Mark Vejvoda
88ad6d3723 - added a guard on the socket so we only shutdown if not already done so by possibly another thread. 2012-01-06 21:18:36 +00:00
Mark Vejvoda
835c886705 - few tweaks to get things compiling under mingw 2011-12-25 03:09:39 +00:00
Mark Vejvoda
496b847999 - bugfixes to build on debians multi-platform build system 2011-12-23 04:38:42 +00:00
Mark Vejvoda
66f44ff7c4 - more cleanup from cppcheck (using eclipse plugin now) 2011-12-02 17:46:02 +00:00
Mark Vejvoda
d33e1174a5 - bugfixes related to cppcheck report
- bugfixes found using valgrind (memory leaks)
2011-12-02 16:07:59 +00:00
Mark Vejvoda
7cf9c189b2 - disallow non compressed tileset downloads when client IP not on same subnet as host
- bugfix for LAN server broadcasting
- bugfix for empty message on player disconnect (now properly shows that player switched to AI mode)
2011-11-29 05:07:18 +00:00
Mark Vejvoda
03a7a72ef5 revert network code back to beta1 code 2011-11-27 05:27:50 +00:00
Mark Vejvoda
5fd3457d70 - fixed socket changes for windows compiler 2011-11-27 00:11:18 +00:00
Mark Vejvoda
da854f103b - added some special ways to configure how sockets work on a system for testing 2011-11-27 00:07:55 +00:00
Mark Vejvoda
6c1c248d62 - attempt to fix network stuttering using a new multi-read single write mutex + semaphore class 2011-11-26 08:14:23 +00:00
Mark Vejvoda
82c9002d0a - attempt to further stabilize cpu usage and network reliability 2011-11-25 20:03:07 +00:00
Mark Vejvoda
2a8c712b1a - more socket performance changes
- auto complete now works also in IRC chat, and tabbing loops through all matched names.
2011-11-25 09:12:53 +00:00
Mark Vejvoda
e2135f76eb - attempt to fix network game play 'stuttering' 2011-11-25 05:37:55 +00:00
Mark Vejvoda
c6b7d3991e - attempt to fix network game play 'stuttering'
- bugfix for ip address gathering
- added tab autocomplete in chat windows for playernames
2011-11-24 23:15:21 +00:00
Mark Vejvoda
5aa34ebd08 - bugfix for sockets on windows 2011-11-23 08:11:30 +00:00
Mark Vejvoda
3cdf50c399 - a load of bugfixes including:
- proper handling of invalid client connects, after 6 bad attempts in a 60 second period of time the IP address is blocked from the current game
  - Added check for invalid particles for tileset objects
  - Made messagebox wider in game mod menu
  - Fixed numerous threading issues discovered while testing on my 8 core CPU
  - a Little bit of rendering cleanup
2011-11-23 08:00:09 +00:00
Mark Vejvoda
2cecb2c3a0 fixed horrible UPNP bugs related to timing, where ports would be either NOT properly opened or not closed due to thread timing and no thread protection. 2011-10-23 00:55:34 +00:00
Mark Vejvoda
af2e2a8930 - added new debug compile option for UPNP:
cmake -DCMAKE_INSTALL_PREFIX= -DWANT_STATIC_LIBS=ON -DBUILD_MEGAGLEST_UPNP_DEBUG=On ..

This will output tons of stuff to console to help debug issues in miniupnpc
2011-10-21 03:24:04 +00:00
Mark Vejvoda
3d20c207d5 - bugfixes for supporting compile of miniupnpc1.4 -> 1.6. Added two new optional commandline options for cmake:
-DMINIUPNPC_VERSION_PRE1_6=true
-DMINIUPNPC_VERSION_PRE1_5=true
2011-10-12 22:04:00 +00:00
Mark Vejvoda
f0fc8dc561 - updated embedded miniupnpc to latest version 1.6 2011-10-12 19:21:13 +00:00
Mark Vejvoda
fe8e76efd8 - applied some memory leak cleanups 2011-09-27 20:35:45 +00:00
Mark Vejvoda
2a86cb4f7d - added support for proper quiting and console input/output in headless mode. Type: quit followed by return into the console to properly shutdown in headless mode. 2011-09-27 10:16:09 +00:00
Mark Vejvoda
ba35e3cc9f - fixed win32 compile errors 2011-09-02 04:22:04 +00:00
Mark Vejvoda
4a5a7f010d - final phase of cppcheck verbose fixes (outstanding items should be left alone) 2011-09-01 18:51:43 +00:00
Mark Vejvoda
57afc2d715 - phase 2 of cppcheck verbose fixes 2011-09-01 01:11:23 +00:00
Mark Vejvoda
3af608151e - bugfixes found from cppcheck 2011-08-31 19:44:19 +00:00
Mark Vejvoda
38aa9c94fb - bugfix for units doing a build command where unit is > 1 size
- additional guards for null in miniupnpc calls
2011-06-02 05:05:54 +00:00
Mark Vejvoda
1803c2ea94 - only show debug when verbose enabled 2011-06-01 19:07:28 +00:00
Mark Vejvoda
f2ccc5b0ca - bugfix for miniupnpc (when using non embedded version there was a null pointer) 2011-06-01 19:06:14 +00:00
Mark Vejvoda
1dbdc29622 - do not throw error when connection drops on partial socket receive, just log the condition and close gracefully 2011-05-29 23:01:16 +00:00
Mark Vejvoda
d7c3d9e7ad - code hardening for threaded socket destruction handling 2011-05-28 19:22:03 +00:00
Mark Vejvoda
1cf6d523fd - updated cmake system to support using NON EMBEDDED versions of libircclient and miniupnpc for proper build in Debian 2011-05-27 06:37:43 +00:00
Mark Vejvoda
4b47c79af5 - attempt to fix tomreyn's segfault when socket is closing 2011-05-25 21:57:01 +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
69a627dca7 -fixed AllowGameDataSynchCheck=true so it works properly again 2011-04-26 23:34:48 +00:00
Mark Vejvoda
706c72c87f - bugfix when receiving additional socket data 2011-04-26 23:19:27 +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
540d91ed92 - bugfix for recent socket change on windows 2011-04-13 05:07:47 +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
7a501a4e26 - added code to track mutex source for sockets 2011-04-13 01:20:40 +00:00
Mark Vejvoda
1ffc7d99d4 - calculate megapack techtree CRC first if it exists in the users techtrees 2011-04-10 23:50: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
15e00694bf - attempt to tighten up socket connection logic that detects disconnect 2011-03-26 02:00:41 +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
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
9382473294 - attempt to make a few tweaks for more smooth network play 2011-03-05 20:15:28 +00:00