FakeFishGames / Barotrauma

A 2D online multiplayer game taking place in a submarine travelling through the icy depths of Jupiter's moon Europa.
http://www.barotraumagame.com/
1.66k stars 395 forks source link

Docking Port Circuit Boxes are incredibly vulnerable to griefing by deleting their contents on all Submarines #14153

Open Regalis11 opened 2 weeks ago

Regalis11 commented 2 weeks ago

Discussed in https://github.com/FakeFishGames/Barotrauma/discussions/14151

Originally posted by **WJohn** June 18, 2024 ### Disclaimers - [X] I have searched the issue tracker to check if the issue has already been reported. - [ ] My issue happened while using mods. ### What happened? All docking ports on all submarines feature a circuit box that controls the docking mechanism. These circuit boxes are out in the open beneath the docking ports, and anyone is able to walk up to them and delete their contents in 1 second flat. While the circuit boxes cannot be wrenched off the walls, the contents have no such safeguards. The following video illustrates the issue: https://github.com/FakeFishGames/Barotrauma/assets/5988156/1082e938-4ea4-4973-98b9-2d3865325326 The following questions are asked: **1.** Why would the crew need to be able to mess with the ability to dock and end the round? **2.** If they are meant to mess with it, why is the docking circuit needlessly over-engineered and complicated? **3.** If they are not meant to mess with it as the locked wrenching implies, why is it exposed at all? Hiding the Circuit Box alone will not fix the issue outright, as all it does is delay someone through to welding the spot in the wall where it can be accessed and deleted again. Locking both the wrenching and wire editing of the Circuit Box prevents players from messing with it in interesting ways. Finally, if they want to mess with it, it needs to be extremely simple to remember how to fix it, and be as simple of a circuit as possible. Finally, the Docking Circuit Box's over-engineering fails at its purpose. It is designed to prevent a bit of water from flooding in the submarine when undocking, but this assumes that the submarine is the one that undocks from the ship or respawn shuttle in question. In the vast majority of cases, it is the docking shuttle that automatically undocks from the submarine when all players have left it. This completely bypasses the Docking Port having any time to close, and so some water will get in anyway. The complicated circuitry achieves nothing. Given that 1.4 has reduced flood rate by roughly 50%, this is even less of an issue than ever before. Circuit boxes could use a much simpler circuit, as shown here: ![simplified_docking_circuit](https://github.com/FakeFishGames/Barotrauma/assets/5988156/b71a3869-a28b-4d9f-9cad-3ae2e684f3fa) This docking circuit mirrors the main benefits of the new circuit, in that a button can be easily installed to toggle the hatch's state open or closed, or any other method of door opening while undocked, without affecting the ability to properly dock and keep the hatch open. Additionally, this only uses 2 Components, down from the 9 the previous circuit used. I have attached the assembly below, as well as instructions on how to hook it up:
Simplified Docking Circuit Box Item Assembly: (click and drag the contents into the Submarine Editor) Here is the Simplified Circuit Box item assembly download, just drag and drop the "Simplified Docking Circuit.xml" into the Submarine editor and follow the picture instructions below: [Simplified Docking Circuit.zip](https://github.com/user-attachments/files/15877333/Simplified.Docking.Circuit.zip) It is crucial that the Circuit Box is moved inside the wall where players cannot so easily mess with it!
### Reproduction steps 1. Start a new game in singleplayer or multiplayer 2. Walk up to the Docking Port's Circuit Box 3. Open the Circuit Box with a free hand 4. Select all the Components in the Circuit Box 5. Press the DEL key ### Bug prevalence Happens every time I play ### Single player or multiplayer? Happens in both single player and multiplayer ### - _No response_ ### Version v1.4.6.0 (Blood in the Water Update, hotfix 2) ### - _No response_ ### Which operating system did you encounter this bug on? Windows ### Relevant error messages and crash reports _No response_
JeroonBosch commented 2 weeks ago

IMO ID card requirements for circuit boxes would solve this, if it's captain-accessible only

Regalis11 commented 2 weeks ago

@JeroonBosch , yeah, I marked that as a blocker for this ticket, my thinking was that we'd just add those restrictions to the boxes

mygamingaccount commented 1 week ago

Who ordered overcomplicated docking ports in the first place? Consider using nothing but a wire to control the hatch via the docking port. It has built in protection against griefing since the docking port can only be accessed from the outside while the sub is undocked.

BlackMoons commented 1 day ago

I considered adding a 'security screwdriver' to my submarine. It would be in a captain only secure crate (or craftable only by captain?) and be required to rewire (some) things, like junction boxes and circuit boxes.

pavel4win commented 5 hours ago

Why prohibit ruiners from ruining? It seems to me that every smart player should figure out how to fix the docking port, especially since there is such a simple scheme of two elements. If you restrict access to cable boxes to the captain, the ruiner can choose the captain role. Ruiner is part of the gameplay. Write instructions on how to repair the docking port and place it in the workshop. Let the players whose docking port was broken study the equipment.

pavel4win commented 5 hours ago

I like the idea of ​​making several levels of access to the wiring. Currently, you can either block all wiring or unblock it. However, even if the wiring is blocked, the logic elements can be unscrewed with a wrench and then the blocked wires fall to the ground. A person cannot pick up this wire, but a bot picks it up and puts it in the closet. A locked compartment is formed in the closet from which the contents cannot be removed. Only selling this wire can help get rid of it.