Commit Graph

316 Commits

Author SHA1 Message Date
Mark Vejvoda
9852325da6 - fixed Martiño Figueroa's name in all copyrights in source code
- added copyrights to files that were missing it
2011-12-14 07:40:48 +00:00
Mark Vejvoda
dc6cd9281f - centralized finding map files and validation of map files. a New report at game start shows a list of invalid maps which will be ignored
- headless server now shows GUI messages in console
- made 'blocked player' button font smaller
2011-12-05 05:26:48 +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
058548c208 - adjust game start delay to 200 milis 2011-11-27 00:36:21 +00:00
Mark Vejvoda
2f53b3018d - add a delay for clients at game start so server is always ahead 2011-11-27 00:30:54 +00:00
Mark Vejvoda
fbb3f0b8e5 - faction threads now use semaphores to signal completion lowering cpu use on main thread 2011-11-26 23:11:33 +00:00
Mark Vejvoda
7fb7b5e611 - more usage of multi read single write mutex locking 2011-11-26 09:00:57 +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
ef125238e8 - continue trying to fix network issues 2011-11-25 22:38:25 +00:00
Mark Vejvoda
ff2252bf41 - rollback network changes 2011-11-25 21:56:36 +00:00
Mark Vejvoda
09241222ca - try to fix network stuterring 2011-11-25 21:30:32 +00:00
Mark Vejvoda
cbc4b0a8d3 another small tweak for cou use on unconnected sockets 2011-11-25 20:05:04 +00:00
Mark Vejvoda
82c9002d0a - attempt to further stabilize cpu usage and network reliability 2011-11-25 20:03:07 +00:00
Mark Vejvoda
4e882796a1 - a bold attempt to push the socket read threads to read continuously to see if this is:
a) stable without causing out of synch
b) not too hard on the CPU
2011-11-25 17:01:35 +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
1935f9314b added new commandline to specify internal/external port #'s to use when hosting:
--use-ports=61390,61390
2011-11-23 21:36:49 +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
9c59bc7273 - change game load defaults for less stress on CPU 2011-11-15 22:10:32 +00:00
Mark Vejvoda
ccb86ef373 fixed windows build 2011-11-15 18:09:57 +00:00
Mark Vejvoda
33e1af022a lowered numbers for sleeping when game is loading in network mode and allow ini override of values 2011-11-15 16:41:10 +00:00
Mark Vejvoda
8050e25538 - attempt to fix masterserver losing publish setting and/or open network slot
- attempt to fix high cpu usage on masterserver (and clients) when waiting for others during the start of a network game
2011-11-14 05:18:09 +00:00
Mark Vejvoda
1293771964 removed limit of network commands count (2496) and just use dynamically sized vectors (this may make game play more stable when there are lots of commands issued) 2011-10-28 01:58:15 +00:00
Mark Vejvoda
f7a4730fff when client is waiting only for the server at game start we now display this 2011-10-26 20:30:41 +00:00
Mark Vejvoda
50adfb3305 - added ability to switch languages from nearly anywhere (and new hotkeys to do so):
CTRL+L shows language popup selection, CTRL+SHIFT+L toggles to next language automatically
2011-10-25 18:39:11 +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
bd2206f51b bugfixes for headless mode (when admin picks things that server doesn't have).. added a 2 second delay timer for sending out changes 2011-10-22 00:19:38 +00:00
Mark Vejvoda
4f233d3628 - attempt to fix issue where masterserver does not have data item selected by admin client 2011-10-12 06:54:36 +00:00
Mark Vejvoda
bc5c32deb1 - initial attempt to add 'pause game' for network games. The following apply:
- only the server (or headless admin) can pause/resume a network game.
- to pause/resume press ESC in game and select the pause/resume button to toggle the state.
- chatting works while the game is paused. If clients want the game paused they should ask this in the chat window
2011-10-03 20:48:09 +00:00
Mark Vejvoda
75e73ec85d - headless mode now properly uses selected slot of player 2011-10-01 08:04:30 +00:00
Mark Vejvoda
6c1f0186c6 - bugfix for network session id randomizing 2011-10-01 01:40:00 +00:00
Mark Vejvoda
43ed4553ea - more memory cleanup and thread cleanup (found using valgrind) 2011-09-28 15:32:57 +00:00
Mark Vejvoda
f5c7eff49c - more bugfixes for headless server mode, attempt to fix crash when switching info fast and avoid render on battle end on server. 2011-09-26 04:50:13 +00:00
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