Commit Graph

223 Commits

Author SHA1 Message Date
juanjp600 bfd8bc6b35 Server serialization functions require client 2016-09-07 17:32:20 -03:00
juanjp600 a02931054a Sync sub selection 2016-09-05 17:15:41 -03:00
juanjp600 bbc4a53e78 Merged branch master into new-netcode 2016-09-03 21:39:03 -03:00
juanjp600 ef49a946c9 Fixed whitelist crashing server init when not enabled in file 2016-09-03 21:38:02 -03:00
juanjp600 2ec26d783c Merged branch master into new-netcode 2016-09-03 19:00:40 -03:00
juanjp600 73bdd77c08 The same name can be added more than once to whitelist 2016-09-03 19:00:07 -03:00
juanjp600 2116a1a93a Fixed rangeban 2016-09-03 18:15:36 -03:00
juanjp600 6f25bee9e1 Merge remote-tracking branch 'refs/remotes/barotrauma/master'
Conflicts:
	.vs/Subsurface_Solution/v14/.suo
	Subsurface/Barotrauma.csproj
	Subsurface/Properties/AssemblyInfo.cs
	Subsurface/Source/Items/ItemSpawner.cs
	Subsurface/Source/Networking/GameClient.cs
	Subsurface/Source/Networking/GameServer.cs
	Subsurface/Source/Networking/GameServerLogin.cs
2016-09-03 17:54:33 -03:00
juanjp600 d0efbe14f3 Whitelist saving 2016-09-03 17:51:10 -03:00
juanjp600 efa8b4da51 Removed per-user password from whitelist 2016-09-03 17:18:44 -03:00
juanjp600 ef2b0d8721 Whitelist + conflict resolve 2016-09-03 14:57:36 -03:00
juanjp600 4b10ca21c4 Ban before disconnecting client 2016-09-02 22:49:40 -03:00
juanjp600 e3433c725e Server name, message and submarine list syncing 2016-09-02 22:24:14 -03:00
juanjp600 e0b6642767 Minor fixes and tweaks 2016-09-01 22:22:45 -03:00
juanjp600 51dd858af1 Client reads lobby chat from server 2016-09-01 22:05:13 -03:00
juanjp600 028c3a8bc1 Added lobby chat syncing 2016-09-01 20:45:43 -03:00
juanjp600 fc457e0f18 Detect disconnect while password box is open 2016-09-01 15:43:27 -03:00
Regalis 0d68467464 Separate interfaces for entities that the clients/server can send updates for (+ placeholder implementations)
May or may not be useful
2016-09-01 20:39:52 +03:00
juanjp600 f845a21de8 Fixed login process
Time to get the lobby working
2016-09-01 13:45:46 -03:00
juanjp600 104ac73b97 Added login process to client
Doesn't work yet, gotta figure this out.
2016-09-01 11:42:21 -03:00
juanjp600 db0d4b1cd6 Fixed server kicking clients who request auth after validation 2016-08-31 21:11:27 -03:00
juanjp600 795efd82ab Added missing auth response header 2016-08-31 19:44:29 -03:00
juanjp600 a4a6046013 Fix banned packets being read 2016-08-31 18:49:51 -03:00
juanjp600 f5bd5fe0d3 Extra ban check for data packet type 2016-08-31 18:48:45 -03:00
juanjp600 f3b826a371 Added new function calls in server ReadMessage loop 2016-08-31 18:47:16 -03:00
juanjp600 b9a246ca68 New login process + a little bit of cleanup
No reliability required :) Will get to the client soon
2016-08-31 18:26:17 -03:00
juanjp600 55a2db7c70 Removed more networking code 2016-08-30 21:33:10 -03:00
juanjp600 7bdcc51bae Made game compilable
Networking functionality is fully disabled now.

