Commit Graph

182 Commits

Author SHA1 Message Date
Mark Vejvoda
3773736212 - bugfix for headless admin to get message in his own language (if possible) 2012-11-15 14:45:22 +00:00
Mark Vejvoda
63ad898c72 - attempt to get new network protocol working on arm 2012-11-03 00:19:13 +00:00
Mark Vejvoda
7010ddd153 - initial attempt at making network messages endian friendly 2012-11-01 00:06:23 +00:00
Mark Vejvoda
5c15a0e9f4 - cast to unsigned int for all calls to srand 2012-10-30 17:12:04 +00:00
Titus Tscharntke
685b15c91e renamed ServerPort->PortServer MasterServerExternalPort->PortExternal 2012-10-06 12:56:53 +00:00
Mark Vejvoda
5e42c6dc03 - loads of code cleanup based on verbose output from the latest git version of cppcheck 2012-10-06 07:06:40 +00:00
Mark Vejvoda
ae5018c4dc - do not continuously throw errors in game 2012-10-02 06:20:39 +00:00
Mark Vejvoda
4e195e10af - updated random seed generation to be more random 2012-09-27 06:42:57 +00:00
Mark Vejvoda
1c211e4ce6 - lots of code cleanup from the cppcheck 2012-09-22 20:13:57 +00:00
Mark Vejvoda
fd9c9856cf - add a silent ini setting in case the auto lag code needs to be turned off down the road: AutoClientLagCorrection=true (hard coded, add and set as false in ini if required, this onhly affects game hosts) 2012-09-22 05:37:43 +00:00
Mark Vejvoda
a4ad1f5aea - bugfixes for network player disconnect feature 2012-09-21 15:03:13 +00:00
Mark Vejvoda
9fc64f4878 - limit players to 5 cell markers max at any given time 2012-09-20 22:18:10 +00:00
Mark Vejvoda
8d168bdb4c - add playername to console output when server waits for a client to catch up 2012-07-21 04:34:55 +00:00
Mark Vejvoda
acb648904c - attempt to stop clients from lagging too much and output to console 2012-07-21 00:55:57 +00:00
Mark Vejvoda
159a273aa1 - bold change to see what this does for network play (CAUTION THIS is for testing only and may be reverted) 2012-07-21 00:23:27 +00:00
Titus Tscharntke
73919c860d New quick highlight pointer for minimap ( we need another key for this, at the moment its "shift" ) 2012-07-13 21:50:34 +00:00
Mark Vejvoda
490ba7e824 - headless admin cannot launch a game unless there are at least two players connected 2012-07-07 05:35:25 +00:00
Mark Vejvoda
4202989014 - attempt to switch CRC to use unsigned int everywhere 2012-07-07 02:46:57 +00:00
Mark Vejvoda
330070a632 - more logging to track down cold's issue 2012-07-06 23:18:30 +00:00
Mark Vejvoda
e94d7b2fef - bugfix for cell markers to avoid out of synch 2012-06-22 05:46:19 +00:00
Mark Vejvoda
81cc68305c - added the ability to remove cell markers 2012-06-13 16:19:44 +00:00
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
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
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
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
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
d33e1174a5 - bugfixes related to cppcheck report
- bugfixes found using valgrind (memory leaks)
2011-12-02 16:07:59 +00:00
Mark Vejvoda
03a7a72ef5 revert network code back to beta1 code 2011-11-27 05:27:50 +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
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
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
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
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
57afc2d715 - phase 2 of cppcheck verbose fixes 2011-09-01 01:11:23 +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
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
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
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
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
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
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
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
8ec58868dc - attempt to improve network performance (use separate mutexes for read / write operations) 2011-02-15 07:49:40 +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
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
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
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
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
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
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
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
8ab3366c66 - added player color coding in lobbies as well as chat console 2010-10-22 07:28:55 +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
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
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
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
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
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
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
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
0d7d0e139d - updated disconnect checking to include a timeout check for our custom ping 2010-07-09 17:12:57 +00:00
Mark Vejvoda
3e53b69676 - added client side ping style packet for linux socket disconnect checking 2010-07-09 15:01:49 +00:00