Commit graph

213 commits

Author SHA1 Message Date
Dmitry
73ffef2ac0 merge remote wizden/master 2026-09-17 23:33:06 +07:00
Whatstone
a023e5784c
Cleanup: Remove byte order markers from most files (#45796) 2026-09-17 23:23:54 +10:00
Dmitry
aab252a2f5 merge remote wizden/master 2026-08-20 15:22:12 +07:00
DrSmugleaf
82e28037a6
Make creating the database not take 2 whole seconds in integration tests (#45151)
* Make creating the database not take 2 whole seconds in integration tests

* gramar
2026-08-14 18:44:34 +00:00
Dmitry
9ca71ff554 TTS fix t1 2026-07-02 12:50:30 +07:00
Dmitry
f8bc2e5786 merge remote wizden/master 2026-07-02 09:39:38 +07:00
Falcon
9805fe3956
Refactor voice to separate it from sex (#40593)
* feat: separate sex from voice

* wip: tried to make it use voice collection directly

* fix: yaml

* fix: migrations

* fix: ensure valid now validates correctly

* fix: unisex mobs wouldn't have voice

* chore: fix RT version

* refactor: clean up code into subfunctions

* refactor: swap name and protoId in voice

also rename sounds to voice

* chore: add comment

* fix: fallback sounds for non-humanoid characters

* fix: tests

* fix: tests

* refactor: change requests

* refactor: convert sheepers

* refactor: move Voice to SpeciesPrototype

* chore: add tests

* fix: test IoC error

* refactor: use null coalesing in ConvertProfiles

* refactor: move vocal sex association to speciesPrototype

* style: remove space from new()

* refactor: use name from emoteSoundsPrototype for UI

* refactor: no more null Voice on profile

* refactor: make DefaultVoice a static readonly property

* fix: add default voice to HumanoidProfileComponent

* chore: remove repeated vocal component from species yaml

It's inherited from BaseSpeciesMob

* style: correct comments for refactor

* fix: add missing locale for FemaleVulpkanin

* refactor: simplify logic based off surounding code

* test: add test to make sure that sexes are properly enumerated for the voices

* fix: add back urist sounds

* style: clarify comments again

* style: last thing im changing before I sleep

* refactor: battling programming semantics

* refactor: Name on EmoteSoundsPrototype.cs to VoiceSelectorName for clarity

* revert: isDirty change

* Fix HumanoidProfileTest.EnsureValidLoading.
    The profile's voice wasnt being updated, thus the voiceChanged event was never raised and that meant that the voice component had old EmoteSounds

* oops

* refactor: do the easy change requests

* refactor: use an array for indexing sex conversion for performance

* fix master

* mistakes were made

* chore: redo migrations

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-06-30 23:46:27 -04:00
MendaxxDev
004639bcdd
Fix admin logs being silently dropped in case of failure (#33278)
re-enqueue logs if update failed
2026-06-29 20:50:31 +10:00
Dmitry
f29b823c79 merge remote wizden/master 2026-06-29 15:09:19 +07:00
Pieter-Jan Briers
9da1cff855
Log custom votes to database. (#42650)
* Log custom votes to database.

* Add navigation property from round entity
2026-06-11 21:46:18 +00:00
Pieter-Jan Briers
c4d92b33bc
Make admin remarks load from DB faster (#42614)
4 sequential DB queries too slow? Just do 4 at once!
2026-06-11 21:29:06 +00:00
Dmitry
fb7486dcb7 merge remote wizden/master 2026-05-19 18:43:37 +07:00
Pieter-Jan Briers
5168b5f3d4
IoC source gen compatibility (#43863)
* IoC source gen compatibility

Can be merged before or after https://github.com/space-wizards/RobustToolbox/pull/6549 doesn't really matter.

* Missed a spot
2026-05-09 03:29:58 +00:00
Dmitry
fff3990b81 merge remote wizden/master 2026-03-23 20:30:00 +07:00
Kyle Tyo
116e09e1cc
Fix bug blocking character saves for species without hair. (#43170)
* Update ServerDbBase.cs

* Update ServerDbBase.cs

* Update ServerDbSqliteTests.cs

* :grumble grumble grumble:

* tests

* Update ServerDbSqliteTests.cs

* commit

* forgot this.

* relocation.

* nope, not doing that lmao

* Update ServerDbSqliteTests.cs

* test rerun

* GAAAAAA

* Update ServerDbSqliteTests.cs

* Update ServerDbSqliteTests.cs

* Update ServerDbSqliteTests.cs

* GAAAAAA

* go fish
2026-03-15 15:55:42 +00:00
Dmitry
1a975ebdbe merge remote wizden/stable 2026-03-07 03:16:30 +07:00
Vasilis The Pikachu
8e2c01bb74
Merge remote-tracking branch 'upstream/stable' into stable-hotfix-merge-26-02-09 2026-02-09 22:16:04 +01:00
pathetic meowmeow
4abdcf7a73
Ensure profile loading only returns valid species (#42842)
* Ensure profile loading only returns valid species

* punt conversion logic outside of the database
2026-02-09 21:30:20 +01:00
pathetic meowmeow
08bbc11972
Clean up Marking data structure, add tests for Zombie transformation (#42756)
* Clean up Marking data structure, add tests for Zombie transformation

* empty

* AAAAAAAAAAAAAAAA

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-02-03 03:13:26 +00:00
Dmitry
c05780c5d3 merge remote wizden/master 2026-01-29 02:18:13 +07:00
Dmitry
7c3915f9cf merge remote wizden/master 2026-01-29 00:01:34 +07:00
pathetic meowmeow
4e9a456591
Drop ICharacterProfile/ICharacterAppearance interfaces (#42661) 2026-01-26 20:15:44 +00:00
B_Kirill
2977d89f3e
Cleanup warnings: CS0168, CS0414, CS8321 (#42623) 2026-01-24 20:35:41 +00:00
Dmitry
d7704cb9cb merge remote wizden/master 2026-01-24 00:55:41 +07:00
Dmitry
994f743d2c repair TTS
2
2026-01-24 00:41:36 +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
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
133e2e6228 remote merge upstream 2025-09-23 01:32:33 +07:00
Errant
b692b6e33e
Antag Rolebans (#35966)
Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
2025-09-17 23:59:07 +02: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
Southbridge
f67cebf7a4
Admin Log Browser Improvements (#39130) 2025-08-21 22:12:16 +02:00
Dmitry
a6ecbc3410 Merge remote-tracking branch 'upstream/master' 2025-05-24 22:35:13 +07:00
Dmitry
25c5e59248
Upstream (#3172)
Signed-off-by: Prole <172158352+Prole0@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: Samuka-C <47865393+Samuka-C@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Partmedia <kevinz5000@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: Victor Shen <71985089+Vexerot@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: Kirus59 <145689588+Kirus59@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: Stomf <5dorkydorks@gmail.com>
Co-authored-by: drakewill-CRL <46307022+drakewill-CRL@users.noreply.github.com>
Co-authored-by: PraxisMapper <praxismapper@gmail.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: TytosB <54259736+TytosB@users.noreply.github.com>
Co-authored-by: abadaba695 <spacestation13thingy@gmail.com>
Co-authored-by: kosticia <kosticia46@gmail.com>
Co-authored-by: Thinbug <101073555+Thinbug0@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: ActiveMammmoth <140334666+ActiveMammmoth@users.noreply.github.com>
Co-authored-by: Myra <vasilis@pikachu.systems>
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: Gentleman-Bird <dcgreen406@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: BIGZi0348 <svalker0348@gmail.com>
Co-authored-by: LaCumbiaDelCoronavirus <90893484+LaCumbiaDelCoronavirus@users.noreply.github.com>
Co-authored-by: imatsoup <93290208+imatsoup@users.noreply.github.com>
Co-authored-by: Matthew Herber <32679887+happyrobot33@users.noreply.github.com>
Co-authored-by: Ertanic <36124833+Ertanic@users.noreply.github.com>
Co-authored-by: MissKay1994 <15877268+MissKay1994@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: eoineoineoin <helloworld@eoinrul.es>
Co-authored-by: Tiniest Shark <head.rebel@yahoo.com>
Co-authored-by: nikitosych <boriszyn@gmail.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: YoungThug <ramialanbagy@gmail.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: Vladislav Suchkov <20380250+murolem@users.noreply.github.com>
Co-authored-by: Prole <172158352+Prole0@users.noreply.github.com>
Co-authored-by: Unkn0wn_Gh0st <shadowstalkermll@gmail.com>
Co-authored-by: 3nderall <101940324+3nderall@users.noreply.github.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: J <billsmith116@gmail.com>
Co-authored-by: Ghagliiarghii <68826635+Ghagliiarghii@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: youtissoum <51883137+youtissoum@users.noreply.github.com>
Co-authored-by: Minemoder5000 <minemoder50000@gmail.com>
Co-authored-by: Spanky <scott@wearejacob.com>
Co-authored-by: Spessmann <156740760+Spessmann@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
Co-authored-by: Deerstop <edainturner@gmail.com>
Co-authored-by: B_Kirill <153602297+B-Kirill@users.noreply.github.com>
Co-authored-by: archee1 <archee3@hotmail.co.uk>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com>
Co-authored-by: poklj <compgeek223@gmail.com>
Co-authored-by: Krunklehorn <42424291+Krunklehorn@users.noreply.github.com>
Co-authored-by: OnyxTheBrave <131422822+OnyxTheBrave@users.noreply.github.com>
Co-authored-by: UpAndLeaves <92269094+Alpha-Two@users.noreply.github.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Zalycon <84675130+Zalycon@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: Verm <32827189+Vermidia@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: Dmitry <57028746+dimm00n@users.noreply.github.com>
2025-05-24 11:00:17 +03: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
Tayrtahn
3313c648fe
Fix warnings in ServerDbManager (#36871)
Fix warnings in ServerDbManager
2025-04-24 01:48:27 +02: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
beck-thompson
bc1d6420af
After getting banned, you now have to re-read the rules! (#33270)
* first commit

* opps

* Reset cooldown instead

* Added ccvar

* Not replicated!
2025-01-30 13:09:31 +01:00
Pieter-Jan Briers
71c9dfc9ea
Add system to kick people if they connect to multiple servers at once. (#34563) 2025-01-22 00:23:47 +01: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
Pieter-Jan Briers
c2e050ced0
Persist deadmin to database, add admin suspension system (#34048) 2025-01-15 00:46:45 +01:00
Myra
13edd308bf
Fix IPIntel causing frequent errors with the cleanup job. (#34428)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2025-01-14 21:38:26 +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
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
75a096b6bd
Merge remote-tracking branch 'upstream/master' into 24-10-29-modern-hwid 2024-11-21 01:26:01 +01:00
Morb0
fa377d8fc6 Merge remote-tracking branch 'wizards/master' into upstream-sync
# Conflicts:
#	.github/labeler.yml
#	Content.Client/Lobby/UI/CharacterSetupGui.xaml
#	Content.Client/Lobby/UI/CharacterSetupGui.xaml.cs
#	Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
#	Resources/Prototypes/Entities/Stations/base.yml
#	Resources/ServerInfo/Guidebook/Science/Cyborgs.xml
#	Resources/Textures/Interface/Misc/job_icons.rsi/meta.json
#	Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm0.png
#	Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm1.png
#	Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm2.png
#	Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm_b1.png
#	Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm_b2.png
#	Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm_bitem.png
#	Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarmp.png
#	Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarmx.png
#	Resources/Textures/Structures/Wallmounts/air_monitors.rsi/meta.json
#	Resources/Textures/Structures/Windows/mining.rsi/full.png
#	Resources/Textures/Structures/Windows/mining.rsi/meta.json
#	Resources/Textures/Structures/Windows/mining.rsi/mwindow0.png
#	Resources/Textures/Structures/Windows/mining.rsi/mwindow1.png
#	Resources/Textures/Structures/Windows/mining.rsi/mwindow2.png
#	Resources/Textures/Structures/Windows/mining.rsi/mwindow3.png
#	Resources/Textures/Structures/Windows/mining.rsi/mwindow4.png
#	Resources/Textures/Structures/Windows/mining.rsi/mwindow5.png
#	Resources/Textures/Structures/Windows/mining.rsi/mwindow6.png
#	Resources/Textures/Structures/Windows/mining.rsi/mwindow7.png
#	Resources/Textures/Structures/Windows/mining_diagonal.rsi/state0.png
#	Resources/Textures/Structures/Windows/mining_diagonal.rsi/state1.png
#	Resources/Textures/Structures/Windows/plasma_diagonal.rsi/meta.json
#	Resources/Textures/Structures/Windows/plasma_diagonal.rsi/state0.png
#	Resources/Textures/Structures/Windows/plasma_diagonal.rsi/state1.png
#	Resources/Textures/Structures/Windows/plasma_window.rsi/full.png
#	Resources/Textures/Structures/Windows/plasma_window.rsi/meta.json
#	Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow0.png
#	Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow1.png
#	Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow2.png
#	Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow3.png
#	Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow4.png
#	Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow5.png
#	Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow6.png
#	Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow7.png
#	Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/meta.json
#	Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/state0.png
#	Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/state1.png
#	Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/full.png
#	Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/meta.json
#	Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow0.png
#	Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow1.png
#	Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow2.png
#	Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow3.png
#	Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow4.png
#	Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow5.png
#	Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow6.png
#	Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow7.png
#	Resources/Textures/Structures/Windows/reinforced_uranium_diagonal.rsi/meta.json
#	Resources/Textures/Structures/Windows/reinforced_uranium_diagonal.rsi/state0.png
#	Resources/Textures/Structures/Windows/reinforced_uranium_diagonal.rsi/state1.png
#	Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/full.png
#	Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow0.png
#	Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow1.png
#	Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow2.png
#	Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow3.png
#	Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow4.png
#	Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow5.png
#	Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow6.png
#	Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow7.png
#	Resources/Textures/Structures/Windows/reinforced_window.rsi/full.png
#	Resources/Textures/Structures/Windows/reinforced_window.rsi/meta.json
#	Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow0.png
#	Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow1.png
#	Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow2.png
#	Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow3.png
#	Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow4.png
#	Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow5.png
#	Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow6.png
#	Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow7.png
#	Resources/Textures/Structures/Windows/reinforced_window_diagonal.rsi/meta.json
#	Resources/Textures/Structures/Windows/reinforced_window_diagonal.rsi/state0.png
#	Resources/Textures/Structures/Windows/reinforced_window_diagonal.rsi/state1.png
#	Resources/Textures/Structures/Windows/tinted_window.rsi/full.png
#	Resources/Textures/Structures/Windows/tinted_window.rsi/meta.json
#	Resources/Textures/Structures/Windows/tinted_window.rsi/twindow0.png
#	Resources/Textures/Structures/Windows/tinted_window.rsi/twindow1.png
#	Resources/Textures/Structures/Windows/tinted_window.rsi/twindow2.png
#	Resources/Textures/Structures/Windows/tinted_window.rsi/twindow3.png
#	Resources/Textures/Structures/Windows/tinted_window.rsi/twindow4.png
#	Resources/Textures/Structures/Windows/tinted_window.rsi/twindow5.png
#	Resources/Textures/Structures/Windows/tinted_window.rsi/twindow6.png
#	Resources/Textures/Structures/Windows/tinted_window.rsi/twindow7.png
#	Resources/Textures/Structures/Windows/uranium_window.rsi/full.png
#	Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow0.png
#	Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow1.png
#	Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow2.png
#	Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow3.png
#	Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow4.png
#	Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow5.png
#	Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow6.png
#	Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow7.png
#	Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/meta.json
#	Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/state0.png
#	Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/state1.png
#	Resources/Textures/Structures/Windows/window.rsi/full.png
#	Resources/Textures/Structures/Windows/window.rsi/meta.json
#	Resources/Textures/Structures/Windows/window.rsi/window0.png
#	Resources/Textures/Structures/Windows/window.rsi/window1.png
#	Resources/Textures/Structures/Windows/window.rsi/window2.png
#	Resources/Textures/Structures/Windows/window.rsi/window3.png
#	Resources/Textures/Structures/Windows/window.rsi/window4.png
#	Resources/Textures/Structures/Windows/window.rsi/window5.png
#	Resources/Textures/Structures/Windows/window.rsi/window6.png
#	Resources/Textures/Structures/Windows/window.rsi/window7.png
#	Resources/Textures/Structures/Windows/window_diagonal.rsi/meta.json
#	Resources/Textures/Structures/Windows/window_diagonal.rsi/state0.png
#	Resources/Textures/Structures/Windows/window_diagonal.rsi/state1.png
#	Resources/migration.yml
2024-11-19 19:20:31 +03:00
Repo
ef51700094
Fix unban/editing role bans placed in groups. (#30659)
* On editing a roleban, get all the bans with the same time.

* forgoten newline

* Update to check for player ID too.
2024-11-12 22:03:13 +01: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