Мяу!
Find a file
Pieter-Jan Briers 2e6eaa45c5
Fix admin notes and database time nonsense. (#25280)
God bloody christ. There's like three layers of shit here.

So firstly, apparently we were still using Npgsql.EnableLegacyTimestampBehavior. This means that time values (which are stored UTC in the database) were converted to local time when read out. This meant they were passed around as kind Local to clients (instead of UTC in the case of SQLite). That's easy enough to fix just turn off the flag and fix the couple spots we're passing a local DateTime ez.

Oh but it turns out there's a DIFFERENT problem with SQLite: See SQLite we definitely store the DateTimes as UTC, but when Microsoft.Data.Sqlite reads them it reads them as Kind Unspecified instead of Utc.

Why are these so bad? Because the admin notes system passes DateTime instances from EF Core straight to the rest of the game code. And that means it's a PAIN IN THE ASS to run the necessary conversions to fix the DateTime instances. GOD DAMNIT now I have to make a whole new set of "Record" entities so we avoid leaking the EF Core model entities. WAAAAAAA.

Fixes #19897
2024-02-20 10:13:31 +01:00
.github Action for closing prs submitted by the submitters master branch (#24094) 2024-02-02 01:05:01 +11:00
.run Move grenade components to shared (#22691) 2024-02-02 00:29:01 +11:00
.vscode Adds a vscode launch option for starting the client in the compatibility renderer (#22904) 2023-12-23 19:42:14 -08:00
BuildChecker Update project files for configuration changes. (#14281) 2023-03-06 11:38:07 -08:00
BuildFiles/Mac/Space Station 14.app/Contents Updated Mac Icon (#1058) 2020-06-02 13:29:33 +02:00
Content.Benchmarks Random spontaneous cleanup PR (#25131) 2024-02-13 16:48:39 -05:00
Content.Client Fix admin notes and database time nonsense. (#25280) 2024-02-20 10:13:31 +01:00
Content.Docfx Docfx Remove Interfacemembers div 2022-03-21 18:04:01 -06:00
Content.IntegrationTests Fix action state handling bug (#25395) 2024-02-20 13:08:41 +11:00
Content.MapRenderer Random spontaneous cleanup PR (#25131) 2024-02-13 16:48:39 -05:00
Content.Packaging Dependency update / fixes / skrungle bungle (#23745) 2024-01-12 23:22:01 +01:00
Content.PatreonParser Dependency update / fixes / skrungle bungle (#23745) 2024-01-12 23:22:01 +01:00
Content.Replay Dependency update / fixes / skrungle bungle (#23745) 2024-01-12 23:22:01 +01:00
Content.Server Fix admin notes and database time nonsense. (#25280) 2024-02-20 10:13:31 +01:00
Content.Server.Database Fix admin notes and database time nonsense. (#25280) 2024-02-20 10:13:31 +01:00
Content.Shared Fix admin notes and database time nonsense. (#25280) 2024-02-20 10:13:31 +01:00
Content.Shared.Database Add admin logs for thermomachines (#24056) 2024-01-13 20:05:45 -08:00
Content.Tests Solution precision fixes (#25199) 2024-02-16 16:54:27 -07:00
Content.Tools Dependency update / fixes / skrungle bungle (#23745) 2024-01-12 23:22:01 +01:00
Content.YAMLLinter Dependency update / fixes / skrungle bungle (#23745) 2024-01-12 23:22:01 +01:00
Pow3r Dependency update / fixes / skrungle bungle (#23745) 2024-01-12 23:22:01 +01:00
Resources Automatic changelog update 2024-02-20 02:09:47 +00:00
RobustToolbox@ef0bc1a2e4 Update engine to v210.1.1 (#25354) 2024-02-17 22:26:27 +01:00
Tools Revert "Allow configuring gen_build_info.py through environment variables" (#25201) 2024-02-14 01:20:30 +01:00
.editorconfig Dependency update / fixes / skrungle bungle (#23745) 2024-01-12 23:22:01 +01:00
.envrc Bump nixpkgs rev (#25361) 2024-02-19 10:08:05 -08: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
Directory.Packages.props Dependency update / fixes / skrungle bungle (#23745) 2024-01-12 23:22:01 +01:00
flake.lock Bump nixpkgs rev (#25361) 2024-02-19 10:08:05 -08:00
flake.nix Fix nix devShell (#22663) 2023-12-17 17:55:37 +01:00
global.json .NET 8 compatibility (#22461) 2023-12-15 18:19:48 +01:00
LICENSE.TXT Happy new year! (#23343) 2024-01-02 14:28:02 +11: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 (#25067) 2024-02-09 23:31:01 -05:00
RUN_THIS.py Revert "Deprecates RUN_THIS.py in favor of manually doin' it (#3930)" (#3933) 2021-05-05 14:30:46 +02:00
runclient.bat run client/server point to Content instead of Robust 2021-05-03 20:23:05 -07:00
runserver.bat run client/server point to Content instead of Robust 2021-05-03 20:23:05 -07:00
SECURITY.md Add SECURITY.md (#14551) 2023-03-09 16:01:40 -06:00
shell.nix Bump nixpkgs rev (#25361) 2024-02-19 10:08:05 -08:00
SpaceStation14.sln Dependency update / fixes / skrungle bungle (#23745) 2024-01-12 23:22:01 +01:00
SpaceStation14.sln.DotSettings Cryogenic Sleep Units (#24096) 2024-01-14 23:35:28 -07: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.

Website | Discord | Forum | Steam | Standalone Download

Documentation/Wiki

Our docs site has documentation on SS14s content, engine, game design and more. 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.
  2. Run RUN_THIS.py to init submodules and download the engine.
  3. Compile the solution.

More detailed instructions on building the project.

License

All code for the content repository is licensed under MIT.

Most assets are licensed under CC-BY-SA 3.0 unless stated otherwise. Assets have their license and the copyright in the metadata file. Example.

Note that 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.