* 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 |
||
|---|---|---|
| .github | ||
| .run | ||
| .vscode | ||
| BuildChecker | ||
| BuildFiles/Mac/Space Station 14.app/Contents | ||
| Content.Benchmarks | ||
| Content.Client | ||
| Content.Docfx | ||
| Content.IntegrationTests | ||
| Content.MapRenderer | ||
| Content.Packaging | ||
| Content.PatreonParser | ||
| Content.Replay | ||
| Content.Server | ||
| Content.Server.Database | ||
| Content.Shared | ||
| Content.Shared.Database | ||
| Content.Tests | ||
| Content.Tools | ||
| Content.YAMLLinter | ||
| MSBuild | ||
| Pow3r | ||
| Resources | ||
| RobustToolbox@edf061e745 | ||
| Tools | ||
| .editorconfig | ||
| .envrc | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .noai | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| Directory.Packages.props | ||
| flake.lock | ||
| flake.nix | ||
| global.json | ||
| LICENSE.TXT | ||
| nuget.config | ||
| omnisharp.json | ||
| README.md | ||
| RUN_THIS.py | ||
| runclient-Tools.bat | ||
| runclient-Tools.sh | ||
| runclient.bat | ||
| runclient.sh | ||
| runserver-Tools.bat | ||
| runserver-Tools.sh | ||
| runserver.bat | ||
| runserver.sh | ||
| SECURITY.md | ||
| shell.nix | ||
| SpaceStation14.slnx | ||
| SpaceStation14.slnx.DotSettings | ||
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.
Links
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
- Clone this repo:
git clone https://github.com/space-wizards/space-station-14.git
- Go to the project folder and run
RUN_THIS.pyto initialize the submodules and load the engine:
cd space-station-14
python RUN_THIS.py
- 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.