Commit Graph

339 Commits

Author SHA1 Message Date
Regalis
0cd2d7a0b9 Readded traitors 2017-01-30 19:49:13 +02:00
Regalis
4589c2bcfb Syncing changes to ingame editable item properties (light colors etc) 2017-01-27 18:28:07 +02:00
Regalis
e27fa1c7ee Readded team assignment logic 2017-01-15 20:39:06 +02:00
Regalis
b0231105a2 Reimplemented private chat messages 2017-01-15 17:49:31 +02:00
Regalis
8f50cca026 Syncing StatusEffects applied by meleeweapons or using an item on self 2017-01-15 14:49:15 +02:00
Regalis
f7ac98ab5f Broken items can be repaired, fixed clients never removing firesources (causing the lights to stay after the flames have been extinguished) 2017-01-14 20:30:46 +02:00
Regalis
bd7766d3e7 Server clears EntityEventManager before starting a new round, not just when ending it (fixes events breaking during the next round if an item created an event when unloading the previous sub) + some additional error checks 2017-01-14 20:26:41 +02:00
Regalis
6252db7928 - fixed server validating its own name instead of the name of a client who's logging in
- clients automatically reconnect to the server when the connection is lost and return back to server list if they fail to reconnect
- showing the error msg as a GUIMessageBox and returning to main menu if starting a server fails
2017-01-14 16:57:47 +02:00
Regalis
9b03b2bcc1 Server ignores UPDATE_INGAME messages if the game isn't running, server doesn't set any of the clients' lastRecvIDs above the ID of the latest chatMsg/event/etc (clients can't have received something the server hasn't sent yet) 2017-01-13 18:07:00 +02:00
Regalis
08053bec85 Clients can join the game mid-round 2017-01-12 20:42:15 +02:00
Regalis
ed675dc75e Lobby update ID isn't included in ingame update messages, resetting lastRecvGeneralUpdate in InitClientSync 2017-01-11 23:37:30 +02:00
Regalis
037bd09c2c - clients ignore lobby updates if they already received a more up-to-date one
- server tells clients their ID in the first lobby update
- clients take control of a spawned character if their ID matches the ownerID of the character (-> respawning works now)
2017-01-11 21:31:19 +02:00
Regalis
b9006983e4 Item condition syncing 2017-01-11 18:01:07 +02:00
Regalis
3041138f03 Inventory.TryPutItem doesn't put an item in the inventory (or create a NetEntityEvent) if the item is already in it 2017-01-10 20:50:31 +02:00
Regalis
df59f0d089 Fixed speech bubbles, server sends the ID of a speaking character instead of the name 2017-01-10 18:40:12 +02:00
Regalis
ff96f152ce Resetting EntityEvent & EntitySpawner IDs when starting a new round, LOS effect is enabled when a client takes control of a character 2017-01-09 18:22:37 +02:00
Regalis
05cb5989dc Chat range also affects the server host if they're controlling a character, fixed missing sender names in the server lobby 2017-01-07 20:24:01 +02:00
Regalis
402c745fc3 Reimplemented chat range & radio messages. Each client now has their own chatMsgQueue, so all chat messages don't have to be sent to all clients. 2017-01-07 19:22:48 +02:00
Regalis
44cbd0d9bf Fixed AI characters constantly flipping over the X-axis when inside, fixed clients not receiving a msg about characters spawned by RespawnManager 2017-01-07 16:51:51 +02:00
Regalis
5d83a33876 Notifying clients when the round ends 2017-01-06 19:06:11 +02:00
Regalis
65d64af041 Server reads CHARACTER_INPUT messages even if the client isn't allowed to move (but ignores the inputs), otherwise it would fail to read the rest of the packet 2017-01-06 18:19:51 +02:00
Regalis
518eea746e Transforming in-sub MemPos/MemLocalPos coordinates to outside coordinates if the character is outside and vice versa, server doesn't start sending ingame updates until they receive the first ingame update message from the client (no need to send updates while the client is loading or if they fail to start the round) 2017-01-05 18:16:58 +02:00
Regalis
1eea373117 NetEntityEvent fixes:
- comparing event data equality with Object.Equals instead of == because == returns false for boxed value types
- fixed old unacked messages not being resent if there are newer unacked messages that have been resent less than 1.5 * RTT ago
2017-01-03 20:10:03 +02:00
Regalis
c318e629ff Health, bleeding, oxygen & stun syncing, sending aim and use inputs and cursor positions to clients so other players will be able to see when someone is shooting, hitting with a wrench etc 2017-01-02 22:12:50 +02:00
Regalis
1f07b18e5b Merge branch 'master' into new-netcode
Conflicts:
	Subsurface/Properties/AssemblyInfo.cs
	Subsurface/Source/Items/Components/DockingPort.cs
	Subsurface/Source/Items/Components/Signal/Wire.cs
	Subsurface/Source/Items/Item.cs
