Commit Graph

537 Commits

Author SHA1 Message Date
Mark Vejvoda
560ed46cc0 - more bugfixes for slot switching and joining in progress games
- disallow server to toggle pause state when client is joining
- fix dmp extension on linux
2013-03-06 14:29:49 +00:00
Mark Vejvoda
47aa0050b8 - this seems to be stable now and handles lag quite well i think 2013-03-02 07:33:01 +00:00
Mark Vejvoda
951cd33ef4 - try to get threaded client working without lag 2013-03-02 02:35:53 +00:00
Mark Vejvoda
019c7edcc7 - try to get threaded client working without lag 2013-03-02 02:19:34 +00:00
Mark Vejvoda
6603e08c96 - try to get threaded client working without lag 2013-03-02 00:53:55 +00:00
Mark Vejvoda
c49962c644 - try to get threaded client working without lag 2013-03-02 00:30:26 +00:00
Mark Vejvoda
2fc2e51842 - attempt to fix lagging clients 2013-03-01 23:31:53 +00:00
Mark Vejvoda
2d2ec9afac - allow the game to be published if it allow in game joining 2013-03-01 17:21:58 +00:00
Mark Vejvoda
b6cefa3388 - attempt to fix lag issue when resuming paused network game (also for resume joining in progress game) 2013-03-01 06:52:33 +00:00
Mark Vejvoda
e4235cc551 - attempt to further stabilize joining in progress games 2013-02-27 06:46:42 +00:00
Mark Vejvoda
b0a370900f - attempt to make joining in progress games a bit more reliable and stable 2013-02-26 23:31:59 +00:00
Mark Vejvoda
13665d58f1 - attempt to fix light sources handling as reported by tomreyn
- allow speed up / slow down for network game as long as no-one is connected
2013-02-26 20:48:20 +00:00
Mark Vejvoda
45b8cf21a4 - attempt to fix disconnect and thread lock for in game connect games 2013-02-26 07:05:46 +00:00
Mark Vejvoda
e0bda20f5e - bugfix for slot not re-opening after disconnect when required 2013-02-24 00:28:45 +00:00
Mark Vejvoda
c8cdca22fd - some code cleanup and try to improve joining in progress game performance 2013-02-19 22:00:15 +00:00
Mark Vejvoda
54c026bb3e - bugfixes for in game joining 2013-02-17 07:15:01 +00:00
Mark Vejvoda
cfe0f6bb55 - bugfix for in game joining 2013-02-16 19:26:17 +00:00
Mark Vejvoda
45dc4c0e5d - updates to join in progress game, and now allow for switching slots 2013-02-16 19:11:36 +00:00
Mark Vejvoda
b38f6b20a1 - updates to join in progress game, and now allow for switching slots 2013-02-16 10:07:36 +00:00
Mark Vejvoda
9d19ff2b57 - added the first draft of joining games in progress 2013-02-15 18:25:10 +00:00
Mark Vejvoda
bff9b1b3bc - cleanup a bunch of vc++ compile / link warnings 2013-02-01 08:12:20 +00:00
Mark Vejvoda
8cd7aa0e43 - code cleanup from cppcheck 2013-01-25 02:55:28 +00:00
Mark Vejvoda
a15bdecbf3 - a few safety changes for network communication
- small tweaks for unit selection
2013-01-24 21:09:40 +00:00
Mark Vejvoda
7ecc7325ac - trying to trace nig's crash (more debug info and safer code) 2013-01-23 14:51:28 +00:00
Mark Vejvoda
90ad8581d7 - bug fixes for new thread manager when in game lobby 2013-01-12 04:40:44 +00:00
Mark Vejvoda
0f34a886c6 - headless admin cannot start unless min authenticated players are connected 2013-01-11 23:48:57 +00:00
Mark Vejvoda
563bd8ac57 - client disconnect handling improvement 2013-01-11 04:32:52 +00:00
Mark Vejvoda
4401bcbd3f - client disconnect handling improvement 2013-01-10 21:30:38 +00:00
Mark Vejvoda
5d2066fdbb - added a new thread manager to try to see if it takes less CPU cycles while the thread controller waits for slaves to do their work. To enable the experimental thread manager set: EnableNewThreadManager=true 2013-01-10 21:16:28 +00:00
Mark Vejvoda
66bc98c106 - bugfix for nig's client disconnect error 2013-01-09 23:34:37 +00:00
Mark Vejvoda
779ab1348f - attempt to fix crash on windows when server exits game 2013-01-09 01:53:00 +00:00
Mark Vejvoda
ee2ad95164 - attempt to improve ai decision performance by having each ai player updates done in a thread 2013-01-01 18:55:26 +00:00
Mark Vejvoda
c14c9ebc2d - attempt to fix the segfault reported by tomreyn when headless admin disconnects from the server 2012-12-19 19:55:49 +00:00
Mark Vejvoda
07c2af4b99 - no need to crash if admin port already in use, just output error to console 2012-11-15 15:08:30 +00:00
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
35f6a6665b - attempt to keep irc connection and just join / leave the irc channel as required to speed up irc in the lobby 2012-11-10 09:22:28 +00:00
Mark Vejvoda
8a0390db35 - cleanup compiler warnings 2012-11-10 07:31:21 +00:00
Mark Vejvoda
2e14844a24 - attempt to bugfix windows using proper printf syntax for data types 2012-11-10 07:03:47 +00:00
Mark Vejvoda
e01ccca6a3 - try to fix build on mac 2012-11-09 19:26:44 +00:00
Mark Vejvoda
8c182b9712 - some minor cppcheck code cleanup 2012-11-05 05:40:47 +00:00
Mark Vejvoda
f0da05fd6b - added protocol to more messages 2012-11-03 08:33:10 +00:00
Mark Vejvoda
7b95922ce5 - cleanup from debugging 2012-11-03 07:49:09 +00:00
Mark Vejvoda
61cebc07fe - added some debug code for network protocol 2012-11-03 07:33:39 +00:00
Mark Vejvoda
8bd29bf39b - added some debug code for network protocol 2012-11-03 06:48:11 +00:00
Mark Vejvoda
72d6c693e1 - added some debug code for network protocol 2012-11-03 06:25:26 +00:00
Mark Vejvoda
4fcfb4de57 - added some debug code for network protocol 2012-11-03 05:26:24 +00:00
Mark Vejvoda
6307f80c12 - added some debug code for network protocol 2012-11-03 05:03:17 +00:00
Mark Vejvoda
3708f333fa - added some debug code for network protocol 2012-11-03 04:30:13 +00:00
Mark Vejvoda
79037e9381 - added some debug code for network protocol 2012-11-03 04:00:06 +00:00
Mark Vejvoda
d0b2f14513 - added some debug code for network protocol 2012-11-03 03:55:34 +00:00
Mark Vejvoda
96ff1425d3 - added some debug code for network protocol 2012-11-03 03:18:13 +00:00
Mark Vejvoda
bf22297b65 - added some debug code for network protocol 2012-11-03 02:44:39 +00:00
Mark Vejvoda
b6a25c8212 - added some debug code for network protocol 2012-11-03 01:23:48 +00:00
Mark Vejvoda
63ad898c72 - attempt to get new network protocol working on arm 2012-11-03 00:19:13 +00:00
Mark Vejvoda
b4ecc82fba - added code for new network protocol (disabled by default as i need to test this on arm) 2012-11-02 20:37:48 +00:00
Mark Vejvoda
61c86c15d1 - added code for new network protocol (disabled by default as i need to test this on arm) 2012-11-02 19:08:55 +00:00
Mark Vejvoda
00e075df97 - more byte order logic
- added new network packet debug
2012-11-01 22:00:55 +00:00
Mark Vejvoda
8c2ed1187f - working on arm support 2012-11-01 19:17:29 +00:00
Mark Vejvoda
caa37c3244 - working on arm support 2012-11-01 19:01:03 +00:00
Mark Vejvoda
56bcd62d88 - more updates to support big endian 2012-11-01 16:25:15 +00:00
Mark Vejvoda
7010ddd153 - initial attempt at making network messages endian friendly 2012-11-01 00:06:23 +00:00
Mark Vejvoda
be8564acc6 - get better error details on bad slot switch data 2012-10-31 20:50:42 +00:00
Mark Vejvoda
6266d1831d - stub out admin port for mac osx 2012-10-30 18:03:03 +00:00
Mark Vejvoda
5c15a0e9f4 - cast to unsigned int for all calls to srand 2012-10-30 17:12:04 +00:00
Mark Vejvoda
64058b17e7 - code cleanup from cppcheck
- added more checks when loading models, maps and textures
2012-10-20 07:15:13 +00:00
Mark Vejvoda
011e0263b0 - lots more code cleanup, using safe buffer size code to avoid buffer overflows 2012-10-19 01:31:20 +00:00
Mark Vejvoda
829a72db35 - added new intro video by Tiger
- bugfix for video display
- cleaned more code wanrings from cppcheck
2012-10-18 07:49:50 +00:00
Mark Vejvoda
45c62dee1b - allow querying a headless even when no clients connected 2012-10-16 22:34:18 +00:00
Mark Vejvoda
c5ac0cc8e3 - fix min player for headless game message 2012-10-06 17:50:27 +00:00
Titus Tscharntke
9a57dc095f PortExternal is only used when set. Normal case is PortServer now 2012-10-06 13:45:42 +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
7c0e10684a - added lua functions to add / remove cell markers:
addCellMarker(0,'test from scenario!','',cellMarker)
param1=factionindex
param2=cell hint
param3=empty string
param4=cellPosition

