Commit graph

257 commits

Author SHA1 Message Date
elexis
e0f7578fbe Ensure unique client GUIDs. Patch by sbirmi, fixes #3949.
Two clients chosing the same GUID is highly unlikely, yet possible.
A malicious client chosing an existing GUID would have resulted in
unassigning the player with that GUID.

This was SVN commit r19225.
2017-02-14 16:54:34 +00:00
Imarok
5f8f7bae20 Stay ready button
Reviewed by: elexis
Differential Revision: https://code.wildfiregames.com/D49
Fixes #4369.

This was SVN commit r19216.
2017-02-10 16:09:10 +00:00
elexis
fd5bd8e301 Fix 9964bee5bb.
Differential Revision: https://code.wildfiregames.com/D100
Reviewed By: Imarok
This was SVN commit r19182.
2017-01-28 20:47:26 +00:00
elexis
9964bee5bb Change the NetServer Broadcast function to send the given message to clients that are in one of the states specified by the caller.
Thus remove the peculiarity to broadcast to clients that are in the
gamesetup, loading screen or ingame, but not rejoining ones.

Fix "unknown player" errors in the GUI by broadcasting player
assignments to rejoining players too. Fixes #4036.

Differential Revision: D17
Reviewed By: Imarok
This was SVN commit r19171.
2017-01-25 19:04:17 +00:00
elexis
4f01db4831 Split TurnManager classes into individual files per class. Patch by echotangoecho, fixes #4095.
Remove the "Net" prefix from the non-networked classes.
Use variadic macros and mark the client turnmanager as NONCOPYABLE.

Differential Revision: D16
Reviewed By: leper
This was SVN commit r19165.
2017-01-24 02:04:50 +00:00
elexis
b18f74da44 Remove trailing whitespace and whitespace in empty lines of source/ except source/third_party/.
This was SVN commit r18987.
2016-11-23 11:18:37 +00:00
elexis
44f0929ea6 Don't throw FSM update errors (type=16 state=6) when kicking clients while others haven't finished the authentication, loading screen or synchronization yet, refs #3241.
This was SVN commit r18859.
2016-10-23 15:44:02 +00:00
elexis
20399b72f1 Fix a bug where the networked game would never start if a client would disconnect while synchronizing, fixes #4289.
This was SVN commit r18858.
2016-10-23 15:13:16 +00:00
Itms
caef42084d Add missing JSAutoRequest calls. (hopefully all of them have been spotted now)
Patch by echotangoecho, refs #4053

This was SVN commit r18730.
2016-09-18 09:34:45 +00:00
elexis
24a488bacc Increase the maximum observer limit to 32 for the upcoming release, refs #4210.
This was SVN commit r18719.
2016-09-11 22:46:00 +00:00
Itms
0cc23c1964 SpiderMonkey 38 upgrade: 33/35
Remove a workaround. Note that this removal is incomplete. Based on
patch by leper.

This was SVN commit r18687.
2016-09-02 16:53:22 +00:00
Itms
b01300c222 SpiderMonkey 38 upgrade: 11/35
Renamed JS_CallHeapFooTracer to JS_CallFooTracer. Patch by leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1052388

This was SVN commit r18665.
2016-09-02 16:25:42 +00:00
Itms
761abd587e SpiderMonkey 38 upgrade: 10/35
Use operator= instead of .set(). Patch by leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1128110

This was SVN commit r18664.
2016-09-02 16:24:46 +00:00
Itms
bb1f86f515 Remove duplication of the Hexify function.
Remove the useless extern keyword from function declarations in
ps/Util.h.

Patch by echotangoecho, refs #4095

