Commit Graph

52 Commits

Author SHA1 Message Date
beck-thompson f1f8bccb23 After getting banned, you now have to re-read the rules! (#33270)
* first commit

* opps

* Reset cooldown instead

* Added ccvar

* Not replicated!
2025-02-14 16:09:49 +00:00
Pieter-Jan Briers e4fc8c2ec5 Add system to kick people if they connect to multiple servers at once. (#34563) 2025-01-28 04:31:31 +00:00
Palladinium f93e6513f3 Add Discord webhook on watchlist connection (#33483) 2025-01-28 04:31:22 +00:00
Pieter-Jan Briers 6f6888d339 Persist deadmin to database, add admin suspension system (#34048) 2025-01-28 04:31:22 +00:00
Pieter-Jan Briers dd8cc6f243 Fix race condition causing disconnected admins to appear in adminwho (#34033) 2025-01-01 17:10:37 +00:00
Pieter-Jan Briers 26b36db09d 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-29 19:18:11 +01:00
Pieter-Jan Briers a75c5b7eae Fix role ban loading bugs (#32725)
This code was a mess. Now it's less of a mess and user UserDbDataManager now.

Fixes the following bugs:

* If you connect to a server, restart your client, connect again in the same round, you role bans would not be visible in the client.
* If you role ban somebody who is not connected to the server, then they connect within the round, they will only have the recently-applied ban.

Likely fixes #24781, #27282
2024-10-24 02:01:46 +01:00
deltanedas c93551dad7
upstream merge 7/9 (#1762)
* Remove always false checks (#31708)

* Remove calls to FormattedMessage obsolete methods (#31706)

* Remove FormattedMessage obsolete methods

* Oops

* remove misinformation from tip 26 (#31705)

tip 26

* Automatic changelog update

* Replace obsolete code in AnomalySystem.Generator.cs (#31718)

* replace obsolete

* weh

* Added cursor indicator for space dragon fire breath ability (#31725)

space dragon breath cursor indicator

Co-authored-by: YourUsername <you@example.com>

* Automatic changelog update

* small yml cleanup (#31720)

* Updates descriptions of station specific jobs. (#31713)

done

* Remove unused IoC dependency references. (#31704)

Remove unused IoC dependencies

* cleanup filing cabinets yml (#31211)

* partmedia ahh kommit

* ahh

* everything should be fine now

* f

* now should be good

* Update Resources/Prototypes/Entities/Structures/Storage/filing_cabinets.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* fix suffix

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Move IgnitionEvent to shared (#30985)

* Cleanup railings yml (#31618)

* Cleanup railings

* fix line

* real fix

* Roundstart Grappling Gun (#31737)

Roundstart grappling hook

* Automatic changelog update

* Added in-hand sprite for Smile the Slime (#31731)

added smile the slime in-hand texture

Co-authored-by: YourUsername <you@example.com>

* Lite Magnet Rebalancing (#31726)

magnet rebalancing ish

* unnerf fishops

* Devmap crew monitor fix (#31677)

* Automatic changelog update

* Add ERT time stats (#31629)

* add jobs for ghost roles

* add job to ToggleableGhostRole

* typo

---------

Co-authored-by: Mota <belochuc@gmail.com>

* Automatic changelog update

* Fix CS0642 - Possible mistaken empty statement (#31740)

* Throw the book at em! The space law book now does 1 blunt projectile damage (#31387)

* you can now throw the space law book for 1 blunt damage

* made book damage a feature of all books

* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem (#30084)

* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem

* guap

* More fixes

* Wait you can do that?

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>

* Add Donk Co. microwave board to Combat Bakery Kit (#31239)

* Add special microwave board to Combat Bakery Kit

* use event instead of trycomp

* make the board sus

* add instructions note

* embarrassing typo

* Add functionality to Donk Co. microwave instead

* update note

* Automatic changelog update

* Actions bar dynamic resizing (#31759)

* action bar dynamic resizing

* action bar dynamic resizing for separated style

* decreased indent for separated style

---------

Co-authored-by: YourUsername <you@example.com>

* Automatic changelog update

* Fix warnings related to non-exhaustive pattern matching.  (#31763)

old man shakes fist at modern syntax

* ats update (#31766)

* ats update

* fix pipenet

* Ninja throwing star ability fix (#31684)

fixed ninja star not spawning

Co-authored-by: YourUsername <you@example.com>

* Automatic changelog update

* Remove duplicate using from FoodSystem (#31769)

* vox voices revamp (#31679)

vox voices v2

* fixed broken pipe sprites (#31773)

* Return Long2 and Long3 hairstyles  (#30963)

* Sprites

* Prototype_&_Locale

* sorted_in_alphabetical_order

* Automatic changelog update

* Added many old ion lawsets for borgs and AI. (#31664)

* Added the Commandments, Paladin, LetLive, Station Efficiency, Robocop, Overlord, Dungeon Master, Artist, Antimov and Nutimov lawsets/

* Wording

* Anti-Antimov

* Fixed fun

* Add Snails (#30765)

* add snails

* scuffix

* migrate

* mo-grate

* oopsied the ftls

* Revert "oopsied the ftls"

This reverts commit 0d3c6c17f31ec904679d6a48799cea71e77c1f99.

* the curse of staging the wrong file, resolved.

* Snoth

* fix my dumbs

* reviews 1

* anti space technology

* salt hurty

* spelling

* Its a slotherhouse out here

* sequencing

* cooked snail

* volfix

* speed reversal

* Automatic changelog update

* Remove testbed command (#31793)

* feat: now when research is unlocked in console, approver of reasearch is radio-ed too (#31170)

* feat: now when research is unlocked in console, approver of reasearch is radio-ed too

* refactor: now most of events that require actor name to be radio-ed or logged use TryGetIdentityShortInfoEvent which is subscibed by id-card system and borg system (to work for both carbon and synthetic life-forms)

* refactor: moved TryGetIdentityShortInfoEvent on id card system to shared, fixed cargo cent-com-originated orders

* remove unused check

* refactor: decoupled systems from IdCardSystem (those that are not dependent on it anymore)

* refactor: removed unuseed usings

* feat: emagged cargo/research consoles wont radio messages on buy/research confirm anymore

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>

* Automatic changelog update

* New chemical based artifact nodes (#30873)

* Initial pH nodes, and description changes to indicate pH

* Psychoactive and stimulant nodes, Medical foundation, bioreactive hint

* Added medical reagents to medical node. Added norepinephric acid to acidic and made up a pH

* Added pyrotechnic chem node, and corresponding hint

* spelled psychedelic correctly

* Fixed capitalisation skill issue

* fixed indentation skill issue

* fixed a further indentation skill issue

* Removed extraneous whitespace

* Replaced bioreactive with theraputic and psychoactive. Also fixed typo skill issue.

* removed unnecessary comment

* Replaced heartbreaker with THC for psychadelic

* removed artifexium from acidic

* added tran acid to acidic

* added more medical chems

* removed pH values

* removed all but medical

* Automatic changelog update

* Add Red Neck Gaiter To Secdrobe (#30106)

* Red Neck Gaiter Added to SecDrobe

* Removes Gaiter From TheaterDrobe

* Automatic changelog update

* Fixed typos (#31811)

* Automatic changelog update

* Station AI has their name displayed in announcements now. (#31802)

* Station AI has their name displayed in announcements now.

* I'm so sorry

* Corrections

* part 2

* part 3 :|

* part 4

* Whitespace

* Fixing whitespace part 1

* No more whitespace

* PLEASE NO MORE WHITESPACE

* Automatic changelog update

* Add disabled station anchors version (#31794)

* Add disabled station anchors versions

* remove this

* add structural damage taken to a lot of prototypes (#30790)

* fix

* add structural damage taken to a lot of other things

* do requested changes

* how did this happen

* Automatic changelog update

* No Mr.Snail, I expect you to die! (fix sprite) (#31834)

* No Mr.Snail, I expect you to die!

* emoting

* Allow some mobs to walk slowly (#31360)

* Allow mice to walk slowly

* add more

* Automatic changelog update

* Delete nonsense solar assembly construction through the Construction window (#31425)

* Delete construction for solar assembly, it's the way to do it

* Fix description of solar tracker electronics

* Improvements to hand labeler UI (#31833)

Give line edit focus when window is opened
No longer require pressing enter to set the text
Give feedback when user hits the maximum label length

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>

* make tesla brighter (#31357)

* make tesla brighter

* radius to 10

* Automatic changelog update

* CorrectContraband levels on each type of magboots (#30960)

* Added a ClothingShoesBootsMagBase, to allow the other versions of the magboots to have their own contraband settings

* Changed Science Boots to not be contraband

* Made ClothingShoesBootsMagBase abstract

* Removed Engineering Contraband from base magboots. Now only the CE's Advanced Magboots are contraband (Grand Theft Contraband). Blood Reds are Syndie Contraband.

* Automatic changelog update

* Morgue system refactor remove unused VVs and into Entity (#31835)

* Remove unused VVs params and usings
from entityUid, MorgueComponent into Entity<MorgueComponent> ent

* remove unnecesary VVs cuz datafields add em

* Make midround zombie outbreaks much rarer (#30266)

* Remove midround zombies

* super rare, like, 1/651 chance every few minutes.

* weight to 1

---------

Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>

* Automatic changelog update

* Teleporting while pulling crash fix (#31787)

teleporting while pulling crash fix

Co-authored-by: YourUsername <you@example.com>

* Automatic changelog update

* quietify stealthbox (#30741)

* Automatic changelog update

* Atmospheric alerts computer (#25938)

* Atmospheric alerts computer

* Moved components, restricted access to them

* Minor tweaks

* The screen will now turn off when the computer is not powered

* Bug fix

* Adjusted label

* Updated to latest master version

* Automatic changelog update

* Day 0 bug fix for atmos alerts computer (#31858)

Initial commit

* Basically every electronic device can now be used by the AI. (#31730)

* Basically every electronic device can now be used by the AI.

* Removed stuff that didnt make sense

* oops

* Removed access from mailing and disposal units.

* Added AI wires to a couple machines.

* cool epic stuff

* Automatic changelog update

* Fix a typo in the 10 commandments (#31856)

* feat: #26107 uplink discounts for traitors (no nukies for now) (#26297)

* feat: #26107 uplink discounts for traitors and nukies

* refactor: #26107 extracted discount label from price of StoreListingControl

* refactor: minor renaming

* refactor: parametrized adding discounts to uplink store

* fix: #26107 prevent exception on empty discountOptions

* feat: uplink now have 'Discounted' category which contains all discounted items on this session.

* after merge fixups

* rename discount categories according to common sense

* refactor: DiscountOptions is now optional (nullable) on ListingData

* add nullability check ignore for already checked listingData.DiscountOptions

* fix after merge store menu ui

* remove unused using

* final fix after merge conflicts

* [refactor]: #26107 fix variables naming in UplinkSystem

* fix: #26107 fix after merge

* refactor: #26107 now supports discountDownUntil on ListingItem, instead of % of discount

* feat: #26107 support multiple currency discount in store on side of discount message label

* refactor: #26107 extracted discounts initialization to separate system. StoreDiscountData are spread as array and not list now

* refactor: #26107 move more code from storesystem to StoreDiscountComponent

* refactor: #26107 separated StoreSystem and StoreDiscountSystem using events

* fix: #26107 placed not-nullable variable initialization in ListingData for tests

* refactor: #26107 minor renaming, xml-docs

* fix: #26107 changed most of discounts to be down to half price for balance purposes

* ids used in with discounts are now ProtoIds, dicountCategories are now prototypes, code with weights simplified

* decoupled storesystem and store discount system

* xml-docs

* refactor:  #26107 xml-doc for StoreDiscountSystem

* is now a thing (tmp)

* fix: compilation errors + StoreDiscountData.DiscountCategoryId

* refactor: rename ListingDataWithCostModifiers, fix all cost related code, enpittyfy performance, uglify uplink_catalog

* refactor: removed unused code, more StoreDiscountSystem docs, simplify code

* refactor: moved discount category logic to respective system, now creating ListingData c-tor clones all mutable fields as expected

* refactor: rename back (its not prototype)

* refactor: move ListingItemsInitializingEvent to file with handling logic

* refactor: comments for StoreBuyFinishedEvent handling, more logging

* refactor: moved StoreInitializedEvent, xml-doc

* refactor: simplify StoreDiscountSystem code  (reduce nesting) + xml-doc

* refactor: restore old listing data cost field name

* refactor: fix linter in uplink_catalog.yml

* refactor: xml-doc for ListingDataWithCostModifiers

* refactor: limit usage of ListingData in favour of ListingDataWithCostModifiers

* refactor: purged linq, removed custom datafield names, minor cleanup

* refactor: removed double-allocation on getting available listings

* refactor: StoreSystem.OnBuyRequest now uses component.FullListingsCatalog as reference point (as it was in original code)

* fix: minor discount categories on uplink items changes following design overview

* refactor: StoreBuyListingMessage now uses protoId and not whole object

* refactor: store refund and discount integration test, RefreshAllListings now translates previous cost modifiers to refreshed list, if state previous to refresh had any listing items

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>

* Automatic changelog update

* Fixed AI Actions (#31823)

* Updated sprites for AI HUD

* Epic test fail

* Merged AGhost actions and AI actions together again.

* Seperate comms and bugfix. Fixed broadcast.

* Automatic changelog update

* add wireless net to evac shuttles

* Automatic changelog update

* A kit to help new botanists discover chemistry (#31738)

* Add a kit for botanists to do some limited chemistry to the NutriMax. Intended to help new botanists learn in-game about chemistry.

* remove exclamation marks from names

* naming fix

* Rejected trademark application for 'Farmers Helper'.

---------

Co-authored-by: PraxisMapper <praxismapper@gmail.com>

* Automatic changelog update

* Board for the AI upload console (#31867)

board

* Automatic changelog update

* Fix typo in agri-chem manual (#31869)

* Fix typo in agri-chem manual

* Unremove my added newline

* Cleanup books.yml (#31838)

* Cleanup books.yml

* yeah

* shame

* Vox sign/N2 locker update (#31845)

* Vox sign/N2 locker update

The "vox area" sign and N2 locker sprite were both taken from /vg/station. These sprites have bad racist connotations as discussed in https://github.com/space-wizards/space-station-14/issues/31840, and do not fit our server culture.

The new N2 locker is not a taped on piece of trash. It now also has a blue stripe to mimic the regular O2 locker and make it more distinct from fire safety closets.

The new "vox area" sign sprite follows the same style as other "area indicator" signs used throughout the blue and isn't an explicit warning sign anymore. It still has "No O2" on it to fill that role though.

* emogarbage adjustments

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>

* Automatic changelog update

* Pizza boxes now have a chance to contain cotton pizza (#31883)

Pizza box now contains cotton pizza

Co-authored-by: Ekkosangen <9094006+XyyxShard@users.noreply.github.com>

* Automatic changelog update

* Tech Anomaly (#31764)

* A

* B

* C

* D

* Update TechAnomalySystem.cs

* idle anim

* Update meta.json

* new animation

* Automatic changelog update

* Fixed throngler name inconsistencies (#31889)

changed throngler names

* I have spent more time today cleaning up garbage than coding new shit, and I am mad (#31246)

* Fix logging of GetWebhook errors

Yeah let's just not log the error only stack trace.

* I have spent more time today cleaning up garbage than coding new shit, and I am mad

Cleans up the custom vote Discord webhook code because I *happened* to lay my eyes on how completely terrible it was and immediately found an obvious bug with it.

Also did basic QA because jesus christ: it more clearly reports pending votes, properly indicates cancelled votes, improves footer formatting, better error logging, all the usual shit.

Requires https://github.com/space-wizards/RobustToolbox/pull/5375 to avoid test failures

* Mineral Scanner (#31390)

* Mineral Scanner

* doink

* review

* sunday funday

* review and fix bugs i think?

* Update MiningOverlay.cs

* Automatic changelog update

* Fix ai upload console itemslot whitelist (#31900)

* Fix ai upload console itemslot whitelist

* aw man

* Automatic changelog update

* improved vox laugh (#31798)

vox laugh not underwater

* fix pump shotgun wielded sprite (#31885)

* fix shotgun sprite

* fix take 2

* fix: Snail event wasnt tabled (#31884)

pest events reorganized and snails spawn

* Automatic changelog update

* Force stop pulling when fall asleep (#31893)

* break pull at sleep

* TryStopPull without user

---------

Co-authored-by: YourUsername <you@example.com>

* Automatic changelog update

* Energy Shotgun Change 2 - Narrow Nerf + instances from NoSpawn --> categories: [ HideSpawnMenu ] + self recharge removed + 1 more shot + normal recharge speed (#31235)

* narrow nerf

* last instance of nospawn gone

* removes self recharge

* 8 shots, less recharge time

* Automatic changelog update

* Add justice helm (#31905)

* Add justice helm

* backslash moment

* spinny light

* remove power cell from recipe

* Automatic changelog update

* Quiver Crafting Recipe (#27198)

* Update quiver.yml

* Create quiver.yml

* Update clothing.yml

* Update pneumatic_cannon.yml

* Update pneumatic_cannon.yml

* Update pneumatic_cannon.yml

* Update pneumatic_cannon.yml

* Delete RDs binary encryption key (#31909)

Deleting binary key

Silicon supremacy!

* undelete rd key

* Automatic changelog update

* split temperature protection into heating and cooling (#30662)

* split temperature protection into heating and cooling

* fugg

* weh

* update TemperatureProtection for stuff

* Automatic changelog update

* makes the maple wing marking have a primary and a secondary color (#31691)

bogos binted

* Automatic changelog update

* Remake bottles and syringes names to use labels (#29956)

* Remake bottles and syringes names to use labels

* vial

* fix and add stuff

* Automatic changelog update

* guide on agrichem and botanicals guidebook update (#31896)

* Automatic changelog update

* Automatic changelog update

* Lost evac pod thing tiny fan (#31915)

* disaster evacpod tinyfan

* real

* :trollface:

* untroll

* Ghostrole rule updates (#29249)

* First batch of ghostrole rule updates

* Second pass

* Re-word free agent

* Apply review comments

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* You heard it here first folks

God rules are weird to write.

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Honkbot -> Free Agent

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Mimebot -> Free Agent

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Jonkbot -> Free Agent

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Softer blue

---------

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* :trollface:

* :trollface:

* :trollface:

* pro

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
Co-authored-by: Ilya246 <57039557+Ilya246@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: godisdeadLOL <169250097+godisdeadLOL@users.noreply.github.com>
Co-authored-by: YourUsername <you@example.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: Mervill <mervills.email@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: poeMota <142114334+poeMota@users.noreply.github.com>
Co-authored-by: Mota <belochuc@gmail.com>
Co-authored-by: Moomoobeef <62638182+Moomoobeef@users.noreply.github.com>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
Co-authored-by: Арт <123451459+JustArt1m@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Lye <128915833+Lyroth001@users.noreply.github.com>
Co-authored-by: DieselMohawk <gavin.drinka@gmail.com>
Co-authored-by: Hreno <hrenor@gmail.com>
Co-authored-by: eoineoineoin <github@eoinrul.es>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
Co-authored-by: qwerltaz <69696513+qwerltaz@users.noreply.github.com>
Co-authored-by: Ty Ashley <42426760+TyAshley@users.noreply.github.com>
Co-authored-by: Token <esil.bektay@yandex.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: drakewill-CRL <46307022+drakewill-CRL@users.noreply.github.com>
Co-authored-by: PraxisMapper <praxismapper@gmail.com>
Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: Ekkosangen <9094006+Ekkosangen@users.noreply.github.com>
Co-authored-by: Ekkosangen <9094006+XyyxShard@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Chubbicous <100180479+Chubbicous@users.noreply.github.com>
Co-authored-by: Ps3Moira <113228053+ps3moira@users.noreply.github.com>
Co-authored-by: FungiFellow <151778459+FungiFellow@users.noreply.github.com>
Co-authored-by: Futuristic-OK <141568243+Futuristic-OK@users.noreply.github.com>
Co-authored-by: Ian <ignaz.k@live.de>
Co-authored-by: TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
2024-09-10 01:20:38 +10:00
Julian Giebel 0ba5b81a6a 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-21 16:16:41 +01:00
to4no_fix abfe5439d4 Display the administrator's title in ahelp and ahelp relay (#30075)
* Adding the admin prefix to the ahelp

* Updating the admin prefix

* The second update of the admin prefix

* Configuration correction
2024-08-09 18:22:26 +01:00
AJCM-git 1feab1d091
Fixes client having authority over rules popup cvars (#28655)
* Fixes client having authority over rules popup cvars

* Delete duplicate migration

* Pre-update

* Post-update

(cherry picked from commit 63e0ee08cb50dbd937e11ab1e965b5f79aae134d)
2024-07-13 04:21:16 +02:00
Nemanja be014df4b7
Convert rules to use guidebook parsing (#28647)
(cherry picked from commit 1333b48747ae62c7b3ecb809b897201a24fe4441)
2024-07-13 04:18:15 +02:00
DrSmugleaf eed9c58386
Add job whitelist system (#28085)
* Add job whitelist system

* Address reviews

* Fix name

* Apply suggestions from code review

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>

* cancinium

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2024-06-01 18:02:43 +02:00
nikthechampiongr ff85afa140
Fix Incorrect stealth messages appearing on readmin. (#26511)
Fix major skill issue/Incorrect stealth messages appearing on readmin.

(cherry picked from commit df631ff8a07325a889b45235120eec60fe844233)
2024-04-07 14:10:40 +02:00
nikthechampiongr 1a1e423a44
Add stealthmins (#26263)
* Add stealthmin command.

* Update Content.Server/Administration/Commands/AdminWhoCommand.cs

As suggested by CE.

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Add admin notifications for admins toggling stealthmin.

* Localize stealthmin command

---------

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

(cherry picked from commit dca0c6694bce56fcf962feab2b59ad4a849f4533)
2024-03-27 18:32:01 +01:00
Pieter-Jan Briers fa250d23ed
Add Prometheus stats for admin count (#26284)
* Add Prometheus stats for admin count

Fixes #20828

Reports time series for admin count. Counts are separated by state (active, AFK, or deadminned) and admin rank.

* Use static constructor instead of static readonly for the metric

Docs recommend this due to inconsistent execution of C# static constructors.

* Remove static usage, use IoC IMeterFactory.

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit a1817a12dbb385275f4273c1abf48fac0a989ddd)
2024-03-27 18:28:49 +01:00
LordCarve ad35a2fda3
Obsolete refactor - ConnectedClient to Channel (#24409)
(cherry picked from commit 05a2e6b3a21e5fb3198432d885bbe28506d85b9c)
2024-01-27 23:44:02 +01:00
Leon Friedrich e66c0b5035 Un-revert IPlayerManager refactor (#21244) 2023-10-31 19:00:44 +01:00
Debug fd2cc8570d
Sync master up to 1/10 (#74)
* Automatic changelog update

* Make NPC names proper nouns & fix some genders (#20534)

* Proper names & genders

* Uppercase proper names

* Make Smile female

* fix bingus wrinkly head (#20531)

* rouny meat and steak (#20526)

* lost friendship flavor

* add rouny steak

* rouny special meat

* rouny meat textures

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Automatic changelog update

* Wearable Wet Floor Sign and 'Janitorial Suicide Vest' (#20311)

* Explosive wet floor sign & janitorial suicide vest

* fix attributions

* Remove name & desc from explosive wet floor sign

* Make wet floor sign chameleonable

* Automatic changelog update

* Minor slippery stuff (#20535)

* Update submodule to 162.2.0 (#20570)

* Predicted armor (#20560)

* clean up some lines in smile the slime prototype (#20552)

* Revert "Use full file path for temp replays (#19002)" (#20545)

* Add EyesGlasses into ClothesMate (#20523)

* Automatic changelog update

* Fix Punpun crew monitor sensor (#20484)

* Automatic changelog update

* EasyPry airlocks for arrivals. Now also prying refactor I guess (#19394)

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

* Automatic changelog update

* Make arcades hackable again (#20555)

* Automatic changelog update

* Health alert tweaks (#20557)

* Automatic changelog update

* Add active and ended game rule components, generic TryRoundStartAttempt and minPlayers field (#20564)

* Improve active game rule querying, add generic try round start attempt method, move minPlayers to GameRuleComponent

* Nukeops todo and cleanup

* Remove Active field

* Add EndedGameRuleComponent

* bartender suit (#20521)

* give me a drink bartender

* guh

* aARG

* Necropolis and mine walls (#20578)

* Automatic changelog update

* archaic accent tweaks (#20567)

* Automatic changelog update

* Add confirmation to kick and respawn in the admin player actions panel (#20542)

* Remove windows-latest CI runs, remove unused build-test-release.yml (#20540)

* Change .editorconfig to keep existing attribute arrangement (#20538)

* Automatic changelog update

* Catch replay start and end errors on round restarts (#20565)

* Update trivial components to use auto comp states (#20539)

* Fix role unbans not applying in real time (#20547)

* Disable AHelp buttons when no player is selected, update button styling (#20568)

* Automatic changelog update

* Added a toggle fullscreen button (default F11) (#20272)

* Added a toggle fullscreen button (default F11)

* Removed un-needed comments

* Review Requested Changes

* Fixed Acidental Spacing Change

* bwoink, removed extraneous code

* nothing, litterally

* Automatic changelog update

* Fix not networking markings (#20588)

* Automatic changelog update

* Update RobustToolbox to v162.2.1 (#20590)

* Automatic changelog update

* Glorfcode (force say on damage/stun/crit) (#20562)

* Automatic changelog update

* Fix AHelp progressively showing more AHelp panels (#20591)

* Automatic changelog update

* caninsert entitystorage tweaks (#20589)

* Automatic changelog update

* Fix mapping actions crashing on load (#20592)

* Fix loading a map with a ThirstComponent crashing the game (#20594)

* Fix electrocution displaying real name of disguised players (#20603)

* Organ fixes (#20488)

* Automatic changelog update

* Kettle medical rework (#20435)

* Initial try at medical rework for kettle

* Re-add decal decorations to Kettle's medical

* Add more lockers to kettle's med

* Actually upload kettle's map, not its proto

* Automatic changelog update

* Added blocked visuals to volumetric pump (#20610)

* Automatic changelog update

* Move TimedDespawn to engine (#20515)

* Update submodule to 163.0.0 (#20616)

* Remove v0.1 version number from local main menu screen (#20617)

* Remove cloneData parameter from AutoNetworkedField (#20596)

* Update submodule to 164.0.0 (#20618)

* fix cognizine ghost role (#20632)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Automatic changelog update

* Move ID layer one pixel to correct alignment (#20630)

* Update nukie hardsuit descriptions (#20529)

* Make holofans destructable (#20445)

* Automatic changelog update

* bowl is open (#20453)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Add TestPair.WaitCommand() (#20615)

* Rename ThreatPrototype and mark fields as required (#20611)

* Adjust hard bomb shape (#20608)

* dragon refactor, objectives and use GenericAntag (#20201)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Automatic changelog update

* Added generic empty liquids tank (#20563)

* Move view variables verb to the top of the list with no category and localize it (#20546)

* saltern update (#20325)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Fix followers leaking (#20643)

* Add Winter Boots (#20622)

* add

* fix prototype

* Add QM mantle (#20621)

* add

* fix prototype

* Automatic changelog update

* Slime mobs breathe nitrogen and resprite their organs (#20577)

* Slimes breathe nitrogen and resprite their organs

* ups

* mmm

* Automatic changelog update

* Fix the new lizard horn's consistency + issue (#20620)

* fix

* add

* Revert "add"

This reverts commit a054a3204a8f185a94ceb80b1bd3bc9f30423711.

* Add RandomHumanoidAppearance component to for space ninjas (#20605)

* Automatic changelog update

* Space cat breathes space (#20550)

* Space cat breathes space

Made Space Cat lungs ROBUST

* Made Space Cat's lungs ROBUST 2.0

* Automatic changelog update

* Wide anomaly locator (#20581)

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* add textures

* fix encoding

* fix 2

* Automatic changelog update

* Fixed Telescopic Shield Lighting (#20650)

* Fixed Telescopic Shield Lighting Bug fix #20199

* no need for these at all

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

* Automatic changelog update

* Add a special hardsuit for nukie medic (#20471)

* Automatic changelog update

* Carry over other mutations when doing species mutation (#20551)

* Automatic changelog update

* Add Spanish accent to poncho and sombrero (#20377)

---------

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: ravage <142820619+ravage123321@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: LEVELcat <68501903+LEVELcat@users.noreply.github.com>
Co-authored-by: Repo <47093363+Titian3@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Doru991 <75124791+Doru991@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Skarletto <122584947+Skarletto@users.noreply.github.com>
Co-authored-by: NULL882 <104377798+NULL882@users.noreply.github.com>
Co-authored-by: lunarcomets <140772713+lunarcomets@users.noreply.github.com>
Co-authored-by: Miro Kavaliou <miraslauk@gmail.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: Kacper Urbańczyk <kacperjaroslawurbanczyk@gmail.com>
Co-authored-by: TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
Co-authored-by: daerSeebaer <61566539+daerSeebaer@users.noreply.github.com>
Co-authored-by: Fluffiest Floofers <thebluewulf@gmail.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
Co-authored-by: drteaspoon420 <87363733+drteaspoon420@users.noreply.github.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
Co-authored-by: Kacper Urbańczyk <mikrel071204@gmail.com>
Co-authored-by: Tox Cruize <141375638+TexCruize@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Michael Cu <43478115+michaelcu@users.noreply.github.com>
2023-10-03 14:15:46 -05:00
Moony 3d3c9e3348
Toolshed part 2 (#18997)
* fixe

* Save work.

* Rune-aware parser.

* oogh

* pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests pass tests

* Publicizes a lot of common generic commands, so custom toolshed envs can include them.

* i think i might implode

* Tests.

* a

* b

* awa

---------

Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
2023-08-23 16:03:41 -05:00
Leon Friedrich 4d845caa07
Allow zoom command to ignore zoom limits (#19419) 2023-08-22 19:27:41 +10:00
Moony e2b22a4cd8
Toolshed (#17895)
* ogh

* i should save my work

* ogh

* hhcdfhjbghshbxdfhghshc
- lots of bugs in parsing still
- invocation is a stub

* expr parsing works

* awawa

* Saving work

* Improve APIs a bit all around, add shortcuts.

* awa

* awa

* AAAAAA

* save work

* Move shit to engine

* lord

* bql is kill

* forgot the fucking bike rack

* bql is kill for real

* pjb will kill me

* aughfhbdj

* adgddf

* gdsgvfvxshngfgh

* b

* hfsjhghj

* a

* tf you mean i have to document it

* follow C# standards

* Assorted cleanup and documentation pass, minor bugfix in ValueRefParser.

* Start porting old commands, remove that pesky prefix in favor of integrating with the shell.

* bw

* Fix valueref up a bit, improve autocomplete for it.

* awa

* fix tests

* git shut up

* Arithmetic commands.

* parse improvements

* Update engine.

---------

Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
2023-08-02 16:09:08 -05:00
Vasilis 55f935e3fe
Adds a cvar to hide PII information in ban message (#18428)
* my macbook hates running 2 clients

* yes
2023-07-29 20:14:56 +03: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
Pieter-Jan Briers 4c8965ac32
CVar to promotehost automatically. (#17643) 2023-06-26 13:01:30 +10:00
metalgearsloth be14380520
Role ban UI updates (#16736) 2023-05-27 14:22:22 +10:00
metalgearsloth ae01618874
Revert "Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#155… (#15566) 2023-04-20 20:16:01 +10:00
metalgearsloth acf79a8209
Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#15551) 2023-04-20 11:43:54 +10:00
Ygg01 71f358a027
Replace `ResourcePath` with `ResPath` (#15308) 2023-04-19 23:39:17 +10:00
Leon Friedrich b148bebd60
Equipment verbs & admin inventory access. (#14315) 2023-03-06 04:12:08 +11:00
Leon Friedrich 2351bbb607
Add power debug verbs (#14212) 2023-02-26 04:14:35 +11:00
Leon Friedrich 69b5562718
Rename IConsoleHost.RegisteredCommands (#14041) 2023-02-12 16:51:56 +00:00
Visne c6d3e4f3bd
Fix warnings and code cleanup/fixes (#13570) 2023-01-19 13:56:45 +11:00
Visne e1782ec22b
Disable re-adminning infinitely (#11174) 2022-09-10 06:07:35 -07:00
metalgearsloth 72bc05e3ac
Add department bans (#11085)
* Add department bans

Also localised some stuff while I was there.

* loc
2022-09-08 17:06:21 -05:00
Pieter-Jan Briers 221c23000e
Client command perms cleanup. (#9599) 2022-07-10 15:43:44 +02:00
wrexbe bc68ac96dd
Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
Pieter-Jan Briers b3e7c7af1f
Remove usage of CreateNetMessage. (#7563) 2022-04-15 11:55:49 -07:00
Moony 5c26555144
Fix a bug in rolebans. (#7029) 2022-03-07 22:28:47 -06:00
ShadowCommander 4825142210
Role bans (#6703) 2022-02-21 23:11:39 +01:00
Vera Aguilera Puerto c4bf0a9479
AdminManager can now load permissions for registered callback commands. (#6025) 2022-01-12 11:05:39 +01:00
Vera Aguilera Puerto 666be08d86
Fix client-only command permissions. (#5899) 2021-12-25 19:53:21 +01:00
Vera Aguilera Puerto a46c2e6c9d
Added some missing engine command permissions. (#5782)
If you want to bikeshed this further, open an issue.
2021-12-18 14:16:34 +01:00
Paul 58fc8ee35f includes deadmined admins in adminsystem playerlist updates 2021-11-10 18:09:22 +01:00
Paul Ritter e74301a856
refactors adminmenu a timid amount (#5095)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-11-10 23:26:25 +11:00
Paul Ritter 6fdb364497
Admin overlay (#4728)
* adds admin overlay

* fixes things
2021-10-03 13:34:36 +02:00
Visne b7dc3c81ae
Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00
mirrorcult 2ea5aec101
Remove NetMessage deprecated boilerplate (#4196) 2021-06-21 07:43:54 +02:00
Galactic Chimp 392b820796
Removed old Loc.GetString() use instances (#4155)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-06-21 02:13:54 +02:00