removeCellMarker(0,{46,13})
param1=factionindex
param2=cellPosition
2012-09-25 07:05:52 +00:00
Mark Vejvoda
e0bf4df646 - cppcheck round #2 cleanup 2012-09-22 20:37:42 +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
b7f72be930 - added the ability for admin player to disconnect other network players in game from a new popup menu 2012-09-21 05:45:09 +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
6ea34ea46c - added cell hint text entry when placing cell markers (supports \n and \t for text formatting) 2012-09-20 04:10:34 +00:00
Titus Tscharntke
158195a825 multiplier for CPUs replacing disconnected network player ( not finished yet! , only menu for now ) 2012-09-16 23:42:56 +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
Mark Vejvoda
9f0546c008 - set correct exit codes (for tomreyn)
- fix loading when too many units on map (do not segfault)
- deprecate ThreadedNetworkClient setting
2012-07-17 23:04:30 +00:00
Titus Tscharntke
0043511e0a less alpha for building ghosts, 'X' key for highlighting, no camera move while highlighting 2012-07-13 23:19:53 +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
be61ed89da - bugfix to have consistent info sent to masterserver when in game or in lobby 2012-07-11 05:12:10 +00:00
Mark Vejvoda
a97f8ead7e - added headless min player required message
- remove configurator from linux installer
- bugfix for headless stats connected player counts
2012-07-10 13:49:49 +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
eee0d0ab2e - more logging to track down cold's issue 2012-07-06 21:28:54 +00:00
Mark Vejvoda
b898017da9 - bugfix for server network listening to port and allow forcing ip address to bind to:
ServerAdminBindAddress=127.0.0.1
is hard coded as the default
2012-07-06 14:41:23 +00:00
Titus Tscharntke
e302efcd4e hopefully better commanding of headless servers 2012-07-05 22:03:15 +00:00
Mark Vejvoda
b08e04fa70 - flash the remote admin player# in lobby to indicate they are the admin user 2012-06-22 14:30:48 +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
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