Commit Graph

8297 Commits

Author SHA1 Message Date
Simon f9f2549746 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-30 05:37:15 +01:00
Thomas 5d0ad84d8e Disable Arrivals message for Cryosleep (#30888)
* Disable arrivals message for cryosleep late arrivals

* Provide silent to PlayerSpawnCompleteEvent

* Fix typo

* Move message to event and into arrivals system
2024-08-30 05:35:45 +01:00
IProduceWidgets e18e19c897 Centcom & FTLDestination cleanup (#30226)
* centcomm name and ftlcomp

* networking microopstimization

* go sleep.

* map names and arrivals
2024-08-30 05:32:45 +01:00
deltanedas 6e29441a46 merge master 2024-08-28 03:20:44 +01:00
Nemanja db4e7cb567 Add space debris to salvage magnet (#31113)
* add space debris to salvage magnet

* multiplication

* necessary mercy for NPCs

* back and forth on mercy
2024-08-28 03:17:20 +01:00
deltanedas 7fd2541aee
job whitelists panel !!! (#1678)
* make JobPrototype.Whitelisted respect blanket whitelist, make jobs use it

* add jobwhitelists command and ui

* add job whitelist button to player panel

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-28 00:33:30 +00:00
deltanedas fef6ca80a3 :trollface: 2024-08-27 01:16:08 +01:00
Mervill c588096950 Replace obsolete functions in NPC systems (#31448) 2024-08-27 01:04:58 +01:00
Mervill 8d79b9aad6 Replace obsolete code in shuttle systems. (#31408)
* Format DockingSystem.Shuttle

* arrivals system

* docking system

* shuttle console system

* emergency shuttle system

* shuttle system

* thruster system

* Fix compile error

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-27 01:03:07 +01:00
Winkarst 7a33c10410 Move OnGhostAttempt to GhostSystem (#31445)
* Move OnGhostAttempt to GhostSystem

* Remove unused dependencies and sort them
2024-08-27 01:03:06 +01:00
metalgearsloth 17d4d701b3 Predict EmitSoundOnUIOpen (#31464)
* Predict EmitSoundOnUIOpen

BUI prediction led to this moment.

* unforky
2024-08-27 01:03:06 +01:00
Brandon Hu 356f7c360b fix(FieldGenerators): Don't show nonsense popup (#30469)
* .
2024-08-27 01:00:43 +01:00
Ed 4987111d59 Weather fix (#30857)
* weather fix

* localize errors
2024-08-27 01:00:43 +01:00
metalgearsloth 4cf95ff879 Action stuff (#31305)
* Action stuff

- Cleanup some event stuff
- Avoid dirtying entity unnecessarily
- Add ActionGrant as an easy way to apply / remove actions via compregistry.

* Fix merge
2024-08-27 01:00:43 +01:00
metalgearsloth f8b8ec7994 Power stuff (#31314)
* Power stuff

- Add shared IsPowered
- Add shared ResolveApc
- Move PowerChangedEvent to shared for now
- Add SlimPoweredLight that actually functions how you'd expect a PoweredLight to function it id didn't have a bunch of bloat on it.

* big update

* boing
2024-08-27 01:00:42 +01:00
deltanedas 27274a9df4 decouple ItemToggle from PowerCellDraw (#31392)
* remove ItemToggle from PowerCellDraw query

* add EntityQuery for resolves, make them all optional

* move integration to ToggleCellDraw

* add ToggleCellDraw to almost every PowerCellDraw prototype

* :trollface:

* :trollface:

* :trollface:

* let it disable on mapinit

* set update time on mapinit, make borg power logic consistent now

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-27 01:00:14 +01:00
Nemanja 677d3a00ef Blueprints (#31138)
* Blueprints

* Update tables_loot.yml

* doink

* mark as required
2024-08-27 01:00:13 +01:00
metalgearsloth 3a2e9badc6 Fix dungeon spawn + ftl overlap (#31413)
* Fix dungeon spawn + ftl overlap

* Better fixes
2024-08-27 00:50:40 +01:00
eoineoineoin 6d014c29b0 Remove client state from server AirAlarmComponent (#31236)
* Remove client state from server AirAlarmComponent

Send information for all connected devices, not just the ones for the
current tab, as attempting to limit this breaks multiple users viewing
the same UI.

Fixes #12842

* Send device data as a list, rather than a dictionary

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-08-27 00:50:40 +01:00
PursuitInAshes bd0c80e2ee Change `Resave` Permission Requirement to Host (#31397)
ChangePermissionFlagToHost
2024-08-27 00:50:40 +01:00
deltanedas 4effb1df45 Add Vox atmosphere marker, vents, and air alarms 2024-08-27 00:48:33 +01:00
deltanedas 09d5fe3f9f Make component fields datafields 2024-08-27 00:48:33 +01:00
deltanedas 1ab7a31bf9 Revert "add atmos stuff for mapping vox boxes (#1668)"
This reverts commit 6dc5ff7720.
2024-08-27 00:47:20 +01:00
Nemanja 4e16a3eac2 Mining Rebalance (#30920)
* first pass

* this shit too

* ok fix that shit

* buff

* actually fix that
2024-08-27 00:45:07 +01:00
Nemanja 5cdfbe5ab2 add new salv loot into the vgroid procgen (#31290)
add new loot into vgroid procgen
2024-08-27 00:43:25 +01:00
SlamBamActionman 81ceabba13 Add codeword highlighting (#30092)
* Added codeword highlighting

* Updated to support more codeword roles, color is set serverside

* Review feedback

* Change to a Component-based system using SessionSpecific

* Tidied up CanGetState, set Access restrictions on component

* Clean-up

* Makes the injection ignore brackets, restore some codewords, remove "Taste/Touch" from adjectives
2024-08-27 00:42:12 +01:00
Ed 248af8f15d fix Gatherable magic number (#31327)
Update GatherableSystem.cs
2024-08-27 00:40:13 +01:00
Mervill 67bc3aaef3 Remove obsolete functions from tile commands. (#31112)
* first part

* second part - file scope namespaces

* missing peice
2024-08-27 00:40:02 +01:00
Nemanja 652ce96239 Move mining roid and magnet pulls closer (#31296)
move mining roid and magnet pulls closer
2024-08-27 00:38:07 +01:00
Mervill d2f733ae93 Remove some wayward folder includes in the `csproj` (#31244)
remove some wayward folder inlcudes
2024-08-27 00:37:51 +01:00
Sigil 7b30347b20 Fixes the projectile list in AmmoShotEvent when firing something with a ProjectileSpreadComponent (#31300)
Fixed multiple projectile addition.
2024-08-27 00:34:13 +01:00
metalgearsloth 87f85cf778 Predict IntrinsicUI (#31310) 2024-08-27 00:34:13 +01:00
Nemanja 3b1e65c656 fix and buff the handheld mass scanner (#31284) 2024-08-27 00:30:54 +01:00
deltanedas 6dc5ff7720
add atmos stuff for mapping vox boxes (#1668)
* add 101kpa nitrogen fixgridatmos marker

* make a lot of things datafields so they save and can be set in yml

* add vox box scrubber/filter/sensor/alarm

* move some stuff to deltav folder, add deltav comments to the fixgridatmos mixture

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-22 20:14:35 +00:00
deltanedas d4e3c531c3
use old meteor entity (#1658)
* add old meteor entity

* spawn old meteor entity in rule

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-22 14:29:18 +00:00
Leon Friedrich 12a64769f7 Fix flatpacker (#28736)
* Fix flatpacker

* a
2024-08-22 13:41:09 +01:00
Mervill 3926ee6f3a Replace obsolete map function in AtmosphereSystem (#31252) 2024-08-21 16:16:51 +01:00
Pieter-Jan Briers 9cdf9b0d70 Don't create new JsonSerializerOptions for every discord webhook (#31240)
*sigh*
2024-08-21 16:16:41 +01: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
Jacob b7ddee3b64 Add failure logging to DiscordWebhook.cs (#30835)
* Add failure logging to DiscordWebhook.cs

Add a new function that logs errors with discord webhook's http requests.

Create, Delete, and Edit functions were modified slightly to call the log function but return the same information as before.

The log function logs the error code, caller method using a simple constant (could be better), and attempts to log headers mentioned in issue #30248.

* remove extra ';'

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Move header error logs to debug

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-21 16:16:41 +01:00
Brandon Hu d7c4e2b1d7 fix(SpecialRespawn): Check if prototype exists before attemping to respawn it (#31140)
* Co-Authored-By: deltanedas <deltanedas@users.noreply.github.com>

* _

* They're playing basketball

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

* They're playing basketball

Co-authored-by: deltanedas <deltanedas@users.noreply.github.com>

---------

Co-authored-by: deltanedas <deltanedas@users.noreply.github.com>
2024-08-21 16:16:13 +01:00
metalgearsloth d0bccb8653 Bandaid wire sounds (#31067)
Issue was tools was predicted but wires aren't so this would exclude user from audio.

For now we just do the non-predicted version and I or someone else will fully predict wires later.
2024-08-21 16:15:50 +01:00
tosatur 599b61a032 added a few chatsan entries (#31085)
* added a few chatsan entries

* added 2 more

* added 4 more and fixed errors

* fixed error again

* added allg

* removed fullstops
2024-08-21 16:02:05 +01:00
Cojoke 07907dd9ae Fix Pacified Damage Dealing Thrown Objects (#31183) 2024-08-21 16:02:05 +01:00
Nemanja 35923b6994 Recycler Overhaul (#30802)
* Recycler overhaul

* remove
2024-08-21 16:00:29 +01:00
Zachary Yona 80144686f5 Device-list limiting (#30997)
* PDA can no longer be linked to multitool

* Ignore previous commit, it would've broken things

* Added SavableAddress field to DeviceNetwork component and PDA for testing. Still need to implement

* System works, borg and pda addresses cannot be saved, but they still connect to the net.

* Suit sensors can no longer be added to network configurators, still work for monitoring purposes.

---------

Co-authored-by: Zachary Yona <magicalusf@gmail.com>
2024-08-21 15:50:04 +01:00
Boaz1111 0d4d336761 New Projectile Effect:Temperature Change (#31004)
* bah

* all done, thanks slarti

* makes the watcher do the thing

* Update TemperatureSystem.cs

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>

* changes something

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
2024-08-21 15:50:04 +01:00
Red Mushie 4cff2509e5 Fix news management console publish timeout activating when nothing was published (#31161)
Fix news management console updating publish timeout, now updating it *after* access checks instead of before
2024-08-21 15:46:31 +01:00
Red Mushie b1efdb1b2d Fix news management console access checks (#31160)
* Fix news management console access checks using manifest instead of AccessReader component

* Fix one tiny mistake

* Fix one tiny mistake, properly this time

* Revert accidental changes unrelated to this PR

* Add missing .Owner on delete check
2024-08-21 15:46:31 +01:00
geraeumig 855df347b4 Trim punctuation marks in the chat emote system (#28612)
Co-authored-by: geraeumig <alfenos@proton.me>
2024-08-21 15:43:53 +01:00