Commit Graph

93 Commits

Author SHA1 Message Date
Pieter-Jan Briers
fc76996dc5 Fix EFCore obsoletion warnings in Content.Server.Database (#26285) 2024-03-20 15:47:36 +01:00
Pieter-Jan Briers
b1de6dd601 Switch project files to C# 12. (#25487)
Just unlocks new language features like primary constructors.
2024-02-23 15:02:59 +11:00
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
Krunklehorn
ed0f2aa221 Client customization late-join spawner priority for arrivals/cryostorage (#24586)
* Initial commit, requires server restart to take effect

* Exposes callbacks directly instead, takes effect immediately

* Cleaned up control flow, swapped cvar for client customization

* Switched to int, dictionary of callbacks, migration

* Update Content.Shared/Preferences/SpawnPriorityPreference.cs

* krunkle stan

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-02-01 21:12:09 +11:00
Pieter-Jan Briers
a6c9c36b68 Dependency update / fixes / skrungle bungle (#23745)
* Give .props files 2-space indents.

* Move to Central Package Management.

Allows us to store NuGet package versions all in one place. Yay!

* Update NuGet packages and fix code for changes.

Notable:

Changes to ILVerify.
Npgsql doesn't need hacks for inet anymore, now we need hacks to make the old code work with this new reality.
NUnit's analyzers are already complaining and I didn't even update it to 4.x yet.
TerraFX changed to GetLastSystemError so error handling had to be changed.
Buncha APIs have more NRT annotations.

* Remove dotnet-eng NuGet package source.

I genuinely don't know what this was for, and Central Package Management starts throwing warnings about it, so YEET.

* Remove Robust.Physics project.

Never used.

* Remove erroneous NVorbis reference.

Should be VorbisPizza and otherwise wasn't used.

* Sandbox fixes

* Remove unused unit test package references.

Castle.Core and NUnit.ConsoleRunner.

* Update NUnit to 4.0.1

This requires replacing all the old assertion methods because they removed them 🥲

* Oh so that's what dotnet-eng was used for. Yeah ok that makes sense.

* Add Robust.Analyzers.Test

* Update submodule

* commit to re-run CI
2024-01-12 23:22:01 +01:00
Pieter-Jan Briers
a39999fb9c Fix admin log key order. (#23052)
The keys for admin logs were set as (log_id, round_id). This made no sense because logs are usually accessed per round.
2024-01-11 01:03:25 +01:00
Pieter-Jan Briers
b4f8393f42 Log server ID in connection logs table (#21911) 2023-12-07 09:48:56 +11:00
DrSmugleaf
0e0ac5fcc5 Drop admin log entity db table (#21216) 2023-10-23 22:08:20 -07:00
DrSmugleaf
52e1d64ee2 Stop all reads/writes to the admin_log_entity table (#21186) 2023-10-22 21:24:03 -07:00
DrSmugleaf
43d5c00648 Store round start date in the database (#21153) 2023-10-22 21:01:48 -07:00
Pieter-Jan Briers
7c9d7423d2 Remove autogenerated from admin log key. (#18377) 2023-07-29 16:44:28 +10:00
Pieter-Jan Briers
e0c4884995 GDPR stuff update (#18300) 2023-07-26 20:05:51 +02:00
Pieter-Jan Briers
b4b0fe41db Admin notes bugfixes (#18189) 2023-07-21 15:43:47 +02:00
Riggle
579913b617 Better notes and bans (#14228)
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
2023-07-21 13:38:52 +02:00
Chief-Engineer
5eba1d230a Add IP ban exemption flag (#15815) 2023-04-27 11:59:18 -07:00
Pieter-Jan Briers
c8e90e561b Server ban exemption system (#15076) 2023-04-03 10:24:55 +10:00
Pieter-Jan Briers
360a507688 Shared interfaces for server and role ban entities (#14730) 2023-03-18 20:44:14 +01:00
Pieter-Jan Briers
c5b3f62f6f Update project files for configuration changes. (#14281) 2023-03-06 11:38:07 -08:00
Pieter-Jan Briers
220b19f5ca Rename migrations to fix CS8981 warnings. (#14160) 2023-02-19 10:59:52 +11:00
DrSmugleaf
cd803a82bd Update projects to C# 11 (#13111) 2022-12-20 22:33:57 +11:00
Visne
4cc5fa239e Implement traits system (#10693) 2022-09-10 08:40:06 -07:00
Pieter-Jan Briers
e852ada6c8 Play time tracking: Job timers 3: more titles: when the (#9978)
Co-authored-by: Veritius <veritiusgaming@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-08-07 16:00:42 +10:00
Moony
8e90bf46e9 Implements panic bunkering. (#9315)
* Implements panic bunkering.
Helps with raid management, esp with unknown accounts.

* adds an enable/disable command.
2022-07-01 22:46:37 +02:00
wrexbe
0fc8c0ef5e Update some nugets (#8738) 2022-06-09 18:25:59 -07:00
Veritius
3b7e202044 Flavor text (#8070) 2022-05-13 15:58:45 -07:00
wrexbe
bc68ac96dd Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
Julian Giebel
288f66d8c4 Implement count estimate query for postgresdb (#7956) 2022-05-06 16:04:33 +02:00
DrSmugleaf
0502d3dec4 Make Profile.Markings db column jsonb (#7947) 2022-05-05 11:23:48 +02:00
Flipp Syder
a30cae21f6 Markings (#7072)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-05-05 10:07:42 +02:00
Pieter-Jan Briers
fc119befca Fix admin log indices. (#7920) 2022-05-04 16:18:55 +02:00
DrSmugleaf
5227d1a023 Admin notes (#7259)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-04-16 20:57:50 +02:00
DrSmugleaf
ca0fb3c6a2 Track rule reading in database, don't show popup locally (#7278) 2022-03-26 20:16:57 +01:00
Vera Aguilera Puerto
eb54f4b224 Adds Network Resource Uploading for admins. (#6904)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2022-03-26 12:46:37 +01:00
Julian Giebel
414d226ec5 Server names and admin log full-text search (#6327)
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2022-03-13 18:36:48 +01:00
Pieter-Jan Briers
6b66c7db8a Fix database model migrations after role bans.
Role bans (#6703) seemed to have changes to the DB model from after the migrations were created. This means a bunch of constraints/indices changed names and this wasn't reflected in a migration yet.
2022-03-08 23:36:02 +01:00
ShadowCommander
b99b1f4008 Fix RoleUnban referring to the wrong ban type (#6885) 2022-02-24 15:59:38 -08:00
Kara D
d16b019dd3 nowarn virtual analyzer for migrations 2022-02-22 21:56:45 -07:00
ShadowCommander
4a68718050 Role ban improvements (#6855) 2022-02-21 22:00:55 -07:00
ShadowCommander
4825142210 Role bans (#6703) 2022-02-21 23:11:39 +01:00
Pieter-Jan Briers
debeed9afd Make Server.Database depend on Sqlite.Core instead
This means Content.Server.Database doesn't have a direct hard dependency on an SQLite implementation. The implementation is already provided by Robust anyways, so this means a publish of SS14.Admin doesn't need a libe_sqlite.so
2022-02-09 17:16:42 +01:00
Pieter-Jan Briers
19ceda04b5 Fix arg parsing for design time db contexts.
Don't need to pull this from command line, you can specify --context.
2022-02-03 03:46:07 +01:00
Pieter-Jan Briers
4da56becab Fix DbContext configuration nightmares.
Thanks to julian figuring out IDesignTimeDbContextFactory exists in #6327.

All this DbContext configuration and options setup stuff is insane. Microsoft should be absolutely ashamed for coming up with this load of garbage.
2022-02-03 03:13:34 +01:00
Pieter-Jan Briers
5091c6aa9d Revert "Revert "Log ban hits in DB. ( (#6361) 2022-02-02 22:57:11 +01:00
Pieter-Jan Briers
764010fea0 Revert "Log ban hits in DB. (#6337)" (#6357)
This reverts commit b75f005bb4.
2022-01-28 19:33:09 +01:00
Pieter-Jan Briers
b75f005bb4 Log ban hits in DB. (#6337) 2022-01-28 19:10:44 +01:00
Pieter-Jan Briers
a3aabf59ad Unify remaining DB model classes between SQLite and Postgres.
As part of this, the ban and unban table were renamed to server_* on SQLite to move them in line with Postgres. Data is preserved.
2022-01-27 18:12:09 +01:00
wrexbe
5ceb2372bf Clean up some warnings (#6088)
* Clean up some warnings

* Remove nullable enable

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2022-01-09 22:10:36 -06:00
Moony
ca984036d6 Upstream species (#6066)
* Step 1 of porting; grabbed most of the files via patches.

* Add species field to the DB

* Appearance patches for slimes.

* Fix the db test.

* Add slime's biocompat.

* slimby

* Fixes, allow specifying if a species is playable or not.

* Update Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>

* Update Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>

* Update Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>

* Address reviews.

* Address reviews.

* make an if-case.

* Fix a goof where species wouldn't get shown in the editor correctly (it'd always default to human)

Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>
2022-01-08 19:53:14 -06:00
mirrorcult
af785f873f Optional server whitelists (#5979) 2022-01-05 00:37:06 +11:00
DrSmugleaf
0b8233909c Ignore EFCore SensitiveDataLoggingEnabledWarning 2022-01-02 00:33:29 +01:00