This was SVN commit r18591.
2016-08-08 12:50:39 +00:00
elexis
46cabf0fde Add missing JSAutoRequest calls. Based on patch by echotangoecho, refs #4053.
This was SVN commit r18451.
2016-06-29 00:00:44 +00:00
wraitii
7c21a0cf8e Header cleanup: profile.h is no longer unnecessarily included in scriptinterface.h but rather in the required .cpp files
This was SVN commit r18417.
2016-06-21 10:33:11 +00:00
elexis
a874b3c1c3 Colorize playernames in the kick/ban chat notification, refs #3241.
This was SVN commit r18391.
2016-06-16 17:13:02 +00:00
elexis
62061557db Host on arbitrary UDP ports. Patch in cooperation with Imarok, fixes #3575.
This was SVN commit r18372.
2016-06-13 16:56:14 +00:00
elexis
248a48d88a Major network cleanup. Patch by Imarok.
Access the server from the client only, not from the GUI (except for
autostarted games).
Thereby lay the foundation for clients to setup the game (refs #3806)
and dedicated hosting (refs #3556).
Doesn't transfer nor remove the SetTurnLength showcase from 0ebe3486b6.

This was SVN commit r18322.
2016-06-04 12:08:30 +00:00
elexis
903803ceec Gamesetup ready- and PlayerAssignments-cleanup.
Split logic to onClientJoin onClientLeave.
Remove duplicate, yet slightly different ready button caption.
Rename hosts to newAssignments in the GUI message sent by the NetClient.

This was SVN commit r18299.
2016-06-03 02:28:29 +00:00
elexis
ac4533f7df Network cleanup, refs #3752.
Replace a TODO comment asking why something is set with a comment
answering that.

This was SVN commit r18268.
2016-05-30 17:59:02 +00:00
elexis
b2f3402c50 Network cleanup.
Remove unused netmessage type NMT_LAST.
Use CStr instead of the alias CStr8.
Remove unneeded comments.

This was SVN commit r18226.
2016-05-24 12:21:21 +00:00
elexis
7cd43ba8cf Fix whitespace and remove duplicate comment, refs #1950.
This was SVN commit r18208.
2016-05-20 12:51:27 +00:00
elexis
ec1696ded3 Send a network message to update the GUI if another player pauses a multiplayer game. Patch by echotangoecho, fixes #1950.
Pause animations then and on disconnect.
Don't unpause unintentionally when closing a message box in
singleplayer.

This was SVN commit r18204.
2016-05-19 22:10:38 +00:00
elexis
856dc1c999 Network cleanup.
Send the "client has rejoined" message after the synchronization
finished instead of right after the loading screen.
Patch by echotangoecho, refs #1949, #1950.

This was SVN commit r18203.
2016-05-19 21:03:46 +00:00
elexis
883d1aaf48 Fix Windows build. Those includes in 1a3fb29ff3 didn't resolve properly on Windows, refs #3953.
This was SVN commit r18143.
2016-05-08 16:25:00 +00:00
elexis
1a3fb29ff3 Network cleanup, fixes #3953.
Don't compare for "127.0.0.1" to identify the host, but check for a new
boolean flag that is set by the client, refs #2854.
Remove an unneeded IP address conversion from u32 to string, refs #3241.

This was SVN commit r18140.
2016-05-08 11:46:19 +00:00
elexis
462540585b Network cleanup.
Only send the network-warnings to clients that successfully joined the
gamesetup or game.
Thus save a bit performance and
prevents a rare, harmless FSM update error (like in refs #3199) in case
a client received the message while authenticating.
Reported by fatherbushido, refs #3264.

This was SVN commit r18117.
2016-05-01 10:33:51 +00:00
Itms
d70062c348 Cleanup of the network code (range-based for, remove spaces between angle brackets, and other little things).
Based on a patch by elexis, fixes #3907

This was SVN commit r18091.
2016-04-24 20:48:53 +00:00
elexis
d3255168b9 enet backward-compatibility fix, refs #2854. Patch by texane, fixes #3863.
This was SVN commit r17960.
2016-03-27 23:27:37 +00:00
elexis
d61e315f4d Fix few style issues remarked by leper.
Add a unit (seconds) to the network-timeout warning.
Rename isChatAddressee to parseChatAddressee as it changes the message.
Early return for EnableOOSLog to avoid printing duplicate messages.

This was SVN commit r17895.
2016-03-15 04:37:41 +00:00
elexis
042c9a9334 Allow hosting matches with 8 players and up to 16 observers, fixes #3254.
The host can change the number of allowed observers in running games.

Make sure that joining observers won't take the "slot" of disconnected
players, fixes #3671.

Send clients a new disconnect reason "Server full" instead of letting
them timeout.

This was SVN commit r17881.
2016-03-13 16:52:00 +00:00
elexis
e0a9dfd5a2 Allow changing the late-observer flag in a running game, fixes #3669.
Remove it from the game-attributes, since it is not used in the
simulation, nor are they supposed to change in running games.

This was SVN commit r17861.
2016-03-10 11:35:43 +00:00
elexis
2305218d9f Optionnames are in lower case, refs #3604.
This was SVN commit r17860.
2016-03-10 11:16:15 +00:00
elexis
f2ed0098ee Make the playername-deduplication ("User" -> "User (2)") optional.
Have it disabled by default to fix #3604.
Prevents players from rejoining as late-observers in case they timed-out
on the client-side but not on the server-side.

This was SVN commit r17851.
2016-03-09 15:02:38 +00:00
elexis
2e7e1c0b2b Prevent the local client of the host from becoming disconnected in case of lag, fixes #2854.
This was SVN commit r17772.
2016-02-18 13:10:59 +00:00
elexis
f8b20d181d Add chat-addressee dropdown, refs #1767.
Add observer-only chat and allow private messages from observer to
observer.
Prevent defeated players from using the team-chat, fixes #3441.

This was SVN commit r17771.
2016-02-18 01:09:56 +00:00
elexis
cd9106b664 Fix / finish previous commit.
This was SVN commit r17747.
2016-02-09 14:34:59 +00:00
elexis
ca9d06d6ad Correct handling of replays with no turns or only turn 0.
Add a comment for 3ec3f0b160.
Some style fixes.

This was SVN commit r17746.
2016-02-09 12:09:17 +00:00
mimo
43f358563c when saving an option to file, write only that value and not all the content of the user configDB, refs #3737
This was SVN commit r17738.
2016-02-07 11:31:23 +00:00
elexis
22f5b00fce Implement network-warnings, fixes #3264.
Shows a notification if the local client or other players connections
timeout or have bad latency.

This was SVN commit r17730.
2016-02-04 17:14:46 +00:00
elexis
ab16ddb256 Show a more specific disconnect-message in case the host closed the server. Refs #3264, #3570.
This was SVN commit r17710.
2016-01-25 12:56:30 +00:00
elexis
3ec3f0b160 Stop the animations at the end of visual replays, refs #3581.
This was SVN commit r17709.
2016-01-25 10:23:03 +00:00
leper
f34dc412b6 Deep freeze simulation commands to prevent accidental updates. Fixes #3647.
This was SVN commit r17673.
2016-01-18 22:24:50 +00:00
elexis
893ca29723 Allow 10 clients to conncet to the server by default (allows 8 players and 2 observers). Refs #3254.
This was SVN commit r17620.
2016-01-10 01:06:07 +00:00
elexis
b790403c87 Strip trailing whitespace from network code.
This was SVN commit r17524.
2015-12-21 13:58:32 +00:00
wraitii
39f572af88 Stop processing turns after a replay finishes. Patch by elexis. Fixes #3581
The animations continue because we currently have no easy way to stop
interpolating. My suggestion would be to implement a network
synchronised pause and use something like that.

This was SVN commit r17265.
2015-11-15 15:08:46 +00:00
leper
32da740f14 Allow kicking/banning players from gamesetup and session. Patch by elexis. Fixes #3241.
This was SVN commit r17217.
2015-11-11 02:05:23 +00:00
JoshuaJB
6493974800 Fix #2676 by only acknowledging commands matching the sender's name if cheats are disabled. Based on patch by historic_bruno.
This was SVN commit r17170.
2015-11-02 03:20:44 +00:00
JoshuaJB
a6111ff8b7 Fix #3309 by capping m_DeltaSimTime in NetTurnManager.cpp. Patch by elexis. Review by Philip.
This was SVN commit r17159.
2015-10-31 21:04:47 +00:00