2016-12-29 22:18:27 +02:00
Regalis
020aac55ea AICharacter position syncing 2016-12-29 22:01:50 +02:00
Regalis
0e1c94e928 Resyncing netlobby if starting a shift fails (-> autorestart timer resets also at the clients' end) 2016-12-14 17:48:17 +02:00
Regalis
3411448ae8 Submarine position syncing improvements 2016-12-10 19:53:35 +02:00
Regalis
1f454d593e Inventory syncing, objHeader is passed to the ClientRead/ServerRead methods so they can determine how to read the msg (is it an inventory update, position, input, etc) 2016-12-10 16:39:58 +02:00
Regalis
9192dad6ea EntityEventManagers wait for 1.5*roundtriptime before resending messages (less unnecessary resends), skipping to the next event in a packet if an exception is thrown while reading an event 2016-12-09 20:00:41 +02:00
Regalis
bea523187b The host can send chat messages, fixed client not being passed to ServerRead methods 2016-12-09 16:45:08 +02:00
Regalis
e4744e8385 Resetting EventManager IDs when ending the round, NaN/INF check when setting camera position 2016-11-24 20:48:20 +02:00
Regalis
ffb6ec2000 Fixed server infobox saving 2016-11-24 20:40:28 +02:00
Regalis
adde3461ea Merge branch 'master' into new-netcode
Conflicts:
	Subsurface/Properties/AssemblyInfo.cs
	Subsurface/Source/Characters/Animation/HumanoidAnimController.cs
	Subsurface/Source/Characters/Character.cs
	Subsurface/Source/Items/Components/Door.cs
	Subsurface/Source/Items/Components/Power/PowerContainer.cs
	Subsurface/Source/Items/Components/Signal/Wire.cs
	Subsurface/Source/Items/Item.cs
	Subsurface/Source/Networking/ChatMessage.cs
	Subsurface/Source/Networking/GameClient.cs
	Subsurface/Source/Networking/GameServer.cs
	Subsurface/Source/Networking/GameServerLogin.cs
	Subsurface/Source/Networking/GameServerSettings.cs
	Subsurface/Source/Networking/NetworkMember.cs
2016-11-24 19:52:40 +02:00
Regalis
c3b84ca835 Re-enabled client permission settings in NetLobbyScreen, fixed clients not setting their permissions when receiving PacketTypes.Permissions 2016-11-21 17:46:03 +02:00
Regalis
4cef011131 Hull volume helper is hidden when no hulls are selected, using the HasPermission method for consistency 2016-11-21 16:55:56 +02:00
juanjp600
ba7fcad8f2 Readded special client permissions
Also added a command that requires a password to gain the permissions.
I think they were never vulnerable in the first place, gamerfood was just trying to intimidate us.
2016-11-20 22:01:37 -03:00
juanjp600
7a3bce3973 Hull volume helper in editor + Character name matches client name + Better-looking Watcher light source
Also '' is a thing of the past, use \" instead
2016-11-20 18:47:22 -03:00
juanjp600
2d6196b5f0 Trim spaces from name
Some troll exploited this on Landon's public server, so here's a fix.
2016-11-19 22:15:58 -03:00
juanjp600
7a33f5c120 Merge branch 'master' of https://gitlab.com/poe.regalis/barotrauma
# Conflicts:
#	Subsurface/Source/GameSession/GameSession.cs
2016-11-16 21:32:22 -03:00
juanjp600
fac0c850a5 Changes to collider behavior
The collider now levitates above the ground, which makes small obstacles a non-issue. The raytest also helps the collider stick to staircases, so players don't jump off anymore.
Crouching now changes the collider to a smaller version, so now there is actual functionality to crouching.
I also removed the anchor from corpses of network players. I'm not entirely sure why this was done, but removing it doesn't seem to break anything.
2016-11-16 21:30:49 -03:00
Regalis
1c206e1730 Adding CrewManager to GUIUpdateList in single player mode 2016-11-16 21:40:13 +02:00
Regalis
16cf9f6c81 Handling exceptions in particle update, gamesession UI order fix, traitor setting loading fix 2016-11-16 20:14:14 +02:00
Regalis
f8d2bb4e2a Merge branch 'master' of https://gitlab.com/poe.regalis/barotrauma 2016-11-16 17:37:43 +02:00
Regalis
5b99f9e35e Saving server info box & traitor settings 2016-11-16 17:36:38 +02:00
juanjp600
5922fc972d Merge branch 'master' of https://gitlab.com/poe.regalis/barotrauma 2016-11-15 22:26:46 -03:00
juanjp600
d2c17274fe GUI elements now respect render order + some minor distance comparison optimization 2016-11-15 22:26:36 -03:00
Regalis
dd5eb69875 Fixed respawned characters getting a different team ID than the rest of the characters (causing them to be displayed as a separate team in the crew menu) 2016-11-14 20:09:37 +02:00
Regalis
0c9a55e9e0 - server doesn't create a new EntityEvent if there's a duplicate event waiting to be sent
- hull, radar, steering & pump syncing
2016-11-14 16:58:21 +02:00
Regalis
3d234aef73 Sending NetEntityEvents from client to server, ItemComponent class doesn't implement the INetSerializable interfaces (only the derived classes do), reactor syncing 2016-11-13 19:34:23 +02:00