Commit Graph

93 Commits

Author SHA1 Message Date
Joonas Rikkonen cd6fc87eb4 Fixed object header issues and "trying to read past the buffer size" errors caused by NetEntityEvents for removed entities.
EntityEventManager sends an empty event with an ID of 0 if the entity doesn't exist anymore when writing the event. The recipient should simply skip over these messages and read the next one, but clients only did so if the event is the next unreceived one, causing the rest of the messages to be read incorrectly (which could lead to various sorts of problems in addition to the header and buffer size errors). The server didn't deal with the empty events correctly either, it increased the last received ID even if the received event was not the one the server is waiting for, potentially causing other non-empty events to be ignored.

+ Added an error message if the size of an NetEntityEvent is larger than 255 bytes. Not only is that excessively large for an event, but the length of the event is written as a byte and larger ones may again cause messages to be read incorrectly. Most events should be nowhere near 255 bytes, but now that the descriptions and tags of a spawned item are included in the item spawn messages there's the possibility that some events are too large.
2018-03-01 19:30:27 +02:00
Joonas Rikkonen 0827c475ba Fixed "an item with the same key has already been added" exceptions caused by humanhusk.xml being in the same folder as human.xml. Closes #283 2018-02-25 18:35:31 +02:00
Joonas Rikkonen 9e2966e9cb - Fixed creature disable list only taking config files in the Content/Characters folder into account (making it impossible to disable spawning of custom monsters outside the folder)
- Removed hard-coded ruin structure, particle & decal config paths and moved them to content package (custom ones can be added now without modifying the original files).
2018-02-25 15:03:29 +02:00
Joonas Rikkonen 671f59e984 Unequipped headsets can't be used and don't consume batteries. Closes #272 2018-02-22 15:08:38 +02:00
Joonas Rikkonen 27ded3e5a3 Fixed dead/spectator chat. Closes #264 2018-02-22 11:34:33 +02:00
Joonas Rikkonen 23b59dd70b Reverted a290a6a (chatbox can be deselected with the chat hotkey again). Closes #262. 2018-02-22 11:19:53 +02:00
Joonas Rikkonen a1ccf501c7 Fixes to server settings. Closes #225
- Selected mode and mission type settings are saved and loaded.
- RandomizeSeed setting can be changed via the debug console and it also has an effect in the dedicated server.
- Dedicated server randomizes sub & mode settings if their selection modes are set to random.
2018-01-25 15:09:44 +02:00
juanjp600 ddaf5f21cf Fixed exception when using radio chat without an inventory 2018-01-19 14:03:31 -03:00
Joonas Rikkonen 9f58d1b74d Cargo items can be set to spawn inside specific types of containers instead of being scattered on the cargo room floor. 2018-01-10 15:56:11 +02:00
Joonas Rikkonen 4b1b6b6927 Merge pull request #188 from Crystalwarrior/moStuff
Motion detectors, ducts, more chem effects and chems, fabricator/deconstructor overhaul, more footsteps, clown hitsounds...
2018-01-09 12:11:15 +02:00
Joonas Rikkonen 662ead0bb4 ToggleHUD console command hides the mp chat box. Closes #208 2018-01-09 11:19:21 +02:00
Joonas Rikkonen 7187c277e7 Merge branch 'master' into moStuff 2018-01-09 10:38:06 +02:00
juanjp600 539845665a Made further accuracy improvements to the timing of the dedicated server
TODO: make the dedicated server load all of the settings from
serversettings.xml
2018-01-08 18:11:07 -03:00
Joonas Rikkonen 4f0b190371 Some more hard-coded text removal 2017-12-27 14:40:33 +02:00
juanjp600 e2f4431357 Added a command for automatic hull generation
It's not perfect by any means, but it should be usable enough as a
baseline for most subs.
2017-12-23 17:57:19 -03:00
Alex Noir 60329fb0d1 Fixed missing clientpermissions.xml preventing hosting
Fixed double-clicking items in corpses putting them in their hands instead of your inventory
Fixed game over/round end music not playing in multiplayer
Added Item Combinations for things like chemicals, etc. - this transfers condition from one item to another
Added game over text to multiplayer round summary
2017-12-23 16:59:08 +03:00
Alex Noir 6d30557860 Overhaul fabricators and deconstructors to have minCondition, maxCondition (deconstructor) and outCondition
Implement several suggestions listed in https://github.com/Regalis11/Barotrauma/issues/196
Add more fabricatables and deconstructables
2017-12-22 21:33:14 +03:00
juanjp600 47b5ccd7c6 Merge branch 'master' of https://github.com/Regalis11/Barotrauma 2017-12-21 20:31:24 -03:00
Joonas Rikkonen 4db708335a Readded homoglyph comparisons to client name checking during login (i.e. similar name checks can't be bypassed by using similar-looking characters). Looks like this got removed due to a messed up merge 5bdb57b
Closes #182
2017-12-21 21:57:06 +02:00
juanjp600 c593fdb7c6 Minor networking fixes
- Don't spam the shit out of status updates (TODO: send update
immediately on drastic changes)
- Fixed some potential message misreading
- Readded homoglyph name comparison
2017-12-21 16:00:04 -03:00
Joonas Rikkonen 9ed2871ede Renamed a couple of properties for consistency & removed unnecessary CPR blood particle scaling 2017-12-20 20:26:22 +02:00
Joonas Rikkonen dde320b387 Merge pull request #101 from Crystalwarrior/moRags
Body shoulder-grab, better CPR anims, CPR and Crit overhaul!
2017-12-20 19:37:38 +02:00
Joonas Rikkonen ce37411a29 Merge branch 'permission-overhaul'. Closes #49
Conflicts:
	Barotrauma/BarotraumaShared/Source/DebugConsole.cs
	Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs
