Commit Graph

537 Commits

Author SHA1 Message Date
Mark Vejvoda
943dcef9fe - first pass of VERY ROUGH crude implementation of 'cell markers'. Need to properly find icons, apply alpha to icon on the map and add support for notes when user hovers over the marker. 2012-06-12 20:37:00 +00:00
Mark Vejvoda
b965343496 - added ability to show a user is disconnected from the game 2012-06-09 15:21:18 +00:00
Mark Vejvoda
dbb116f250 - load of changes to get things compiling under VC++ 2010 (with updated deps seperate for vc2010) 2012-04-20 01:04:05 +00:00
Mark Vejvoda
329bb58b04 - a few code cleanup items while doing some testing in VC++ 2010 2012-04-17 19:42:53 +00:00
Mark Vejvoda
3b8dd289ac - updated cmake to check for support of backtraces in gcc compiler
- fixed numerous bugs / warnings from cppcheck
2012-04-16 19:29:37 +00:00
Mark Vejvoda
8c0bf75bf5 - got built in memory leak working. Just edit leak_dumper.h and uncomment:
//#define SL_LEAK_DUMP
- got better / more accurate stack dumps when we detect errors in game.
- Both of these need to be worked on in windows next, win32 may not compile for now until i fix it on that platform.
- BE VERY CAREFUL when working in leak_dumper.* it may cause GCC and your system to crash if you don't know what you are doing!
2012-04-14 21:21:09 +00:00
Mark Vejvoda
7f0b439d5d - some initial work for pathfinder changes (nothing enabled yet)
- added savegame info for network games to start thinking about how to allow players to reconnect to a network game.
2012-04-13 20:20:40 +00:00
Mark Vejvoda
9286130138 - bugfixes and code cleanup found using cppcheck 2012-03-28 06:25:57 +00:00
Mark Vejvoda
9e1001fac7 - headless server will only give network status info to the locahost now and not on any other ip (for security purposes) 2012-03-27 05:39:02 +00:00
Mark Vejvoda
d356e5f5de - added new headless server status check:
on the SAME box as the headless run:
./megaglest --headless-server-status
2012-03-25 06:55:43 +00:00
Mark Vejvoda
8f98dbe566 - attempt to add code to NOT allow new connections on a slot that is no longer an open slot 2012-03-20 20:31:41 +00:00
Mark Vejvoda
a7e45eb354 - added the ability to record all game command to a replay file. To test saving / loading games from a replay file, add this to glestuser.ini:
SaveCommandsForReplay=true
2012-03-20 04:53:26 +00:00
Mark Vejvoda
c5331b7e8a - initial work to save game state to XML. Current only saves when out of synch or game end occurs and saves to same folder as log files and file is called: megaglest-saved.xml
(Currently we store way too much info but this is a starting point)
2012-03-10 03:27:25 +00:00
Mark Vejvoda
246f4b326f - attempt to see if threaded client network receive improves performance (ThreadedNetworkClient=true to enable on a client) 2012-03-03 23:59:44 +00:00
Mark Vejvoda
3eba87727c - bugfixes for headless mode, map selection logic was broken for admin user
- during in game, if admin user disconnects, server re-assigns a new admin user so paused game can be unpaused by a new administrator
2012-03-03 04:33:39 +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
7438ec4669 - bugfix for windows users to be able to host games 2012-01-17 06:02:54 +00:00
Mark Vejvoda
8e4ed05159 - bugfixes to g3dviewer when loading a unit with particles from commandline (fixes recursive call crash), and added verbose commandline switch for g3dviewer 2012-01-06 18:04:01 +00:00
Mark Vejvoda
61bebd6b86 - numerous fixed for network scenario handling 2011-12-28 04:46:36 +00:00
Mark Vejvoda
0338841689 - initial code to try out network based scenarios (not yet implemented for masterserver) 2011-12-26 06:29:14 +00:00
Mark Vejvoda
1fb7f74466 - server updates waiting message more frequently now on game loading 2011-12-20 02:36:04 +00:00
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
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
Titus Tscharntke
2440d475b3 beginning of new resource multiplier. Still work in progress but hopefully ready to test some things. 2010-11-08 23:15:50 +00:00
Mark Vejvoda
d07cd76459 - added a guard for proper slot index usage in network code 2010-10-25 20:56:57 +00:00
Mark Vejvoda
bbc8f96327 - better masterserver thread management during game play (do not start the thread for non published games) 2010-10-24 05:52:21 +00:00
Mark Vejvoda
c3d41f5082 - bugfixes to master server communication logic when starting a game. Now we only send updates if the game was published, not for every network game. Also we properly delete the game from the masterserver when it has ended. 2010-10-23 22:06:49 +00:00
Mark Vejvoda
ae8571a406 - added the beginning of some new master server info (very limited)
- Masterserver menu will show more titles / colors.
    - We keep the game showing in the Masterserver menu while it is in progress.
   - Disable join button when slots are full.
   - Update title with IN PROGRESS when game is being played.
   - PHP Script is backwards compatible with older clients
