Commit Graph

266 Commits

Author SHA1 Message Date
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
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