Билд проекта Fish Station (Рыбья Станция) в игре Space Station 14.
Find a file
Perry Fraser c802b8bbb2
Make mopping predicted (and some other stuff) (#38749)
* refactor: move puddle evaporation + absorbents to shared

* refactor: move SolutionRegeneration to shared

* refactor: make AbsorbentSystem visuals clientside

* style: general formatting/cleanup on touched files

- Few logical simplifications
- Add field for hard-coded sparkle effect ent
- Switch stuff to Entity<T>

No actual prediction fixes in this commit (though in
retrospect I should've done this commit last).

* fix: use predicted variants for predicted code

* fix: average out evaporation rates in mixtures

* refactor: move SolutionPurge to shared

* style: Basic SolutionPurgeComponent field cleanup

* fix: general prediction + timing + networking fixes

- Moves client side visuals back to shared because other
  players exist
- Don't accumulate CurTime in Purge/RegenerationSystem
- Network the next update field in Purge/RegenerationSystem to
  deal with UI mispredictions???

* fix: add udder bug workaround

Not needed for SolutionPurgeSystem which doesn't resolve
solutions (probably fine that SolutionPurgeSystem doesn't
cache since it's much rarer, though it probably should), and
likely not needed for AbsorbentSystem since it only resolves
against puddles which, I don't think can be in containers.

* fix: don't divide by zero for evaporation speed = 0.

* refactor: revert evaporation changes

Will cherry-pick these out in another PR.

Also reverting the evaporation speed bugfix since it's easier
to revert all at once. :)

* fix: component cleanup; autopause fields, use ProtoID

* fix: remove unused AbsorbentComponentState

* fix: ProtoId is not string

* refactor: move PuddleSystem.UpdateAppearance to shared

* style: general PuddleSystem.UpdateAppearance tweaks

- Switch to Entity<T>
- Use ProtoIds
- Minor simplifications

* fix: add udderly silly PVS workaround

* cleanup

* fix

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-07-09 05:17:55 +02:00
.github Make Review Requested label get applied to all opened PRs (#38625) 2025-06-27 20:23:12 +02:00
.run Move grenade components to shared (#22691) 2024-02-02 00:29:01 +11:00
.vscode Adds Test & Integration Test commands to the Visual Studio Code configuration (#32705) 2025-04-18 13:49:36 +10:00
BuildChecker Added warning when attempting to run RUN_THIS on a zip repo download (Attempt 2) (#36922) 2025-04-29 23:51:21 +02:00
BuildFiles/Mac/Space Station 14.app/Contents Updated Mac Icon (#1058) 2020-06-02 13:29:33 +02:00
Content.Benchmarks Validate ShaderPrototype IDs (#38728) 2025-07-03 18:11:31 -07:00
Content.Client Replace ValidatePrototypeId uses with ProtoId or EntProtoId (#38814) 2025-07-07 21:57:05 +02:00
Content.Docfx Docfx Remove Interfacemembers div 2022-03-21 18:04:01 -06:00
Content.IntegrationTests Make mopping predicted (and some other stuff) (#38749) 2025-07-09 05:17:55 +02:00
Content.MapRenderer MapRenderer code fixes (#38357) 2025-06-26 14:47:39 +02:00
Content.Packaging Switch Discord integration to use NetCord instead of Discord.Net (#38400) 2025-06-17 19:03:24 +02:00
Content.PatreonParser Update submodule, .NET 9 (#34320) 2025-01-11 21:22:47 +01:00
Content.Replay Treat duplicate dependency warnings as errors (#38480) 2025-06-22 00:25:20 +02:00
Content.Server Make mopping predicted (and some other stuff) (#38749) 2025-07-09 05:17:55 +02:00
Content.Server.Database Persist construction menu favorites server-side (#35867) 2025-05-17 13:37:19 -04:00
Content.Shared Make mopping predicted (and some other stuff) (#38749) 2025-07-09 05:17:55 +02:00
Content.Shared.Database Add the instrument names to the MIDI channel selector (#38083) 2025-06-11 20:32:48 +02:00
Content.Tests Validate ProtoIds in tests (#38745) 2025-07-04 22:48:55 +02:00
Content.Tools Dependency update / fixes / skrungle bungle (#23745) 2024-01-12 23:22:01 +01:00
Content.YAMLLinter Update component query benchmarks (#27967) 2024-05-19 11:55:10 +10:00
Pow3r Dependency update / fixes / skrungle bungle (#23745) 2024-01-12 23:22:01 +01:00
Resources Automatic changelog update 2025-07-08 23:23:20 +00:00
RobustToolbox@56eda3ea92 Update submodule to 264.0.0 (#38629) 2025-06-27 13:32:29 -07:00
Tools ci: include pull request id in changelog link (#38504) 2025-07-02 13:26:03 -07:00
.editorconfig update editorconfig docstring indentation (#36511) 2025-04-14 19:07:21 +02:00
.envrc Update nix flake for .NET 9 (#34480) 2025-01-17 18:26:04 +01:00
.gitattributes Mapping merge driver: continued (#2803) 2021-02-06 23:56:40 +01:00
.gitignore cleanup: remove TargetingDoll-related code (#20866) 2023-10-09 16:40:17 -07:00
.gitmodules Update gitmodules 2019-03-29 22:11:40 -06:00
bors.toml fix bors config (#14389) 2023-03-04 23:56:55 +00:00
CODE_OF_CONDUCT.md MINOR SPELLING ERROR!!1!!1! (#38510) 2025-06-22 21:37:25 +02:00
Directory.Packages.props Switch Discord integration to use NetCord instead of Discord.Net (#38400) 2025-06-17 19:03:24 +02:00
flake.lock Update nix flake for .NET 9 (#34480) 2025-01-17 18:26:04 +01:00
flake.nix Update nix flake for .NET 9 (#34480) 2025-01-17 18:26:04 +01:00
global.json Update submodule, .NET 9 (#34320) 2025-01-11 21:22:47 +01:00
LICENSE.TXT Happy New Year (#34288) 2025-01-08 03:50:46 +01:00
nuget.config Dependency update / fixes / skrungle bungle (#23745) 2024-01-12 23:22:01 +01:00
omnisharp.json Adds formatting issue analyzing in Omnisharp (VSCode) (#15809) 2023-04-30 02:26:13 +10:00
README.md Update README.md (#33528) 2025-04-18 12:14:23 +10:00
RUN_THIS.py Fix RUN_THIS.py so it would be cross-platform and it would be possible to use it from cmd on Windows (#26017) 2024-03-12 01:02:41 +01:00
runclient-Tools.bat Add pause to runclient (#37748) 2025-05-26 13:50:05 +02:00
runclient-Tools.sh Add bash equivalents run*.bat scripts for linux devs (#31195) 2024-08-20 00:36:08 +02:00
runclient.bat Add pause to runclient (#37748) 2025-05-26 13:50:05 +02:00
runclient.sh Add bash equivalents run*.bat scripts for linux devs (#31195) 2024-08-20 00:36:08 +02:00
runserver-Tools.bat Tools batch files (#29179) 2024-06-19 21:33:02 +02:00
runserver-Tools.sh Add bash equivalents run*.bat scripts for linux devs (#31195) 2024-08-20 00:36:08 +02:00
runserver.bat Use dotnet run for the run batch files instead of directly calling the exe (#27698) 2024-05-05 22:18:26 +02:00
runserver.sh Add bash equivalents run*.bat scripts for linux devs (#31195) 2024-08-20 00:36:08 +02:00
SECURITY.md Add SECURITY.md (#14551) 2023-03-09 16:01:40 -06:00
shell.nix Add libicu to shell.nix (#35540) 2025-02-26 19:54:33 +01:00
SpaceStation14.sln Add Robust.Xaml.csproj to the solution (#31573) 2024-08-28 15:08:35 +02:00
SpaceStation14.sln.DotSettings "LV" is an acronym (#31402) 2024-08-24 23:22:19 +02: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.

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.