Regalis
2b27755b61
Team ID assignment fixes:
...
- Clients are assigned to team 1 in sandbox mode (because the host is also in team 1).
- Respawning characters are always assigned to team 1 (otherwise mid-round joining clients would end up in team 0 because the team assignment is done when the round starts)
2017-06-03 18:08:47 +03:00
Regalis
fe81355039
Fixed crashing if attempting to send radio messages without a radio in the inventory (Undertow Games - first-rate QA since 2014)
2017-06-03 16:32:44 +03:00
Regalis
6aae2f0ae9
- Job assignment fix: characters that are in a different team don't add to the assigned job count.
...
- If a client doesn't enter the game within 30 seconds of starting the game, their character is automatically killed (otherwise the character would stay in-game in the disabled state indefinitely).
- Clients don't update CombatMissions if neither team has any characters (the clients may not have received messages about the characters spawning yet, which would cause them to show the "team dead" message immediately when the round starts).
2017-06-02 21:54:20 +03:00
Regalis
70e862e92f
- both clients and server limit the number of chat messages written per packet
...
- added an error message if MTU is exceeded
- if the server disconnects a client while reading a message from them, the rest of the message is ignored
2017-06-01 22:07:01 +03:00
Regalis
a07f2c8346
Spam filter tweaking: ChatSpamSpeed increases even if messages aren't similar, clients can get kicked out if they keep sending messages after they've been muted
2017-06-01 22:00:55 +03:00
Regalis
9adb3fd8fa
Disabled a leftover entityevent debug message
2017-06-01 19:52:02 +03:00
Regalis
5455af24d7
Readded spam filter
2017-06-01 19:37:08 +03:00
Regalis
87788b449e
Disabled EntityEvent debug messages from release builds
2017-05-30 19:47:29 +03:00
Regalis
33b3e5374b
Fixed a null exception if the server log UI hasn't been opened and the max number of lines is reached
2017-05-29 17:15:26 +03:00
Regalis
dc80ee810c
Separate servelog message type for inventory usage
2017-05-28 22:36:55 +03:00
Regalis
09785184b3
Speech bubbles aren't shown above dead characters
2017-05-26 19:43:55 +03:00
Regalis
c40c3a1a98
Clients don't modify the colors of the texts in the netlobby sub list, only their alpha
2017-05-25 18:27:47 +03:00
Regalis
d6c700b535
Spawning extra cargo
2017-05-24 18:43:21 +03:00
Regalis
53bfbb3ea7
Fixed stack overflow when attempting to cancel a file transfer client-side
2017-05-20 15:35:55 +03:00
Regalis
e3b595b9e0
Cleanup (removing unused variables & other redundancies, rethrowing exceptions instead of wrapping them in a new exception instance)
2017-05-20 15:35:13 +03:00
Regalis
9c1a76707f
conflict fix
2017-05-17 18:56:45 +03:00
Regalis
095054182e
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Source/GUI/GUITextBlock.cs
Subsurface/Source/GameMain.cs
Subsurface/Source/Items/Components/Machines/Radar.cs
Subsurface/Source/Networking/GameClient.cs
2017-05-17 18:51:22 +03:00
Regalis
ad90cf804d
- respawn, fabricator & deconstructor logging
...
- fixed listbox child hiding 4 real now
- dockingport logging fix (name of the sub instead of submarine.ToString)
2017-05-09 21:39:39 +03:00
Regalis
63b5ad1821
Friendlier serverlog message type labels
2017-05-09 21:07:29 +03:00
Regalis
d0065cdd97
Having a hidden child in a listbox doesn't prevent successive children from being rendered, server log can be filtered by message type
2017-05-09 21:02:42 +03:00
Regalis
c2d918073e
Serverlog message types (which atm only determine the color of the message)
2017-05-09 19:56:12 +03:00
Regalis
bee570e2e3
- the server log view is not cleared when saving the log (but old messages are removed when going over the max number of lines)
...
- log can be viewed in the server lobby, not just in-game
- logging pump, reactor & battery state usage
- GUIListBox.MouseRect doesn't return an empty rect anymore -> listboxes without selectable content can be scrolled with the mouse wheel
2017-05-08 21:30:54 +03:00
Regalis
7dad837733
Server limits chatmessage length and the number of chatmessages written in one packet
2017-05-08 19:06:05 +03:00
Regalis
152a92e600
Server removes events if no clients are playing. Otherwise the server would keep creating new events indefinitely and midround-joining clients would instantly get kicked out because they're missing very old events.
...
+ fixed server not sending midroung sync messages if the list of new (non-unique) events is empty
2017-05-05 00:14:30 +03:00
Regalis
ba49f59204
Some cleanup (mostly removing redundancies from the GameMain class)
2017-05-03 00:27:13 +03:00
Regalis
ab4e8cee83
The server ignores lastRecvIDs in SYNC_IDS messages if the IDs aren't valid (earlier than the client's previous ID, or more recent than the newest ID).
...
Should be safer than clamping to the valid range - an incorrectly read packet or a message sent just before switching from midround syncing to normal won't cause the IDs to jump to the newest ID and prevent clients from receiving further msgs/events.
2017-05-02 22:46:37 +03:00
Regalis
d1c633385b
Unique event IDs start from 1 (otherwise the server/clients will think event #0 has been already received)
2017-05-02 22:21:58 +03:00
Regalis
d0b52d92fe
Event ID wraparound fixes
2017-05-02 22:18:36 +03:00
Regalis
06db2fed86
Fixed clients incrementing their lastReceivedID every time they receive an empty entity event (even if the event has already been received)
2017-05-02 22:15:18 +03:00
Regalis
6c770afd6a
Clients aren't allowed to use the same name as the server, changed radio msg color back to yellow
2017-05-02 18:36:12 +03:00
Regalis
511f24cc47
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Source/GameMain.cs
Subsurface/Source/Networking/ChatMessage.cs
Subsurface/Source/Networking/NetworkMember.cs
Subsurface/Source/Screens/NetLobbyScreen.cs
2017-05-01 19:25:07 +03:00
Regalis
f92c2df9f7
TextBoxes align text to the right and hide any overflowing text at the left if the width of the box is exceeded
2017-04-30 18:14:25 +03:00
Regalis
90f354f6d7
Clients notify the server when they "give in" (i.e. kill their character when unconscious)
2017-04-26 23:39:41 +03:00
Regalis
3e5f8a43a0
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Source/GUI/GUIButton.cs
Subsurface/Source/GameSession/CrewManager.cs
Subsurface/Source/GameSession/GameSession.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Screens/MainMenuScreen.cs
Subsurface/Source/Screens/ServerListScreen.cs
2017-04-24 19:10:51 +03:00
Regalis
df7daa5925
Fixed incorrectly positioned character info boxes in the info menu
2017-04-24 19:08:25 +03:00
Regalis
31f7eca717
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Source/GUI/GUIButton.cs
Subsurface/Source/GameSession/CrewManager.cs
Subsurface/Source/GameSession/GameSession.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Screens/MainMenuScreen.cs
Subsurface/Source/Screens/ServerListScreen.cs
2017-04-23 21:40:11 +03:00
Regalis
2cac176c87
More UI tweaking
2017-04-20 21:24:52 +03:00
Regalis
f407a38c9e
Fixed clients being able to vote for kicking multiple times by disconnecting and reconnecting
2017-04-18 19:46:57 +03:00
Regalis
9a5777183f
Separate sprites for horizontal and vertical scrollbars, style tweaking
2017-04-18 19:24:13 +03:00
Regalis
e4a7d31f78
If a recipient can't be found for a private message sent by a client, the server sends the "player not found" error message to the client
2017-04-17 19:48:29 +03:00
Regalis
f4c01f68ed
Fixed incorrectly length in character position updates (1 bit off), clients read pad bits in position updates
2017-04-12 23:44:58 +03:00
Regalis
dc6ed7daf1
Separate component style for item UIs + option to select the style in the item config files, removed a bunch of hard-coded UI element color changes
2017-04-10 18:11:33 +03:00
Regalis
887735ff32
- DockingPort syncing fix: server waits until the port is locked before sending hull/gap IDs, clients can't lock the port until the server tells them to
...
- fixed crew commands being disabled in single player instead of multiplayer
- server-side ID error logging fix
2017-04-09 20:51:57 +03:00
Regalis
0301457a8f
A fix to occasional "unknown object header" errors.
...
If an entity had been removed and it's ID taken by some other entity, clients who hadn't received a message about the removal and the new entity would end up reading ENTITY_POSITION messages for the new entity incorrectly. Reading an incorrect number of bits from the message would also prevent the clients from reading the rest of the data in the packet properly.
Now the server doesn't send position updates to clients during midround syncing (because there's no guarantee they know about the entity yet). Clients also force the read position to the correct place after reading a position update in case something goes wrong when reading the msg.
2017-04-09 19:04:49 +03:00
Regalis
e94a50a29a
The server keeps track of which ID a client is going to switch to when midround syncing is done, and switches the ID immediately when the client is in sync (instead of waiting for the client to report the new ID).
...
Fixes clients occasionally getting kicked out the moment they're in sync, because their latest received ID is still set to the ID of the last unique event and the server thinks they're requesting some old event that doesn't necessarily exist anymore.
+ added a debug command that creates a ton of entity events
2017-04-08 20:10:15 +03:00
Regalis
3844dd9dac
GUIStyle logic changes: instead of having a predetermined GUIComponentStyle for each type of GUIComponent, any GUIComponent can use any style. The GUIComponent constructors take the name of the style as a parameter, and if no style is specified, the default style for the GUIComponent in question will be used.
2017-04-08 16:46:53 +03:00
Regalis
af80a44970
Server doesn't apply distance effects to chat messages sent by someone without a character (e.g. a client in the lobby, the server itself)
2017-04-07 18:12:14 +03:00
juanjp600
2873a79fe0
Merge branch 'new-netcode' of https://gitlab.com/poe.regalis/barotrauma into new-netcode
2017-04-06 16:50:20 -03:00
juanjp600
e1d5d63dbd
Sync monster spawn settings
2017-04-06 16:50:11 -03:00
Regalis
9330bd08de
Clients don't switch from init events to normal until they receive the first normal event update (instead of switching when they receive the last init event they know about). Otherwise the client may switch to normal events too early, if the server has created new unique events the client doesn't know about yet.
2017-04-06 21:52:24 +03:00