184 Commits

Author SHA1 Message Date
Zekins3366 0d276ef3f6 bdfix 2026-04-01 13:01:05 +03:00
Zekins3366 ec75826c1d Merge remote-tracking branch 'upstream/master' into upstream 2026-03-29 02:05:22 +03:00
Zekins fcb62e8c4c Лаваленд Релиз (#322)
* lava1

* change

* year

* aaaaaaaaaaaaaaaaaa

* ye

* testver

* .

* .

* firstfixes

* fixes2

* last

* testingback

* dovkid

* disabledevlava

* mapsupdate

* fix
2026-03-01 17:04:15 +03:00
Zekins3366 4b6f7d13f9 Merge remote-tracking branch 'upstream/master' 2026-01-31 14:58:49 +03:00
Dmitry 7c3915f9cf merge remote wizden/master 2026-01-29 00:01:34 +07:00
Pieter-Jan Briers b4a3358b4b Stable to master (#42611)
Fix PostgreSQL migration for ban DB refactor (#42609)

This didn't come up in testing. The ban hit foreign key was added before the data was migrated, so it didn't work.

Fix that.
2026-01-23 19:53:52 +01:00
Pieter-Jan Briers 26d4d7d337 Fix PostgreSQL migration for ban DB refactor (#42609)
This didn't come up in testing. The ban hit foreign key was added before the data was migrated, so it didn't work.

Fix that.
2026-01-23 19:51:24 +01:00
Dmitry d7704cb9cb merge remote wizden/master 2026-01-24 00:55:41 +07:00
Pieter-Jan Briers 29b7fc4463 Stable to master (#42599)
Ban database refactor (#42495)

* Ban DB refactor seems to work at a basic level for PostgreSQL

* New ban creation API

Supports all the new functionality (multiple players/addresses/hwids/roles/rounds per ban).

* Make the migration irreversible

* Re-implement ban notifications

The server ID check is no longer done as admins may want to place bans spanning multiple rounds irrelevant of the source server.

* Fix some split query warnings

* Implement migration on SQLite

* More comments

* Remove required from ban reason

SS14.Admin changes would like this

* More missing AsSplitQuery() calls

* Fix missing ban type filter

* Fix old CreateServerBan API with permanent time

* Fix department and role ban commands with permanent time

* Re-add banhits navigation property

Dropped this on accident, SS14.Admin needs it.

* More ban API fixes.

* Don't fetch ban exemption info for role bans

Not relevant, reduces query performance

* Regenerate migrations

* Fix adminnotes command for players that never connected

Would blow up handling null player records. Not a new bug introduced by the refactor, but I ran into it.

* Great shame... I accidentally committed submodule update...

* Update GDPR scripts

* Fix sandbox violation

* Fix bans with duplicate info causing DB exceptions

Most notably happened with role bans, as multiple departments may include the same role.
2026-01-23 15:34:23 +01:00
Pieter-Jan Briers 4e428436b9 Ban database refactor (#42495)
* Ban DB refactor seems to work at a basic level for PostgreSQL

* New ban creation API

Supports all the new functionality (multiple players/addresses/hwids/roles/rounds per ban).

* Make the migration irreversible

* Re-implement ban notifications

The server ID check is no longer done as admins may want to place bans spanning multiple rounds irrelevant of the source server.

* Fix some split query warnings

* Implement migration on SQLite

* More comments

* Remove required from ban reason

SS14.Admin changes would like this

* More missing AsSplitQuery() calls

* Fix missing ban type filter

* Fix old CreateServerBan API with permanent time

* Fix department and role ban commands with permanent time

* Re-add banhits navigation property

Dropped this on accident, SS14.Admin needs it.

* More ban API fixes.

* Don't fetch ban exemption info for role bans

Not relevant, reduces query performance

* Regenerate migrations

* Fix adminnotes command for players that never connected

Would blow up handling null player records. Not a new bug introduced by the refactor, but I ran into it.

* Great shame... I accidentally committed submodule update...

* Update GDPR scripts

* Fix sandbox violation

* Fix bans with duplicate info causing DB exceptions

Most notably happened with role bans, as multiple departments may include the same role.
2026-01-23 15:33:14 +01:00
Dmitry 17ca2dfc3e merge remote wizden/master 2026-01-22 01:52:20 +07:00
pathetic meowmeow 8cf744ec55 Visual nubody (humanoid appearance refactor) (#42476)
* initial visual nubody

* oops overlay

* im so pheeming rn

* conversion...

* tests

* comeback of the underwear

* oops eyes

* blabbl

* zeds

* yaml linted

* search and visible count constraints

* reordering

* preserve previously selected markings colors

* fix test

* some ui niceties

* ordering

* make DB changes backwards-compatible/downgrade-friendly

* fix things again

* fix migration

* vulpkanin markings limit increase

* wrapping

* code cleanup and more code cleanup and more code cleanup and more code cleanup and

* fix slop ports

* better sampling API

* make filter work + use the method i made for its intended purpose

* fix test fails real quick

* magic mirror cleanup, remove TODO

* don't 0-init the organ profile data

* remove deltastates

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-20 07:07:53 +00:00
Dmitry 6187a5a7bd merge remote stable wizden 2026-01-08 10:32:52 +07:00
Pieter-Jan Briers 787330f5c6 v269.0.0 RT update - .NET 10 (#41855)
* Make ServerPackaging automatically get extra server assemblies

* Make the switch

* Use Content.Server.deps.json instead

* Remove debug

* Rewrite

Now recursively fetches dependencies from Content.Server

Only copies dependencies not covered by Robust

This removes the need to manually specify most of the dependencies, even the content ones!

Also look at runtime key properly to figure out the proper dll name.

This actually removes some assemblies that were duplicated between the main directory and assemblies (various Microsoft.Extensions stuff)

* Fix test compile errors when updating dependencies

Ran across this while updating dependencies on the RT .NET 10 update. Should be fine to merge immediately.

* More .NET 10 prep

* Convert to SLNX

Hell yeah

* slnx now has size-2 indents

* Update SLNX with new RT system

* Remove reference to RT test in toolshed test

* Remove accidental usage of transitive RT dependencies

* Move Robust project references to RobustApi

* Update solution file

* Fix warnings in pow3r

* Fix nullable warnings in integration tests

idk where these came from

* gitignore binlog files

* Fix transitive dependency warnings in Content.Benchmarks

* Update slnx

* Okay, the Robust API thing didn't pan out. New plan.

It apparently broke clean builds, as the dependencies aren't in the project asset list or something anymore. I tried to fix this, but it seems impossible to do without relying on .NET SDK internals, as there's no point in the NuGet graph walk process that seems cleanly extensible.

Instead let's just do the much dumber thing: a bunch of .props files for content to import. Hooray!

This also means that I have to go through and *explicitly* disable transitive dependencies everywhere in RT. This thankfully isn't too hard.

* Update RT to 269.0.0

* One last solution update

* Fix more data definition issues

* Update RT to 269.0.1

* Fix it again

---------

Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2025-12-22 01:24:24 +00:00
Zekins 8efe46213e Рост (#266)
* height

* big the biggest
2025-12-11 01:01:24 +03:00
Zekins3366 c8fca5f092 Merge remote-tracking branch 'upstream/master' 2025-10-31 14:03:21 +03:00
Dmitry c682eb80b4 merge remote master, upstream 2025-10-26 22:31:58 +07:00
Partmedia a6938a6442 Fix generating migrations with USE_SYSTEM_SQLITE (#40910) 2025-10-14 21:40:05 +00:00
Vasilis The Pikachu 5100068a78 Revert "Admin Log Browser Improvements (#39130)"
This reverts commit f67cebf7a4.

Per request of @Kowlin and @southbridge-fur

Check out https://github.com/space-wizards/space-station-14/issues/39960 for further information
2025-08-31 17:50:37 +02:00
Zekins3366 dca2883853 Graphomancy 2025-08-27 21:53:40 +03:00
Southbridge f67cebf7a4 Admin Log Browser Improvements (#39130) 2025-08-21 22:12:16 +02:00
Myra 2c4251dcdc Revert "Don't compile EF Core designer files on release builds" (#39057) 2025-07-19 00:23:48 +02:00
Pieter-Jan Briers 27dc59a40b Don't compile EF Core designer files on release builds (#38927) 2025-07-13 10:29:18 +02:00
Zekins3366 6d7108ea17 Merge remote-tracking branch 'upstream/master' 2025-06-01 20:30:23 +03:00
Dmitry a6ecbc3410 Merge remote-tracking branch 'upstream/master' 2025-05-24 22:35:13 +07:00
YotaXP e404e45ffc Persist construction menu favorites server-side (#35867)
* Persist construction menu favorites to player profile

* Use `ProtoId`s for construction favorites

* Validate construction favorites updates from the client

* Actually await the async database call
2025-05-17 13:37:19 -04:00
Zekins 4448faf35f Merge remote-tracking branch 'upstream/master' 2025-03-23 02:07:10 +03:00
Zekins 7d6f564344 Merge remote-tracking branch 'upstream/master' into upstream 2025-03-18 02:40:46 +03:00
Zekins e718269cf3 upstream 2025-02-27 00:26:34 +03:00
nikthechampiongr 09f75394be Require hwid (#35331)
* Make cvar to require that the client has a modern hwid

* Ignore guests and don't disable cvar on dev

* Rename and add docs
2025-02-20 19:04:45 +01:00
lzk228 0af3e04fd8 Merge commit '3551eb04115854cdbbf1841f5960c3cdbc508583' into 02-19-upstream
# Conflicts:
#	Content.Server/Administration/Systems/AdminSystem.cs
#	Content.Server/Doors/Systems/AirlockSystem.cs
#	Content.Server/Holopad/HolopadSystem.cs
#	Content.Server/Humanoid/Systems/HumanoidAppearanceSystem.cs
#	Resources/Prototypes/Catalog/Fills/Lockers/heads.yml
#	Resources/Prototypes/Catalog/VendingMachines/Inventories/curadrobe.yml
#	Resources/Prototypes/Datasets/Names/borg.yml
#	Resources/Prototypes/Datasets/ion_storm.yml
#	Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml
#	Resources/Prototypes/Entities/Clothing/Neck/mantles.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml
#	Resources/Prototypes/Entities/Stations/base.yml
#	Resources/Prototypes/Entities/Structures/Machines/lathe.yml
#	Resources/Prototypes/Maps/amber.yml
#	Resources/Prototypes/Maps/box.yml
#	Resources/Prototypes/Maps/convex.yml
#	Resources/Prototypes/Maps/fland.yml
#	Resources/Prototypes/Maps/meta.yml
#	Resources/Prototypes/Maps/plasma.yml
#	Resources/ServerInfo/Guidebook/Engineering/AME.xml
#	Resources/ServerInfo/Guidebook/Engineering/AirlockSecurity.xml
#	Resources/ServerInfo/Guidebook/Engineering/Atmospherics.xml
#	Resources/ServerInfo/Guidebook/Engineering/Construction.xml
#	Resources/ServerInfo/Guidebook/Engineering/Engineering.xml
#	Resources/ServerInfo/Guidebook/Engineering/Fires.xml
#	Resources/ServerInfo/Guidebook/Engineering/NetworkConfigurator.xml
#	Resources/ServerInfo/Guidebook/Engineering/Networking.xml
#	Resources/ServerInfo/Guidebook/Engineering/PortableGenerator.xml
#	Resources/ServerInfo/Guidebook/Engineering/Power.xml
#	Resources/ServerInfo/Guidebook/Engineering/RTG.xml
#	Resources/ServerInfo/Guidebook/Engineering/Shuttlecraft.xml
#	Resources/ServerInfo/Guidebook/Engineering/Singularity.xml
#	Resources/ServerInfo/Guidebook/Engineering/TEG.xml
#	Resources/ServerInfo/Guidebook/NewPlayer/Controls/Controls.xml
#	Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/icon.png
#	Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-left.png
#	Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-right.png
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/goliath.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Vests/hazard.rsi/equipped-OUTERCLOTHING.png
#	Resources/Textures/Clothing/OuterClothing/Vests/hazard.rsi/icon.png
#	Resources/Textures/Clothing/OuterClothing/Vests/hazard.rsi/meta.json
#	Resources/Textures/Clothing/Uniforms/Jumpsuit/ancient.rsi/meta.json
#	Resources/Textures/Clothing/Uniforms/Jumpsuit/security_trooper.rsi/inhand-right.png
#	Resources/Textures/Interface/Actions/actions_fakemindshield.rsi/icon-on.png
#	Resources/Textures/Objects/Storage/Briefcases/briefcase_brown.rsi/icon.png
#	Resources/Textures/Objects/Storage/Briefcases/briefcase_brown.rsi/meta.json
#	Resources/Textures/Objects/Storage/boxes.rsi/beaker.png
#	Resources/Textures/Objects/Storage/boxes.rsi/bodybags.png
#	Resources/Textures/Objects/Storage/boxes.rsi/bottle.png
#	Resources/Textures/Objects/Storage/boxes.rsi/box.png
#	Resources/Textures/Objects/Storage/boxes.rsi/box_hug.png
#	Resources/Textures/Objects/Storage/boxes.rsi/box_of_doom.png
#	Resources/Textures/Objects/Storage/boxes.rsi/box_of_doom_big.png
#	Resources/Textures/Objects/Storage/boxes.rsi/box_science.png
#	Resources/Textures/Objects/Storage/boxes.rsi/box_security.png
#	Resources/Textures/Objects/Storage/boxes.rsi/boxwide.png
#	Resources/Textures/Objects/Storage/boxes.rsi/boxwidetoy.png
#	Resources/Textures/Objects/Storage/boxes.rsi/candle.png
#	Resources/Textures/Objects/Storage/boxes.rsi/circuit.png
#	Resources/Textures/Objects/Storage/boxes.rsi/clown.png
#	Resources/Textures/Objects/Storage/boxes.rsi/darts.png
#	Resources/Textures/Objects/Storage/boxes.rsi/disk.png
#	Resources/Textures/Objects/Storage/boxes.rsi/emergencytank.png
#	Resources/Textures/Objects/Storage/boxes.rsi/encryptokey.png
#	Resources/Textures/Objects/Storage/boxes.rsi/evidence_markers.png
#	Resources/Textures/Objects/Storage/boxes.rsi/extendedtank.png
#	Resources/Textures/Objects/Storage/boxes.rsi/flare.png
#	Resources/Textures/Objects/Storage/boxes.rsi/flashbang.png
#	Resources/Textures/Objects/Storage/boxes.rsi/forensic.png
#	Resources/Textures/Objects/Storage/boxes.rsi/glasses.png
#	Resources/Textures/Objects/Storage/boxes.rsi/handcuff.png
#	Resources/Textures/Objects/Storage/boxes.rsi/headset.png
#	Resources/Textures/Objects/Storage/boxes.rsi/heart.png
#	Resources/Textures/Objects/Storage/boxes.rsi/holo.png
#	Resources/Textures/Objects/Storage/boxes.rsi/implant.png
#	Resources/Textures/Objects/Storage/boxes.rsi/inflatable.png
#	Resources/Textures/Objects/Storage/boxes.rsi/internals.png
#	Resources/Textures/Objects/Storage/boxes.rsi/latex.png
#	Resources/Textures/Objects/Storage/boxes.rsi/light.png
#	Resources/Textures/Objects/Storage/boxes.rsi/lightmixed.png
#	Resources/Textures/Objects/Storage/boxes.rsi/lighttube.png
#	Resources/Textures/Objects/Storage/boxes.rsi/magazine.png
#	Resources/Textures/Objects/Storage/boxes.rsi/meson.png
#	Resources/Textures/Objects/Storage/boxes.rsi/meta.json
#	Resources/Textures/Objects/Storage/boxes.rsi/mousetraps.png
#	Resources/Textures/Objects/Storage/boxes.rsi/nitrile.png
#	Resources/Textures/Objects/Storage/boxes.rsi/omegacart.png
#	Resources/Textures/Objects/Storage/boxes.rsi/pda.png
#	Resources/Textures/Objects/Storage/boxes.rsi/pillbox.png
#	Resources/Textures/Objects/Storage/boxes.rsi/sechud.png
#	Resources/Textures/Objects/Storage/boxes.rsi/shellbeanbag.png
#	Resources/Textures/Objects/Storage/boxes.rsi/shellflare.png
#	Resources/Textures/Objects/Storage/boxes.rsi/shellflash.png
#	Resources/Textures/Objects/Storage/boxes.rsi/shellincendiary.png
#	Resources/Textures/Objects/Storage/boxes.rsi/shelllethal.png
#	Resources/Textures/Objects/Storage/boxes.rsi/shellpractice.png
#	Resources/Textures/Objects/Storage/boxes.rsi/shellslug.png
#	Resources/Textures/Objects/Storage/boxes.rsi/shelltoy.png
#	Resources/Textures/Objects/Storage/boxes.rsi/solution_trays.png
#	Resources/Textures/Objects/Storage/boxes.rsi/sterile.png
#	Resources/Textures/Objects/Storage/boxes.rsi/swab.png
#	Resources/Textures/Objects/Storage/boxes.rsi/syringe.png
#	Resources/Textures/Objects/Storage/boxes.rsi/trashbag.png
#	Resources/Textures/Objects/Storage/boxes.rsi/vials.png
#	Resources/Textures/Objects/Storage/boxes.rsi/writing.png
#	Resources/Textures/Objects/Storage/boxes.rsi/writing_of_doom.png
#	Resources/Textures/Objects/Storage/boxes.rsi/ziptie.png
#	Resources/Textures/Objects/Tiles/tile.rsi/meta.json
#	Resources/Textures/Objects/Weapons/Grenades/empgrenade.rsi/icon.png
#	Resources/Textures/Objects/Weapons/Grenades/empgrenade.rsi/meta.json
#	Resources/Textures/Objects/Weapons/Grenades/empgrenade.rsi/primed.png
#	Resources/Textures/Objects/Weapons/Grenades/flashbang.rsi/icon.png
#	Resources/Textures/Objects/Weapons/Grenades/flashbang.rsi/meta.json
#	Resources/Textures/Objects/Weapons/Grenades/flashbang.rsi/primed.png
#	Resources/Textures/Objects/Weapons/Grenades/stingergrenade.rsi/icon.png
#	Resources/Textures/Objects/Weapons/Grenades/stingergrenade.rsi/meta.json
#	Resources/Textures/Objects/Weapons/Grenades/stingergrenade.rsi/primed.png
#	Resources/Textures/Objects/Weapons/Guns/Battery/antiquelasergun.rsi/base.png
#	Resources/Textures/Objects/Weapons/Guns/Battery/antiquelasergun.rsi/icon.png
#	Resources/Textures/Objects/Weapons/Guns/Battery/antiquelasergun.rsi/mag-unshaded-1.png
#	Resources/Textures/Objects/Weapons/Guns/Battery/antiquelasergun.rsi/mag-unshaded-2.png
#	Resources/Textures/Objects/Weapons/Guns/Battery/antiquelasergun.rsi/mag-unshaded-3.png
#	Resources/Textures/Objects/Weapons/Guns/Battery/antiquelasergun.rsi/mag-unshaded-4.png
#	Resources/Textures/Objects/Weapons/Guns/Battery/antiquelasergun.rsi/meta.json
#	Resources/Textures/Objects/Weapons/Guns/Rifles/lecter.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/SMGs/vector.rsi/equipped-BACKPACK.png
#	Resources/Textures/Objects/Weapons/Guns/Shotguns/pump.rsi/equipped-BACKPACK.png
2025-02-19 03:00:13 +01:00
metalgearsloth 15b28936df Add loadout names (#31303)
* Add loadout names

Did it for AI, breaking change for pgsql + migrations in general. Nothing atm uses it.

* the box

* Spawning cherry pick

* Fix nit

* revert

* Final cleanup

* Real

* Name UI fix

* Migrations

* a

* Review

* Re-run migrations

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2025-02-11 18:30:24 +01:00
Zekins a957c07f89 Upstream 2025-01-21 16:45:11 +03:00
Morb0 996b761d80 Merge remote-tracking branch 'wizards/master' into upstream-sync
# Conflicts:
#	Content.Packaging/ClientPackaging.cs
#	Content.Server/Administration/Systems/AdminSystem.cs
#	Content.Server/GameTicking/GameTicker.StatusShell.cs
#	Content.Shared/Preferences/HumanoidCharacterProfile.cs
#	Resources/Prototypes/Entities/Stations/base.yml
#	Resources/Prototypes/Entities/Structures/Machines/lathe.yml
#	Resources/Textures/Interface/Misc/job_icons.rsi/meta.json
#	Resources/Textures/Structures/Power/Generation/Singularity/singularity_1.rsi/meta.json
#	Resources/Textures/Structures/Power/Generation/Singularity/singularity_2.rsi/meta.json
#	Resources/Textures/Structures/Power/Generation/Singularity/singularity_3.rsi/meta.json
#	Resources/Textures/Structures/Power/Generation/Singularity/singularity_4.rsi/meta.json
#	Resources/Textures/Structures/Power/Generation/Singularity/singularity_5.rsi/meta.json
#	Resources/Textures/Structures/Power/Generation/Singularity/singularity_6.rsi/meta.json
2025-01-16 13:37:26 +03:00
Myra 6041c828de Remove baby jail (#34443)
* Remove baby jail

Closes #33893

* Test fail fix.
2025-01-15 22:08:15 +01:00
Pieter-Jan Briers c2e050ced0 Persist deadmin to database, add admin suspension system (#34048) 2025-01-15 00:46:45 +01:00
Morb0 f8f0dcb59e Merge remote-tracking branch 'wizards/master' into upstream-sync
# Conflicts:
#	Content.Server/Connection/ConnectionManager.cs
2025-01-12 23:13:13 +03:00
Myra 96d913b147 Add IPIntel API support. (#33339)
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-01-12 20:41:26 +01:00
Zekins 09146c2a8e AddOocFlavor 2025-01-03 16:36:44 +03:00
Zekins 23620b4be9 addbarksystem 2024-12-31 15:07:37 +03:00
Zekins 73d04e5ce2 conflicts 2024-12-17 23:11:21 +03:00
Morb0 e76bb1fa57 Merge remote-tracking branch 'wizards/master' into upstream-sync
# Conflicts:
#	Resources/Prototypes/Datasets/Names/borer.yml
#	Resources/Prototypes/Datasets/Names/diona.yml
#	Resources/Textures/Structures/Wallmounts/posters.rsi/meta.json
#	Resources/Textures/Tiles/plating_burnt.png
2024-12-05 01:22:35 +03:00
Pieter-Jan Briers 4f3db43696 Integrate Modern HWID into content
This should be the primary changes for the future-proof "Modern HWID" system implemented into Robust and the auth server.

HWIDs in the database have been given an additional column representing their version, legacy or modern. This is implemented via an EF Core owned entity. By manually setting the column name of the main value column, we can keep DB compatibility and the migration is just adding some type columns.

This new HWID type has to be plumbed through everywhere, resulting in some breaking changes for the DB layer and such.

New bans and player records are placed with the new modern HWID. Old bans are still checked against legacy HWIDs.

Modern HWIDs are presented with a "V2-" prefix to admins, to allow distinguishing them. This is also integrated into the parsing logic for placing new bans.

There's also some code cleanup to reduce copy pasting around the place from my changes.

Requires latest engine to support ImmutableArray<byte> in NetSerializer.
2024-11-12 01:51:54 +01:00
Pieter-Jan Briers 36aceb178c Database SnakeCaseNaming fixes
Fixes formatting of owned entity type property names. These are normally named "FooBar_Baz" by EF Core, but the snake case thing was turning them into "foo_bar__baz". The double underscore is now fixed.

We don't *yet* have any EF Core owned entity in use, but I am planning to add one. I don't know if downstreams are using any so this should still be marked as a breaking change.

Also fixed it creating and dropping a Compiled Regex instance for every name, the regex is now cached (and pregenerated).
2024-11-12 01:51:54 +01:00
Zekins 9858c0dbce ERP release (#1)
* ERP release

* fixes
2024-11-09 11:00:33 +03:00
Morb0 721f7bfecf Merge remote-tracking branch 'refs/remotes/wizards/master' into upstream-sync
# Conflicts:
#	Content.Server/Connection/ConnectionManager.cs
#	Resources/Prototypes/Datasets/Names/ai.yml
#	Resources/Prototypes/Datasets/adjectives.yml
#	Resources/Prototypes/Datasets/verbs.yml
#	Resources/Prototypes/Entities/Clothing/Shoes/specific.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/revenant.yml
#	Resources/Prototypes/Entities/Mobs/base.yml
#	Resources/Prototypes/Maps/bagel.yml
#	Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml
#	Resources/Textures/Clothing/Head/Helmets/light_riot.rsi/equipped-HELMET.png
#	Resources/Textures/Clothing/Head/Helmets/light_riot.rsi/icon.png
#	Resources/Textures/Clothing/Head/Helmets/light_riot.rsi/meta.json
#	Resources/Textures/Interface/Misc/job_icons.rsi/meta.json
#	Resources/Textures/Objects/Misc/bureaucracy.rsi/meta.json
#	Resources/Textures/Structures/Wallmounts/barsign.rsi/officerbeersky.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/anomaly.png
#	SpaceStation14.sln
2024-08-28 16:40:36 +03:00
Simon f92ef41538 Automated whitelists (#23985)
* Beginnings of making the breadmemes jobs easier

* stuff

* stuff pt. 2

* Stuff pt.3

* Stuff I forgot last time

* Basic whitelist

Only people that are added to the whitelist with the addwhitelist command will be able to join. I call this the "legacy" whitelist

* Remove always deny condition in favor of just breaking if playtime check fails

* Change default whitelist

Default whitelist is now the "legacy" whitelist.

* localization

* Admin check

* minor spelling change

* Fix build

* Whitelist message

* Fix vars not being datafield and spelling mistakes

* Minor spelling mistake

* Change config for salamander

* Reviews and stuff

* Add summaries

* Fix whitelists

* Forgot to add a datafield

* Fixing stuff I guess

* Reuse admin remarks to reduce load when connecting.

* Update log messages to be verbose instead of debug

* Reviews

* whoops

* Explain a bit more how whitelist checking works

* Apply CE's review

* Append Membership to Blacklist and Whitelist conditions

* Fix review comments

* Uncapitalize playerConnectionWhitelist, add to ignored client prototypes

* Make note count field work

* Fix cvar for thingy

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-27 18:01:17 +02:00
Morb0 07a34aaaae Merge remote-tracking branch 'refs/remotes/upstream/master' into upstream-sync
# Conflicts:
#	Resources/Prototypes/Accents/word_replacements.yml
#	Resources/Prototypes/Entities/Clothing/Shoes/boots.yml
#	Resources/Prototypes/Loadouts/loadout_groups.yml
#	Resources/Prototypes/Roles/Jobs/Security/detective.yml
#	Resources/Prototypes/Species/human.yml
#	Resources/ServerInfo/Guidebook/Antagonist/Traitors.xml
#	Resources/Textures/Clothing/Head/Helmets/security.rsi/equipped-HELMET.png
#	Resources/Textures/Clothing/Head/Helmets/security.rsi/icon.png
#	Resources/Textures/Clothing/Head/Helmets/security.rsi/inhand-left.png
#	Resources/Textures/Clothing/Head/Helmets/security.rsi/inhand-right.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/meta.json
2024-08-23 09:38:36 +03:00
Julian Giebel df95be1ce5 Kick on ban for entire server group (#28649)
* Start work on PostgresNotificationManager
Implement initial version of init and listening code

* Finish implementing PostgresNotificationManager
Implement ban insert trigger

* Implement ignoring notifications if the ban was from the same server

* Address reviews

* Fixes and refactorings

Fix typo in migration SQL

Pull new code in BanManager out into its own partial file.

Unify logic to kick somebody with that when a new ban is placed directly on the server.

New bans are now checked against all parameters (IP, HWID) instead of just user ID.

Extracted SQLite ban matching code into a new class so that it can mostly be re-used by the ban notification code. No copy-paste here.

Database notifications are now not implicitly sent to the main thread, this means basic checks will happen in the thread pool beforehand.

Bans without user ID are now sent to servers. Bans are rate limited to avoid undue work from mass ban imports, beyond the rate limit they are dropped.

Improved error handling and logging for the whole system.

Matching bans against connected players requires knowing their ban exemption flags. These are now cached when the player connects.

ServerBanDef now has exemption flags, again to allow matching full ban details for ban notifications.

Made database notifications a proper struct type to reduce copy pasting a tuple.

Remove copy pasted connection string building code by just... passing the string into the constructor.

Add lock around _notificationHandlers just in case.

Fixed postgres connection wait not being called in a loop and therefore spamming LISTEN commands for every received notification.

Added more error handling and logging to notification listener.

Removed some copy pasting from SQLite database layer too while I was at it because god forbid we expect anybody else to do all the work in this project.

Sorry Julian

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-20 23:31:33 +02:00
Morb0 a5980baa7d Merge remote-tracking branch 'refs/remotes/upstream/master' into upstream-sync
# Conflicts:
#	Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
#	Resources/ServerInfo/Guidebook/Mobs/SlimePerson.xml
#	Resources/Textures/Clothing/Hands/Gloves/Color/yellow.rsi/meta.json
#	Resources/Textures/Clothing/Shoes/Boots/combatboots.rsi/meta.json
#	Resources/Textures/Clothing/Shoes/Boots/magboots-science.rsi/meta.json
#	Resources/Textures/Clothing/Shoes/Boots/speedboots.rsi/meta.json
#	Resources/Textures/Structures/Wallmounts/signs.rsi/chemistry1.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/chemistry2.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/court.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/deathsposal.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/doors.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/examroom.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/hydro1.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/hydro2.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/hydro3.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/janitor.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/law.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/meta.json
#	Resources/Textures/Structures/Wallmounts/signs.rsi/psychology.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/science1.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/science2.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/security.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/space.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/xenobio.png
#	Resources/Textures/Structures/Wallmounts/signs.rsi/xenobio2.png
#	Resources/migration.yml
2024-07-21 07:20:43 +03:00