I think it's time to start rewriting everything. OH BOY
2016-08-30 21:13:36 -03:00
juanjp600 0a0f8e19b4 Merged branch new-netcode into new-netcode 2016-08-30 20:37:12 -03:00
juanjp600 9416eb64d7 Completely destroyed game
Looks like a lot more than just netcode is getting rewritten. Removing coroutines because there are better ways of handling asynchronous tasks, removing filestream because that's to be reimplemented later
2016-08-30 19:59:14 -03:00
juanjp600 37ffd64490 Disabled networkevent
Changing the way each item handles its own network updating
2016-08-30 19:28:32 -03:00
juanjp600 6e83ef7626 Merge remote-tracking branch 'refs/remotes/origin/master'
Conflicts:
	Subsurface/Barotrauma.csproj
	Subsurface/Source/Characters/AI/EnemyAIController.cs
	Subsurface/Source/Characters/AICharacter.cs
	Subsurface/Source/Characters/Character.cs
	Subsurface/Source/Items/Components/DockingPort.cs
	Subsurface/Source/Items/Components/Door.cs
	Subsurface/Source/Items/Item.cs
	Subsurface/Source/Networking/GameClient.cs
	Subsurface/Source/Networking/GameServer.cs
	Subsurface/Source/Physics/PhysicsBody.cs
2016-08-30 18:04:49 -03:00
juanjp600 9c116fc268 Merged branch master into master 2016-08-30 17:36:11 -03:00
juanjp600 52270e3a35 Hacked clients can't send chat messages from other characters anymore
Also added sendername as userdata in chat messages, for now it's not used for anything but we'll probably find something where this is useful
2016-08-30 17:35:58 -03:00
Regalis 2e2043bf7f Chat messages are added to the server log even if the host's character is out of range, message senders are shown in the server log, fixed multi-line log entries overlapping 2016-08-30 19:06:15 +03:00
juanjp600 af220dbc2a Removed Fill/ReadNetworkData
These functions needed to be replaced because they rely heavily on reliability.

Instead, new functions called (Write/Read)Data(Server/Client) will be added. 

Separating client and server code into completely separate functions will help ensure that proper security checks are performed.
2016-08-29 20:02:46 -03:00
juanjp600 6bb6f63dd7 Hacked clients can't change their character name
Also made spam filter's aggressiveness consistent
2016-08-29 19:45:21 -03:00
juanjp600 df0b064899 Hacked client can't join full server anymore
Not sure how they can get around lidgren's checking, but this should do the trick
2016-08-29 19:02:37 -03:00
juanjp600 83f8ad0555 Clientside fix for empty password
Thanks for finding this Reg
2016-08-29 18:40:27 -03:00
juanjp600 bf686ae997 A few more security checks 2016-08-29 18:38:06 -03:00
juanjp600 8a3b901fa2 Merged branch master into master 2016-08-29 17:55:46 -03:00
Regalis a0a5e2df33 v0.5.0.1 + re-enabled the black wall damage indicators, client permissions disabled 2016-08-29 23:43:08 +03:00
juanjp600 b3f0f71d43 Fixed password storage when it isn't set
Disabled hashing on an empty string
2016-08-29 17:42:37 -03:00
Regalis 5de48a030e Changes to the layout of the "manage players" menu 2016-08-29 18:28:31 +03:00
juanjp600 e284ff5f38 Heavier password encryption
I don't think this fixes actual bugs but the encryption seemed kinda weak.
2016-08-29 07:13:19 -03:00
juanjp600 8f675e625b Host can ban lobby players from ingame
New menu looks really ugly but it works
2016-08-28 22:16:49 -03:00
juanjp600 30f550df03 Ingame players can't receive messages from lobby players anymore 2016-08-28 16:46:51 -03:00
juanjp600 d909a8d9b6 Filter out Unicode and non-printable ASCII
+ return when authentication fails because of null client
2016-08-28 16:01:23 -03:00
juanjp600 378273a0ce Added server options to ingame HUD, fixed ChatSpamSpeed timer reset 2016-08-28 13:05:33 -03:00
Regalis e715f07922 - spam filter closeFactor works correctly even if the client has sent less than 20 messages, slightly more aggressive filtering
- anti-husk drug
- resized medicine/chemical physics bodies to match the sprites
- damage done to items is determined by the structureDamage value of an attack
2016-08-28 17:29:32 +03:00