Мяу!
Find a file
Rouden cc2c14f8e4
Device Network refactor part 1: API improvements (#44346)
* Refactor DeviceNetwork

* Singleton

* NetworkPayloads refactor

* Reorganize DeviceNetworkSystem

* Surveillance cameras

* Fix code

* Fix build

* Fix test fail by rewriting entire singleton logic

* Properly predict examine

* Update DeviceNetworkSystem.API.cs

* Update EntityTest.cs

* Update DeviceNetworkSystem.cs

* Alright I'll do this expensive check fine

* Fix disposals debug assert

* Implement device network static events support

* Use frozen dictionaries for performance

* Update SharedDeviceNetworkSystem.Payloads.cs

* Parallel payload handling support

* Fix some spagetti-code

* Optimize NetworkPayload cancellation

* Parallel payloads are now cancellable

* Fix screens

* Fix robotics console

* Allow new methods for shared

* Mail fix

* Turret fix

* Fix network system method usage + signal and borg fix

* finally fix atmos devices OH MY GOOOD

* Remove stupid parallelism from fax

* Fix surveiollance cameras

* Working on a single thing for 2 days straight award

* Fix the test?

* Update units.yml

* Add IDevice interface because why not

* Add more device network suffixes

* Fix camera router failing test

* yaml linter peak

* Improve docs for DeviceNetworkHandlers

* fix build

* Update CartridgeLoaderSystem.Relay.cs

* Remove parallel system and EntitySystem post init

* Add more docs and also events

* Remove unnecessary caching

* Update DevicePayloadComponentSystem.cs

* Back to entity events

* Implement DeviceData

* Remove serializable from payloads

* Update DeviceData.cs

* Add a prototype for a singleton

* Fix tests

* Fix air alarms

* Update DeviceNetworkSystem.cs

* Fix cameras

* Make camera router event-less

* Fix atmos sync payloads, add more docs

* Remove singleton + instant packets

* oops remove public access

* Fix tests?

* Why the hell overload effect makes puddle sparks

* Apparently it was redundant

* Update gates.yml

* Finish documentation

* Review

* Mark relay properties as obsolete

* Struct payloads support (#blazinglyfastmemorysafe)

* Update DeviceNetworkTest.cs

* Make device structs stuff better

* Move address prefix to DeviceNetworkComponent

* Locale fixes

* Fix tests

* Doesn't know boolean logic award

* Update AtmosAlarmableSystem.cs

* Fix address predicted examine

* Partial fix to air alarmables

* Fix deployable turrets UI

* Fix firelocks, maybe

* Apparently Activatable UI was enough lol

* Fix surveillance cameras

* Rename `QueuePacket` into `SendPacket`

* Simplify DeviceData as much as possible

* Update DeviceData.cs

* Update FaxMachineComponent.cs

* Remove DeviceData because its stupid

* Update ScreenSystem.cs

* Fix build (camera map broken still)

* Fix map

* fix usings

* Review changes

* Build fix
2026-08-31 19:42:56 +00:00
.github fix: publish changelog related steps temporarily commented out, updat… (#45641) 2026-08-25 20:48:40 +02:00
.run
.vscode feat: re-add 'c# dev-kit' build task for vscode (#44410) 2026-07-14 16:21:39 +00:00
BuildChecker Fix illegible FileNotFoundError occurrences when git isn't in path. (#6) 2026-06-17 22:14:54 -04:00
BuildFiles/Mac/Space Station 14.app/Contents
Content.Benchmarks Device Network refactor part 1: API improvements (#44346) 2026-08-31 19:42:56 +00:00
Content.Client Device Network refactor part 1: API improvements (#44346) 2026-08-31 19:42:56 +00:00
Content.Docfx
Content.IntegrationTests Device Network refactor part 1: API improvements (#44346) 2026-08-31 19:42:56 +00:00
Content.MapRenderer The IMapManager is dead (#44002) 2026-07-01 20:44:54 -07:00
Content.Packaging Move server_config.toml to Resources, copy only on publish. (#44790) 2026-08-09 05:11:49 +00:00
Content.PatreonParser v269.0.0 RT update - .NET 10 (#41855) 2025-12-22 01:24:24 +00:00
Content.Replay IoC source gen compatibility (#43863) 2026-05-09 03:29:58 +00:00
Content.Server Device Network refactor part 1: API improvements (#44346) 2026-08-31 19:42:56 +00:00
Content.Server.Database Refactor voice to separate it from sex (#40593) 2026-06-30 23:46:27 -04:00
Content.Shared Device Network refactor part 1: API improvements (#44346) 2026-08-31 19:42:56 +00:00
Content.Shared.Database Admin log silicon laws (#44238) 2026-07-18 02:40:21 -04:00
Content.Tests Radial Sorting: add explicit order field (#45445) 2026-08-23 20:08:30 +00:00
Content.Tools v269.0.0 RT update - .NET 10 (#41855) 2025-12-22 01:24:24 +00:00
Content.YAMLLinter Add test result archiving to our test actions + Test fixes (#43175) 2026-03-17 17:17:22 +00:00
MSBuild Add NU1900 to WarningsNotAsErrors (#171) 2026-06-23 11:56:50 +00:00
Pow3r v269.0.0 RT update - .NET 10 (#41855) 2025-12-22 01:24:24 +00:00
Resources Device Network refactor part 1: API improvements (#44346) 2026-08-31 19:42:56 +00:00
RobustToolbox@edf061e745 Update submodule to 289.0.0 (#45545) 2026-08-22 18:24:10 +10:00
Tools Fix broken syntax is some scripts (#44959) 2026-07-27 03:19:01 +00:00
.editorconfig .editorconfig: prefer case block braces on same level as case (#45478) 2026-08-20 13:45:44 +00:00
.envrc
.gitattributes
.gitignore Try to fix changelog bot (#44359) 2026-07-18 02:04:52 +00:00
.gitmodules Revert "Switch RT submodule to new repo (#19)" 2026-06-28 13:15:50 +02:00
.noai Add .noai file (#44323) 2026-06-21 15:54:51 +00:00
CODE_OF_CONDUCT.md update support email (#41166) 2025-10-28 10:27:07 +00:00
CONTRIBUTING.md Mirror contrib guidelines to GitHub (#41896) 2025-12-18 09:36:23 +00:00
Directory.Packages.props fix(Content.Server): Bump database packages for sec update. (#43601) 2026-04-16 01:01:55 +00:00
flake.lock Change nix flake branch (#44718) 2026-07-17 02:19:01 -04:00
flake.nix Change nix flake branch (#44718) 2026-07-17 02:19:01 -04:00
global.json v269.0.0 RT update - .NET 10 (#41855) 2025-12-22 01:24:24 +00:00
LICENSE.TXT Happy 2026 (#42186) 2025-12-31 10:59:47 +00:00
nuget.config
omnisharp.json
README.md Revert "Update README.md with new links. (#2)" 2026-06-28 13:14:00 +02:00
RUN_THIS.py
runclient-Tools.bat Revert "new shell scripts for running client and server" (#44433) 2026-06-30 03:53:22 +00:00
runclient-Tools.sh Revert "new shell scripts for running client and server" (#44433) 2026-06-30 03:53:22 +00:00
runclient.bat Revert "new shell scripts for running client and server" (#44433) 2026-06-30 03:53:22 +00:00
runclient.sh Revert "new shell scripts for running client and server" (#44433) 2026-06-30 03:53:22 +00:00
runserver-Tools.bat Revert "new shell scripts for running client and server" (#44433) 2026-06-30 03:53:22 +00:00
runserver-Tools.sh Revert "new shell scripts for running client and server" (#44433) 2026-06-30 03:53:22 +00:00
runserver.bat Revert "new shell scripts for running client and server" (#44433) 2026-06-30 03:53:22 +00:00
runserver.sh Revert "new shell scripts for running client and server" (#44433) 2026-06-30 03:53:22 +00:00
SECURITY.md Revert "Update README.md with new links. (#2)" 2026-06-28 13:14:00 +02:00
shell.nix Update nix flake (#44417) 2026-07-16 15:30:34 +00:00
SpaceStation14.slnx Add EntitySystemSubscriptionsGenerator project to Content solution. (#44454) 2026-07-02 01:21:42 +00:00
SpaceStation14.slnx.DotSettings Make every EntitySystem partial (#45220) 2026-08-14 18:24:47 +00:00

Space Station 14

Space Station 14 is a remake of SS13 that runs on Robust Toolbox, our homegrown engine written in C#.

This is the primary repo for Space Station 14. To prevent people forking RobustToolbox, a "content" pack is loaded by the client and server. This content pack contains everything needed to play the game on one specific server.

If you want to host or create content for SS14, this is the repo you need. It contains both RobustToolbox and the content pack for development of new content packs.

Documentation/Wiki

Our docs site has documentation on SS14's content, engine, game design, and more.
Additionally, see these resources for license and attribution information:

We also have lots of resources for new contributors to the project.

Contributing

We are happy to accept contributions from anybody. Get in Discord if you want to help. We've got a list of issues that need to be done and anybody can pick them up. Don't be afraid to ask for help either!
Just make sure your changes and pull requests are in accordance with the contribution guidelines.

We are not currently accepting translations of the game on our main repository. If you would like to translate the game into another language, consider creating a fork or contributing to a fork.

AI-generated contributions disclaimer

This project does not accept low-effort or wholesale AI-generated contributions. Examples include, but are not limited to:

  • Any code (including yaml) generated by tools like GitHub Copilot, ChatGPT, or similar.
  • AI-created artwork, sound files, or other assets.
  • Auto-generated documentation, issue reports or pull request descriptions.

Exceptions to this are simple tools like Rider's single-line completion feature.

Building

  1. Clone this repo:
git clone https://github.com/space-wizards/space-station-14.git
  1. Go to the project folder and run RUN_THIS.py to initialize the submodules and load the engine:
cd space-station-14
python RUN_THIS.py
  1. Compile the solution:

Build the server using dotnet build.

More detailed instructions on building the project.

License

All code for the content repository is licensed under the MIT license.

Most assets are licensed under CC-BY-SA 3.0 unless stated otherwise. Assets have their license and copyright specified in the metadata file. For example, see the metadata for a crowbar.

Note

Some assets are licensed under the non-commercial CC-BY-NC-SA 3.0 or similar non-commercial licenses and will need to be removed if you wish to use this project commercially.