2017-12-20 19:36:17 +02:00
Joonas Rikkonen b3c3970209 Server responses to clients using console commands ("granted permissions to client", error messages, etc) are displayed in the client's debug console instead of the chat box. Client command usage is included in server logs. 2017-12-20 19:18:32 +02:00
Joonas Rikkonen 0204bc2c49 Added permission presets (or ranks). Current presets are none (no special permissions), moderator (round management & kicking) and admin (almost everything permitted). 2017-12-19 22:27:07 +02:00
Alex Noir 1e5b25bd1a Merge branch 'master' into moRags 2017-12-17 22:41:45 +03:00
Alex Noir d5e409bfff Increase muffling effects with obstruction for spoken speech (barely affects radio chat and wifi components, however it does add extra 100f range to the distance)
Decreased required muffling to 0.3f
Added an "obstructionmult" to intensify speaking obstruction effects
2017-12-17 14:55:35 +03:00
Alex Noir 8ab97af456 Allow sub makers to alter the ID Card's description property on spawn points 2017-12-16 21:30:18 +03:00
Alex Noir 07aeac4fdc Traitor Count/Coefficient and Ragdoll and Karma server settings buttons!!! oh my GOD!!! 2017-12-09 19:09:10 +03:00
Joonas Rikkonen 9bc0931be5 Clients can execute permitted console commands server-side now. The console commands have three different actions: the default action, one that's executed client-side when a client uses it, and one that's executed server-side when a clients requests it. If the client-side action is omitted, the client relays the command to the server as-is. If the third action is omitted, the server executes the default action. 2017-12-06 19:53:05 +02:00
Joonas Rikkonen 91a8e6d0c6 Saving & loading client console command permissions, the permissions are saved as an xml file 2017-12-06 14:04:35 +02:00
Joonas Rikkonen cccdd20401 Fixed exceptions when adding entities to EntitySpawner remove queue in single player mode 2017-12-06 02:39:58 +02:00
Joonas Rikkonen 90986751c3 Merge branch 'antagonists' 2017-12-05 19:05:39 +02:00
Alex Noir 0e586651e7 Adds a [PM] tag
Fixes .Private message type colors being silly
2017-12-05 18:50:36 +03:00
Alex Noir fdd3db82e6 oops fixed logic 2017-12-05 18:22:03 +03:00
Alex Noir d4ce079d65 Lets people use keybinds to start chatting in lobby 2017-12-05 18:01:10 +03:00
Alex Noir fde3ed40a8 Prevent clients from chatting when unconscious on the serverside to prevent clients from "hacking" and enabling chat box. 2017-12-05 17:21:45 +03:00
Alex Noir a290a6a337 Tweak chatting so you can finally use keybinds OTHER than TAB/~ for chat/radio chat by disabling those keybinds when the chat box is active. This is not a problem anymore because pressing enter stops the chat box.
This is a positive change since this is a lot more "industry standard" than the previous system, which initially was very confusing and unfamiliar (at least personally).
2017-12-05 16:25:51 +03:00
juanjp600 c6ca3572ba Added an option to respawn directly in the main sub 2017-12-05 03:03:37 -03:00
juanjp600 e69e316f6b Added the option to disable karma 2017-12-04 20:52:25 -03:00
juanjp600 a0782e5d8d Blowing up the reactor sets karma to 0, all jobs except assistant require a certain karma level 2017-12-04 17:05:22 -03:00
juanjp600 6841bb154b Added Karma, harming players reduces it 2017-12-03 21:51:12 -03:00
juanjp600 f8e5a4f7ab Use SetClientCharacter in AddToRemoveQueue 2017-12-03 19:09:55 -03:00
juanjp600 e323e9dc71 Fixed chat messages being assigned to the wrong sender when their bodies have been eaten 2017-12-03 19:06:01 -03:00
Joonas Rikkonen 0840a29ff3 Started overhauling the client permission system to make it a bit more flexible. Now the clients can have the permission to use specific console commands (atm these commands are relayed to the server as-is).
TODO: make it possible to give clients console command permissions via the menus and the console, save command permissions, deal with commands that don't work as intended when simply relayed to the server and executed server-side, add "ranks" (preconfigured or custom sets of permissions, e.g. moderator, admin, etc).
2017-12-03 22:54:28 +02:00
Alex Noir ca535d295f Merge remote-tracking branch 'origin/master' into antagonists 2017-12-03 13:10:04 +03:00
Alex Noir 56df7b6900 Support for multi-traitors!
It's possible for traitors to share targets and/or target each other.
Todo: code phrases-responses, clientside settings for traitor amount
2017-12-03 00:43:14 +03:00
Joonas Rikkonen ccac8de723 Removed unused NetConfig constants and leftover debug code in GameServer 2017-12-02 15:42:52 +02:00
juanjp600 84ba36aa78 Added timestep accumulator to dedicated server, improved autorestart commands, added client permission commands 2017-12-01 14:25:10 -03:00
Joonas Rikkonen 6e9c33fe89 Added radio chat hotkey 2017-11-29 19:16:53 +02:00