Commit Graph

266 Commits

Author SHA1 Message Date
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
Mark Vejvoda
e091460f40 - attempt to add a client LAG checker to notify and disconnect clients that fall too far behind. 2010-06-15 05:36:07 +00:00
Mark Vejvoda
cdb820a8e8 - fixed a network read problem where there is more data needed before reading large command lists can be processed.
- added more error checking
2010-06-14 06:38:24 +00:00
Mark Vejvoda
085d4e4bfe - added more debug statements to try to track beta bugs
- added safer customization of ini files
- added ability to customize game keys
- added more error checking for ogg file loading
- added faction loader progress
- added a few more thread protections on custom menu
2010-06-12 18:27:39 +00:00
Mark Vejvoda
4fd75e5d7d - fixed two nasty AI bugs which would cause out of synch and memory corruption problems
- added new glest.ini setting to log commands for each client
2010-06-08 07:40:32 +00:00
Mark Vejvoda
cf6d43247d added networkframeperiod support to gamesettings and added possibility to over-ride in glest.ini for now 2010-06-05 07:52:14 +00:00
Mark Vejvoda
3b06db30e9 commented out ping code and added synch check for large comamnds list 2010-06-05 00:00:36 +00:00
Mark Vejvoda
2970e5114a added mutex protection in custom game menu to protect access to member variables to avoid crashes when background thread and user changes both occur 2010-06-04 21:46:10 +00:00
Mark Vejvoda
964be91fa9 added ping times to UI 2010-06-04 19:42:58 +00:00
Mark Vejvoda
dc0315d0d6 bugfix in server connection slot shutdown processing, only update server listener if BEFORE game started, not after game exits 2010-06-03 23:00:31 +00:00
Mark Vejvoda
8005fa96e1 disabled threaded send 2010-06-03 21:55:17 +00:00
Mark Vejvoda
4227d2bd1d attempt to fix threaded network send bug 2010-06-03 21:49:41 +00:00
Mark Vejvoda
ff6d90a5f1 added more pointer inits 2010-06-03 21:25:33 +00:00
Mark Vejvoda
6b10c5696f - added missing gamesettings to network packet and added experimental threaded server message broadcasts to client 2010-06-03 07:52:17 +00:00
Mark Vejvoda
1b000376d4 - updated client connection screen to NOT crash if client does not have the tech selected on the server 2010-06-03 06:03:41 +00:00
Mark Vejvoda
ace1cef8a8 - added safe mutex wrapper class 2010-06-02 01:37:45 +00:00
Mark Vejvoda
b8dac6de50 - updates to random number generation 2010-06-01 00:57:48 +00:00
Mark Vejvoda
fc63460e07 - updated unitid offset for each faction so that we support up to 100,000 units per faction per game (which is larger than previously supported) 2010-05-31 09:45:54 +00:00
Mark Vejvoda
0069fbf4f0 - added more debug code and fixed a server bug where client connecting at the same time a server opens a slot would result in a crash sometimes. 2010-05-31 06:11:31 +00:00
Mark Vejvoda
e4f885ecf3 removed some debug output to make reading logs easier 2010-05-29 11:12:45 +00:00
Mark Vejvoda
9159d44b7a - added a VERY IMPORTANT synch check in order to find unit id mismatch 2010-05-29 08:23:52 +00:00
Mark Vejvoda
8b6af02ece - Added better error handling for in-game errors 2010-05-29 06:56:32 +00:00
Mark Vejvoda
a03853ad13 - made some stability improvements
- Fixed chat message processing
2010-05-28 14:59:09 +00:00
Mark Vejvoda
908b155d62 some changes to how we use streflop:
- Removed all unneeded includes of cmath
- added proper wrapper classes for lua calls to toggle streflop back and forth
- some code cleanup
2010-05-28 05:31:17 +00:00
Mark Vejvoda
f0da609e7f trying to track down network bugs 2010-05-28 00:57:24 +00:00
Mark Vejvoda
ac34fc6d99 Commented out some mutex use that should no longer be required. 2010-05-28 00:26:29 +00:00
Mark Vejvoda
0aade73335 - Did some refactoring to move connectionSlotThread into ConnectionSlot class 2010-05-27 23:46:38 +00:00
Mark Vejvoda
f92bf42d82 - Attempted fix for some synch network errors (ensure client messages are processed in proper order) 2010-05-26 05:33:15 +00:00
Mark Vejvoda
4b6e017241 - Added particle support to g3d viewer 2010-05-25 18:06:42 +00:00
Mark Vejvoda
69d7070f54 Added some more mutex guards around multi-player server side thread that processes incoming messages 2010-05-21 16:36:08 +00:00
Mark Vejvoda
258cd1fea1 - bugfixes for custom port# configurations
- changed version to alpha2
2010-05-17 20:41:18 +00:00
Mark Vejvoda
272a072ec3 added client socket accept info to debug log as well as some change detection 2010-05-17 06:41:05 +00:00
Mark Vejvoda
1ae2a9ae10 - Added partial threaded network server handling of incoming socket data to try to improve performance
- Small changes to client network handling to be more accurate and efficient
- Added observer mode when a user loses a network game
2010-05-15 18:59:17 +00:00
Mark Vejvoda
4fc043ddb6 more bullet proofing of network activity 2010-05-13 07:13:53 +00:00
Mark Vejvoda
57d0420b76 Added some threading for URL calls for new masterserver game play 2010-05-13 06:43:56 +00:00
Mark Vejvoda
319b672e20 added better handling of network connections:
- only listen for new clients on a server if an open slot exists (unconnected)
- for both server and client we wait a max of 10 seconds to receive a proper intro packet or we disconnect (could have connected to / from a non glest application using the same port)
2010-05-12 15:25:56 +00:00
Titus Tscharntke
13a1630e69 first steps for masterserver join menu 2010-05-09 21:23:13 +00:00
Mark Vejvoda
8aa14009d1 - added a more proper #define setup to completely stub out debugging to test performance
(simply uncomment #define UNDEF_DEBUG and the debug statements become nothing)
- Added piles of experimental changes for testing different performance scenarios (all of these changes are turned off by default and will most likely eventually be removed)
2010-05-07 06:46:55 +00:00
Mark Vejvoda
4b1a392f00 Bugfixes for network game launching:
- discard inprogress messages that don't apply during launch
- added better error handling of disconnects during game launch and play on both server and clients
2010-05-04 02:32:43 +00:00
Titus Tscharntke
73be43d6ad some (possible) bugs are fixed when starting but not all. Discussion needed . 2010-05-04 00:05:10 +00:00
Mark Vejvoda
04bb6659ce Added more debugging and option to disable new streflop usage. 2010-05-01 20:14:25 +00:00
Mark Vejvoda
2417f37e21 added more debugging for error conditions 2010-05-01 10:46:56 +00:00
Titus Tscharntke
3e7f3ed485 client slot selection bug hopefully fixed 2010-04-30 18:36:38 +00:00
Mark Vejvoda
6577762297 - Added a new pre-Cache thread for CRC value calculation
- Added support in the client UI if multiple local LAN servers are discovered.
2010-04-30 06:45:30 +00:00
Mark Vejvoda
35cd622f43 changed max network command batch size to use unsigned int to allow more commands to be sent at once 2010-04-30 02:41:42 +00:00
Mark Vejvoda
e7cb595ae8 small change to compiler version stamp 2010-04-30 02:34:19 +00:00
Mark Vejvoda
19cd66fc2d Changed compiler stamp in version string 2010-04-30 02:20:27 +00:00
Mark Vejvoda
e8aa5083cb Added new binary compatibility check 2010-04-30 01:32:37 +00:00
Titus Tscharntke
0687a56e27 clients can choose their slots 2010-04-30 01:08:29 +00:00
Mark Vejvoda
cc08074acf more caching and bug fixes for data synch compare 2010-04-29 08:36:37 +00:00
Mark Vejvoda
4f147b2d89 Added more guards and debug info related to network play 2010-04-29 07:59:44 +00:00
Mark Vejvoda
805015fd83 Updates to cache CRC values and folder traversal lookup 2010-04-29 06:10:51 +00:00
Titus Tscharntke
50341e9db6 clients can choose team and faction ... client triggered slot change is prepared 2010-04-28 23:59:37 +00:00
Mark Vejvoda
aad5c056a3 Added more info in data synch check debugging 2010-04-28 21:38:15 +00:00
Mark Vejvoda
6d4838f470 Changed the logging system to be more flexible and to support world synch logging 2010-04-27 03:36:36 +00:00
Titus Tscharntke
edd3b66273 connected playernames and free slots are shown on the client.
some bugfixes
2010-04-22 23:18:04 +00:00
Titus Tscharntke
06660e3a17 clients can see which setups are made on the server. ( work in progress !)
menu gfx-components can be set editable/non editable now
+ in addition fixed several memory problems and FOW in scenarios ...)
2010-04-21 23:13:39 +00:00
Mark Vejvoda
d412cb5f79 Added a bunch of NULL pointer guards, changed undertake to cleanup dead units more safely and added more debug tracing 2010-04-20 02:19:37 +00:00
PolitikerNEU
e06e964728 Added queing commands with shift 2010-04-18 07:35:48 +00:00
Mark Vejvoda
30c4eb2b96 Added some performance logging capabilities and socket cleanup for new broadcast thread sockets 2010-04-15 01:19:00 +00:00
Mark Vejvoda
8c438b812d Some final fixed related to combined cross platform socket code 2010-04-13 07:29:48 +00:00
Mark Vejvoda
4e12d8dbcf Bugfix for tracker#: 2985601
- Added checking for NULL pointer as well as clients now check connection state of the server during load.
2010-04-12 20:32:47 +00:00
Mark Vejvoda
af87e53bbe Bugfix for trace bug#: 2984991
falling back to english text for scenarios text. 
- Also added more error checking and commented out some excessive debug output statements.
2010-04-11 01:25:06 +00:00
Mark Vejvoda
924ec79364 Removed fogofwar code that I had in my synch check logic from, long ago as it is no longer needed due to Silnarms new feature 2010-04-03 05:50:07 +00:00
Mark Vejvoda
a0c0be4d65 Some bug fixes related to file transfer code and user folders 2010-04-03 04:30:28 +00:00
Mark Vejvoda
092f3a2bca some changes in preparation for file transfers 2010-04-03 02:22:41 +00:00
Mark Vejvoda
bc725454fd Added a new menu item in join menu and added a threaded callback system for clients when searching for servers so that the UI doesn't wait for responses 2010-04-02 02:33:32 +00:00
Mark Vejvoda
0bcb710606 Added auto-discovery of LAN servers using UDP broadcast. (for now the client must press the A key from the join menu to trigger this) 2010-04-01 06:31:10 +00:00
Mark Vejvoda
2eae390d34 Added ServerPort to code so we actually use its value in code. Removed ServerPort from Configurator to make it more protected from common users 2010-03-31 17:30:12 +00:00
James McCulloch
a9026f8c20 * added missing #include "leak_dumper.h" to new cpp files
* fix for map names not being formatted (and replaced explicit loops to do the same to tileSet & techTree)
 * fix exploration state for fog-of-war off & multiplayer (note: also turns off for AI, diff. behaviour to before)
 * added fogOfWar to GameSettings and added to cutom game menu/menu_state_custom_game.cpp
