HomeGamesUpdatesPricingMethodology
Steam News19 July 202623d ago

Demo Update - v0.10.3

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.

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

6 fixes2 additions6 changes0 removals
  • Server
  • UI and audio
  • Security
  • Compatibility
  • Gameplay
  • Fixes
changedFeaturesDiscord 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.
changedFeaturesLive chat content filter - messages sent in #lounge are now automatically filtered for inappropriate language.
changedFeaturesSteam 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.
changedFeaturesLinux 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.
addedAPI Changesprobe_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().
fixedBug FixesTrace 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.

Blackdoor changes

changedDiscord 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.
changedLive chat content filter - messages sent in #lounge are now automatically filtered for inappropriate language.
changedSteam 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.
changedLinux 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.
addedprobe_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().

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

Steam News / 19 July 2026

Open original post

Changelog.gg summarizes and formats this update. How we read updates.