2010-10-23 09:06:47 +00:00
Mark Vejvoda
e2610df502 - fixed chatting logic to now retain more info about the user that sent the text in the console manager. Colors now apply to the playername and changing playernames is ok in the lobby andf rendering accounts for this (as well as switching slots) 2010-10-23 04:00:39 +00:00
Mark Vejvoda
707a26feb2 - bugfix for server side player color index being wrong 2010-10-22 16:35:16 +00:00
Mark Vejvoda
8ab3366c66 - added player color coding in lobbies as well as chat console 2010-10-22 07:28:55 +00:00
Mark Vejvoda
79318735ab - cleanup of last compiler warnings in Linux (hurray!) 2010-10-21 18:24:54 +00:00
Mark Vejvoda
be979590c1 - more compiler warning cleanup 2010-10-21 17:42:45 +00:00
Mark Vejvoda
f5f406dfb3 - bugfix related to segfault when a network disconnect occurs while a thread is updating a slot 2010-10-21 00:21:58 +00:00
Mark Vejvoda
59c5fd2581 - moved version checking into one common method in the util file. Now all network related checks use this common method to determine version compatibility 2010-10-15 17:27:00 +00:00
Mark Vejvoda
86b11a7f05 - bugfix (again) for playername index bug 2010-10-08 22:32:23 +00:00
Mark Vejvoda
ae010f85ab - bugfix for playername index offset on client 2010-10-08 17:17:22 +00:00
Mark Vejvoda
f345835fc4 - final bugfix for 3.3.7, playernames got mixed up when first slot was closed. Also fixed editing when typing playername 2010-10-08 01:41:53 +00:00
Mark Vejvoda
0d050f62d4 - added code to now output all eerors to console (with option to save in log file)
- added more LUA debug info
2010-10-06 20:22:06 +00:00
Mark Vejvoda
0e8ed05c2e - bugfixes for handling missing maps on client 2010-09-17 08:26:22 +00:00
Mark Vejvoda
f84a710d2c - initial logic to allow client side controlled AI 2010-09-14 19:10:37 +00:00
Mark Vejvoda
ab44c83168 - added leak_dumper header all over the place (not yet functional in linux)
- Bugfix for particle cleanup
2010-09-07 05:25:40 +00:00
Mark Vejvoda
fba29d3002 - added new menu option to toggle on / off observers 2010-09-04 01:24:17 +00:00
Mark Vejvoda
e32eb9c162 - modified command object to support special states which flow through network play as well. This allows for better handling of multi-unit build and allows for better future expanding of command processing. 2010-08-30 20:45:12 +00:00
Mark Vejvoda
20a02c28ed - bigfix for windows compile 2010-08-27 23:04:59 +00:00
Mark Vejvoda
a2f013c51a - cleaned up lobby message processing 2010-08-27 20:09:55 +00:00
Mark Vejvoda
2e99f69ef1 - added an overall MAX lag counter to disconnect clients that lag beyond recovery 2010-08-27 18:53:59 +00:00
Mark Vejvoda
90f66d99bf - updated game data checks display on server 2010-08-26 23:14:55 +00:00
Mark Vejvoda
f765ab0880 - updated game data mismatch display 2010-08-26 23:04:14 +00:00
Mark Vejvoda
ddf4fca0bf - another change to game data packet length for the sake of cheesy windows 2010-08-26 22:29:48 +00:00
Mark Vejvoda
1058065ce7 - changing the max filecount lower to avoid stack overflow due to array taking > 1MB 2010-08-26 20:28:26 +00:00
Mark Vejvoda
f3278c3cf3 - bugfixes for stack overflow issue (static array size too large causing chkstk errors) 2010-08-26 19:01:44 +00:00
Mark Vejvoda
4ebd156828 - added new commandline parameter to display the version of SDL used by the program 2010-08-26 16:03:54 +00:00
Mark Vejvoda
c5624d8662 - bugfix for newer gcc compiler that freaks out on using static ints as a parameter to stl's min and max functions 2010-08-26 15:00:50 +00:00
Mark Vejvoda
979a6ddb09 - fixed compile issues for tomreyn 2010-08-26 14:48:04 +00:00
Mark Vejvoda
8274ff1efb - windows compile bugfixes 2010-08-26 05:43:08 +00:00
Mark Vejvoda
db173d0fdd - bugfixes for network playername inline editing in the lobby during a slot switch 2010-08-26 05:30:17 +00:00
Mark Vejvoda
a64fa69d02 - bugfixes for experimental game data synch check in lobby
- added a fix for socket sending when the send buffer is full and we have more data to send
2010-08-26 03:15:36 +00:00
Mark Vejvoda
e5678be10c - bugfixes for experimental game data synch check in lobby
- added a fix for socket sending when the send buffer is full and we have more data to send
2010-08-26 02:36:17 +00:00
Mark Vejvoda
5a796444b8 - added a cache for compute fog of war 2010-08-25 23:55:59 +00:00
Mark Vejvoda
c01b43f635 - added another layer of authentication to validate the client is REALLY a mega-glest client 2010-08-23 15:40:43 +00:00
Mark Vejvoda
0509b5d643 - bugfixes for playername change in lobby screen 2010-08-23 04:33:21 +00:00
Mark Vejvoda
0ad20a1a2d - fixed code for debug asserts 2010-08-22 08:42:43 +00:00
Mark Vejvoda
bf5f6b7f33 - experimental support for idenitfying specific game data which is out of synch with the server. 2010-08-22 08:00:05 +00:00
Mark Vejvoda
cce338a2c6 - atempt to squeeze some extra rendering performance 2010-08-21 18:50:56 +00:00
Mark Vejvoda
455876a3c0 - added the ability to change your playername from the game lobbies inline 2010-08-21 13:04:52 +00:00
Mark Vejvoda
80c54b7a21 - added version mismatch check on server to avoid spurious client connection activity 2010-08-21 02:59:21 +00:00
Mark Vejvoda
d08c8300f0 - more attempts at stability for network games 2010-08-21 01:52:41 +00:00
Mark Vejvoda
07cbcc0bec - added a bunch of null terminations to all char buffers in network protocol 2010-08-20 23:53:10 +00:00
Mark Vejvoda
ff7828fa6f - more NULL checking for safer execution 2010-08-20 22:59:32 +00:00
Mark Vejvoda
0e82836e01 - more NULL checking for safer execution 2010-08-20 22:17:30 +00:00
Mark Vejvoda
1fa9efc091 - alittle more bullet proofing using NULL pointer checks 2010-08-20 20:51:25 +00:00
Mark Vejvoda
fc31e7713d - added null pointer check 2010-08-20 20:29:30 +00:00
Mark Vejvoda
a6d33fe569 - attempt to protect a little against spurious network activity 2010-08-20 20:03:06 +00:00
Mark Vejvoda
277362a6c7 - fixed a possible infinite loop while receiving network packets on clients for network games (found by titi's stack trace dump) 2010-08-20 18:06:03 +00:00
Mark Vejvoda
94e4a85957 - How i love you microsoft... another win32 fix 2010-08-07 06:35:52 +00:00
Mark Vejvoda
0f8eb267c6 - attempt to correct network message alignment problem 2010-08-07 06:19:56 +00:00
Mark Vejvoda
cee6b8dfc8 - attempt to help client wait for network packets better 2010-08-07 05:55:18 +00:00
Mark Vejvoda
a5bf684493 - more network fixes to make lag and disconnects more stable
- changed the way the game end logic happens to try to make it more stable
2010-08-07 04:49:06 +00:00
Mark Vejvoda
fe8d3b3130 - numerous bugfixes mostly centered around network lag, but also added more logging and protective code (like buffer overflow checks)
*NOTE: This version is NOT backwards compatible with other builds
2010-08-07 03:26:38 +00:00
Mark Vejvoda
7df6d2bc16 - added version string display for network lobbies 2010-08-05 05:58:14 +00:00
Mark Vejvoda
4ba4b756c8 - updated client connect screen to display new game options as set from the server 2010-08-04 23:39:12 +00:00
Mark Vejvoda
a8a3275036 - added an earlier attempt to help lagging clients recover when they start to fall behind. 2010-07-29 05:51:50 +00:00
Mark Vejvoda
e9e1a317e4 - cleanup of some compiler warnings 2010-07-17 06:54:04 +00:00
Mark Vejvoda
a3ec4650c4 - moved pause for lagged clients option to custom game menu
- bugfix to ignore 0.* ip addresses
2010-07-16 16:53:19 +00:00
Mark Vejvoda
031bfd2f60 - added LAN IP in custom Menu
- Updated readme and other text files with more accurate info (thanks Tomreyn)
- Disabled ability to zoom out when game is over if in a network game (creates to much LAG and instability)
2010-07-10 06:14:31 +00:00
Mark Vejvoda
eb34eb1fe5 - more bugfixes for ping logic 2010-07-09 18:49:01 +00:00
Mark Vejvoda
b008594ca8 - missing header for windows compile 2010-07-09 17:46:53 +00:00
Mark Vejvoda
0d7d0e139d - updated disconnect checking to include a timeout check for our custom ping 2010-07-09 17:12:57 +00:00
Mark Vejvoda
df688c3ede - some debug comments removed 2010-07-09 15:59:49 +00:00
Mark Vejvoda
3e53b69676 - added client side ping style packet for linux socket disconnect checking 2010-07-09 15:01:49 +00:00
Mark Vejvoda
ab655162cb - added more bug fixes related to network disconnects.
- Added a new global message box to display error messages on top of any graphics window being displayed.
2010-07-08 08:29:51 +00:00
Mark Vejvoda
ff21d26161 - mouse disappearing bugfix (go ahead alt-tab, alt-esc, do it ALL, its fixed!)
- Added more descritive error message when data checksum is discovered. The client's playername is now disclosed in the error.
- added VS project config to disable STREFLOPs for testing later
- updated version to 3.3.5.1 alpha1
2010-07-07 22:25:29 +00:00
Mark Vejvoda
8478ab80b3 - bugfixes for malformed debug statements
- updated version to 3.3.5.1
- added more null checks
- changes to try to fix crash when ending a game (delete cells bug)
2010-07-06 05:30:34 +00:00
Mark Vejvoda
009e6f07e5 - added initial ability for servers to publish an external port for use with internet games. This is in case we must use soft-haus.com which will work with only a few outgoing port numbers.
*NOTE: This update add's a new field to the PHP / mysql scripts.
2010-07-03 10:06:31 +00:00
Mark Vejvoda
eda2e84aee - bugfixes for processing disconnect and game end scenarios. These fixes corrected a bunch of segfaults when client or server disconnect. 2010-07-02 19:57:47 +00:00
Mark Vejvoda
521fb237bf - bugfix for regression of disconnecting from server on lobby screen 2010-07-02 16:54:28 +00:00
Mark Vejvoda
aa0db2c0f0 - network code bugfixes.
- More checking for disconnect and proper handling of those cases
- Changed battle end screen to exit via mouse click on exit button (or press ESC)
- Removed display of unused ping output
- added more error handling debug output of the mystical unknown error caught in window.cpp to track it down better if it happens again
2010-07-02 02:50:20 +00:00
Mark Vejvoda
391fd1f36d - bugfixes to properly manage and display various kinds of network error conditions. 2010-07-01 06:11:14 +00:00
Mark Vejvoda
3ea81caf92 updated output type to get proper values 2010-07-01 00:52:11 +00:00
Mark Vejvoda
b0b477aa59 - moved clear outside of loop 2010-07-01 00:31:48 +00:00
Mark Vejvoda
c5cb8dbd18 - bugfixes related to chat message processing and error processing. We now stack up messages and process them in a more safe manner 2010-07-01 00:08:59 +00:00
Mark Vejvoda
217c92e939 - updated warnhing message condition to also check LAG time in addition to lag count 2010-06-30 18:59:28 +00:00
Mark Vejvoda
1f04fd3106 - added another LAG validation (this is in addition to the excisting ones) a time in seconds LAG. This should be able to deal with disconnected clients better
- added more error handling to try to handle different kinds of errors during gameplay
- added new mouse toggle hotkey (toggles between OS and mega-glest mouse) default key is / in glestkeys.ini
2010-06-30 07:03:04 +00:00
Mark Vejvoda
9508dad51b - network related bugfixes:
menu slowdown when picking network slots
clients can once again change network slots
performance fixes for network receiving
2010-06-29 06:50:35 +00:00
Mark Vejvoda
a7954abc02 - updated version number to beta15
- fixed bug affecting performance due to unconnected slots
2010-06-28 03:17:50 +00:00
Mark Vejvoda
00860813b2 - bugfixes for LAG checking:
- proper disconnect for clients passed MAX lag
  - proper lag packet time initialzation for clients sending LAG update info to the server
2010-06-28 00:21:12 +00:00
Mark Vejvoda
1d4f47718c - added many new things and fixed a number of bugs (too tried to mention them all) 2010-06-24 01:23:18 +00:00
Mark Vejvoda
87b4706940 - Attempt to use libcurl in a thread safe manner 2010-06-23 14:49:20 +00:00
Mark Vejvoda
2d50beecfa - bugfix for mutex deadlock 2010-06-18 20:04:05 +00:00
Mark Vejvoda
82f412453e - bugfix for mutex deadlock 2010-06-18 18:47:20 +00:00
Mark Vejvoda
4647497cee - bugfix for proper thread shutdown which caused a number of crashes when navigating menus 2010-06-17 23:24:15 +00:00
Mark Vejvoda
2015843d69 - added optional server game pause if client lags 2010-06-17 21:46:36 +00:00
Mark Vejvoda
eeda623b4f - removed the rotateunit flag (its now just part of MG)
- updated rendering to consider both visible and explored cells when rendering untis and objects
- added a warning message when a client is lagging and coming close to being kicked off
2010-06-17 00:08:27 +00:00
Mark Vejvoda
39acffa2aa - enable mouse while new game is loading 2010-06-16 06:35:35 +00:00
Mark Vejvoda
5356a3de23 change of data type to correct type for time lag 2010-06-15 05:44:29 +00:00