2010-03-27 07:09:34 +00:00
James McCulloch
00dd0f490d * fix for map names (possible duplicate entries if mgm and gbm with same name) & alphabetically sorted now
* re-implemented building rotation (Note: requires particle systems that should be rotated with the building to be 'relative')
2010-03-25 12:15:10 +00:00
James McCulloch
dfc32cdba2 * quick-fix for static initialisation problem in ImageReaders
* fix error in two part NetworkMessageCommandList receive
2010-03-24 13:39:08 +00:00
Titus Tscharntke
ecc39ea911 PolitikerNEU jpg and png support! ( currently linux only ? )
Some little changes where I forgot to integrate the playername
Mousescroll is not longer super fast
2010-03-23 23:32:25 +00:00
Mark Vejvoda
237b76e2f2 Updates to new netplayer code to default the value to the hostname and not crash if the property is missing from glest.ini. Also added new property to configurator 2010-03-23 02:37:41 +00:00
Titus Tscharntke
397fe3dc41 Network Playernames ( and some more changes in the options menu ) 2010-03-23 01:38:19 +00:00
Mark Vejvoda
d713349187 Changed unit rotation logic to attach to existing ccBuild command (placing rotateAmount into the targetId field which was always unused for this commandtype). Commented out the old network code that was used to do this for now. 2010-03-22 04:47:16 +00:00
Mark Vejvoda
965a7ac2ba Updated debug logic to use a debug class to better control debug logging and centralize the control of it. 2010-03-19 23:26:00 +00:00
Mark Vejvoda
f838293632 Added code for the following:
a) Complete Unit Rotation for multi-player
b) Added support for user defined data folders
2010-03-18 21:26:40 +00:00
Mark Vejvoda
abf7e57377 Attempt for bugfix to resume from msgbox 2010-03-17 20:57:19 +00:00
Titus Tscharntke
7468e314d1 Chat line is visible in custom game menu.
Network consistency always checks and gives better messages.
2010-03-17 13:22:08 +00:00
Mark Vejvoda
89d3c66471 Added a more user friendly messagebox when network errors are encountered. 2010-03-17 06:25:19 +00:00
Mark Vejvoda
b9172acc5c Bugfix for multiplayer binary and data checksum checking. 2010-03-16 21:37:11 +00:00
Mark Vejvoda
2012b7e22c Made changes to properly isolate new unit rotation code so that it is disabled by default 2010-03-13 21:10:45 +00:00
Mark Vejvoda
43c3f2457e Code Restructuring to make mega-glest more standard 2010-03-12 05:20:53 +00:00
Mark Vejvoda
7cb4f99ec4 Code Restructuring to make mega-glest more standard 2010-03-12 05:11:28 +00:00
Mark Vejvoda
7657b40a4b - Additional bug fixes related to network connection code for win32
- print out socket errors to console instead of throw exceptions
2010-02-21 03:48:05 +00:00
Mark Vejvoda
fb5035c230 Updated with initial 3.4.4 codebase includes:
- network fixes for multiplayer defects found
- initial code (disabled currently) for content crc checking and downloading
- code compiles on Win32 using VS2008 express, project files not yet included
2010-02-03 01:09:50 +00:00
Titus Tscharntke
0ce9b5fcac initial version ( megaglest 3.2.3-beta3 ) 2010-01-22 01:45:58 +00:00