juanjp600
ecb7500df9
Converted UInt32 ID's to UInt16
...
TODO: test everything, make sure nothing broke
2017-03-06 16:25:12 -03:00
juanjp600
7935ecce46
- fixed crash in UpdateVoteStatus
...
- fixed clients reconnecting automatically after being kicked for desync
2017-03-01 17:04:51 -03:00
juanjp600
e681a2d29a
Clients that are waiting for very old events are kicked
2017-03-01 16:40:07 -03:00
Regalis
3fcaff0288
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Properties/AssemblyInfo.cs
2017-02-22 23:33:14 +02:00
Regalis
d7aba531d7
Server port included in refresh and remove requests to master server, spectators see indicators for both subs during combat missions
2017-02-21 20:57:04 +02:00
Regalis
502211c6a7
Resetting entity event IDs (lastSentToAll & client-specific IDs) when a round ends
2017-02-20 20:26:12 +02:00
Regalis
6c8f5b8999
The server maintains a list of unique EntityEvents created during the round and sends them to clients who join mid-round
2017-02-18 15:09:13 +02:00
juanjp600
c46856167c
Stopped server events that hadn't been sent to everyone from being removed
2017-02-16 20:34:29 -03:00
Regalis
52bf73722f
ServerEntityEventManager doesn't process received events until the character inputs of the client for the corresponding frame have been processed (fixes character movement lagging behind EntityEvents at the servers side)
...
+ split character networking logic into a separate file, characters drop items at the position of their collider instead of hands
2017-02-09 23:09:42 +02:00
Regalis
d46207916f
Server doesn't send character position updates to far-away clients, clients disable characters if they haven't received position updates in a while
2017-02-07 18:59:25 +02:00
Regalis
b98ebe6e21
Readded client permissions
2017-02-06 21:07:24 +02:00
Regalis
4b8d1054b1
Changed lobby & chatMsg IDs to from uint to ushort, added a utility class that handles the wrap around of IDs
2017-02-05 22:55:19 +02:00
Regalis
9bda79036a
- server doesn't send the STARTGAME message to all clients when someone joins mid-round
...
- team ID is included in character spawn messages even if no-one is controlling the character anymore
- living characters are taken into account when assigning jobs for respawned characters (e.g. there can't be two captains alive at the same time)
2017-02-05 21:58:31 +02:00
Regalis
89e881cb57
Readded voting (submarine, mode, end round & kick)
2017-02-04 18:30:40 +02:00
Regalis
b5bac67c4a
WIP item position syncing
2017-02-02 20:40:58 +02:00
Regalis
05c5880269
Displaying the names of the connected players in the server lobby
2017-02-01 18:10:48 +02:00
Regalis
0cd2d7a0b9
Readded traitors
2017-01-30 19:49:13 +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
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
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
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
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
bea523187b
The host can send chat messages, fixed client not being passed to ServerRead methods
2016-12-09 16:45:08 +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
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
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
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
d2c17274fe
GUI elements now respect render order + some minor distance comparison optimization
2016-11-15 22:26:36 -03: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
Regalis
724172fe7c
Server doesn't attempt to resend unacked EntityEvents until Connection.AverageRoundTripTime has passed
2016-11-13 14:45:00 +02:00
Regalis
498c72c64a
Server sends ServerEntityEvents to clients, NetEntityEvents can contain an object array which will be passed to the serializable entity (now only used for ItemComponent indices)
2016-11-13 13:56:48 +02:00