In this update3
Full notes
Full Blackdoor update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Server
- UI and audio
- Security
- Compatibility
- Gameplay
- Fixes
Blackdoor changes
Features
Discord Rich Presence - the game now shows what you're up to in Discord: connected to a server, on a mission, or freelancing in the terminal.
Live chat content filter - messages sent in #lounge are now automatically filtered for inappropriate language.
Steam Workshop publishing, for real this time - publish now opens a proper in-browser form instead of terminal prompts: pick Script or Tool, write a real multi-line description, toggle Content tags (Hacking, Puzzle, Utility, Fun). Missions and servers published from the Workshop editor get the same tag picker, plus an auto-derived Difficulty tag from their existing difficulty/security stats, and servers gained a description field to match missions. Every published item now also gets a default .bd preview icon instead of shipping with none.
Linux build now exists - early days, still shaking out testing, but a Linux build is now being built alongside Windows. Treat it as experimental for now - report anything weird you hit.
API Changes
probe_vuln() no longer lowers security (breaking change) - it's now a pure, repeatable check: calling it again returns the same vulnerability until it's actually exploited. A new exploit_vuln(conn) does the real work - chip away at the current vulnerability over several calls (same progressive model as bypass_firewall()), applying its security reduction on the call that finishes it. Probing first makes exploiting faster. If your script called probe_vuln() expecting it to weaken security, switch it to exploit_vuln().
Bug Fixes
Trace countdown blinking too early - the terminal header would start pulsing well before the trace was actually urgent. It now shifts smoothly from cyan to red as time runs out, and only blinks in the final 10 seconds.
[D] tag mislabeling in chat - some demo players were occasionally appearing without the [D] tag. Fixed.
/whois marvelous - marvelous was missing a whois entry like the other #lounge regulars. Fixed.
print() now actually works - previously calling print() in a script errored out with a misleading "did you mean 'int'?" instead of pointing to log(). It now just works as an alias for log(), along with println(), puts(), echo(), and write().
Saving in the editor flashed red - pressing Ctrl+S showed the same red flash used for the unsaved-changes warning, even on a successful save. It now flashes green. Also fixed a rare case where saving and exiting the editor in quick succession could leave the header stuck amber.
Subscribed Workshop scripts not appearing on the drop server - /community/ only refreshed at specific early-game story beats, so subscribing to something new on an existing save had no way to show up. It now refreshes on every boot if the drop server is already registered.
Four side missions couldn't be completed (Chicken Run, Milk Argument, Insurance Fraud, Paper Chase) - each mission's upload objective expected a filename that didn't match what you'd actually have after downloading the file, so the upload always "succeeded" but the objective never triggered. If you got stuck on one of these with everything seemingly done, this was why - fixed for all four.
A failed connect() could still let you crack() (or download/upload/etc.) whatever you were previously connected to - if connect() failed (bad hostname, typo'd target), scripts that carried on and called crack(), list_files(), download(), and similar functions right after weren't checking that the connection actually succeeded - they'd silently operate on your last real connection instead of erroring out. Fixed across the whole API; a failed connection is now properly rejected everywhere.
Static
Source
Changelog.gg summarizes and formats this update. How we read updates.
