Commit Graph

348 Commits

Author SHA1 Message Date
Pieter-Jan Briers
444180c20d Optimizations from server profile (#38290)
* Properly cache regexes in chat sanitization/accents

Wow I wonder if `new Regex()` has a cost to it *looks at server profile*.

* Avoid lag caused by Tippy command completions

CompletionHelper.PrototypeIDs explicitly says *not* to use it with EntityPrototype. Unsurprisingly, reporting a completion result for every entity prototype in the game is a *bad idea*.

* Add active count metrics to some high-load systems

Mover & NPCs

I suspect the thing that caused the Leviathan round to shit itself on performance is NPC spam in space or something. So let's verify that.

* Enable parallel processing on pow3r again

Originally disabled due to a theory of it causing bugs, it was re-enabled on Vulture, and I'm not aware of it having caused any issues there.

* Replace hashset with bitflags for AtmosMonitor alert types.

Allocating these hashsets was like 20% of the CPU of atmos, somehow.

* Cache HashSet used for space movement collider checks

Turns out this was a ton of server allocations. Huh.
2025-07-26 11:44:34 +02:00
Simon
29029d2586 Add ability for admins to change certain cvars via command. (#35105)
* Add ability for admins to change certain cvars via command.

* Cleanup

* More cleanup.

* Even more cleanup.

* WAITER! WAITER! ONE MORE COMMIT PLEASE!

* Remove requirement for Admin AdminFlag

Not needed as the command checks for the perms.

* Add search function to CVars and help text

* Move to controller instead.

* Add another cvar for testing

* Remove unused comment

* Move to Post Server Initialize

LoC does not work at the earlier stages of server initalization

* Remove unneeded comment

We clear out list so its no longer needed
2025-02-16 10:06:13 +01:00
Simon
806e1e46cb Separate CCVars into separate files 2024-11-12 03:10:25 +01:00
metalgearsloth
1c8eed8b45 Add on-call functionality for adminning (#30443)
* Add on-call functionality for adminning

The first time an ahelp gets SOS it gets relayed to the specified channel with the specified ping. Every time after that it doesn't until it gets a non-SOS response received.

* Remove redundant name

Pretty sure this already gets chucked on the name of the msg itself I think it just didn't show in screenshot because they were subsequent.

* Update Content.Server/Administration/Systems/BwoinkSystem.cs

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

---------

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: deathride58 <deathride58@users.noreply.github.com>
2024-11-02 10:29:16 +01:00
Vasilis
957b8de89b Add cvars to votekick to customize requirements for the initiator. (#32490) 2024-11-01 21:34:23 -04:00
SlamBamActionman
06da4fcc60 Allow votekicks to be initiated in the lobby (#32528)
Initial commit
2024-10-31 21:52:55 -04:00
SlamBamActionman
b3190b8935 Lower in-round votekick requirements (#32953)
Initial commit
2024-10-31 21:47:59 -04:00
Pieter-Jan Briers
c221ef06b9 System to automatically restart server after certain uptime. (#32814) 2024-10-20 16:46:22 +02:00
Vasilis
a739b21b04 Change the window titlebar to show the joined server (#32547)
* Change the window titlebar to show the joined server

Requires https://github.com/space-wizards/RobustToolbox/pull/5475/

* Totally not a webedit

* Can you tell what cvar I copied?

* And this kids is why we don't webedit

* Reviews

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-10-17 13:06:07 +02:00
SlamBamActionman
d0c4d5a93a Add webhook for votekicks (#32513)
* Initial commit

* Localization
2024-09-29 15:23:53 +02:00
Leon Friedrich
f1f1fc1dc3 Add interaction rate limits (#32527)
* Move PlayerRateLimitManager to shared

* Add interaction rate limits

* uncap tests
2024-09-29 22:19:00 +10:00
SlamBamActionman
eeadc75b0a Add Votekick functionality (#32005) 2024-09-26 18:32:13 +02:00
Leon Friedrich
caf34be616 Entity menu lookup changes (#32395) 2024-09-23 17:28:42 +10:00
TurboTracker
4b357a370b Removal of Maxcaps via cvar (#31437)
* Comment out gastank explosion trigger

* CVAR creation

* Blank line between method + toml update

* I fucking hate VistualStudio

* change bool logic into float

* cat dancing.gif

* Adjust some minor nits

* Update Content.Server/Atmos/EntitySystems/GasTankSystem.cs

Co-authored-by: Partmedia <kevinz5000@gmail.com>

* Un-hardcode unused initial cached CVar value

* Update Resources/ConfigPresets/WizardsDen/wizardsDen.toml

---------

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-09-11 00:05:12 +02:00
Pieter-Jan Briers
5a6a3371dc Extend shuttle dock time if the shuttle doesn't dock at evac. (#31496)
* Extend shuttle dock time if the shuttle doesn't dock at evac.

If the shuttle can't dock at evac for *some reason*, it will instead try to dock at another port on the station. And if that fails it goes somewhere random on the station.

Because of the chaos and confusion caused by this, many people will frequently not get to the shuttle in time under these circumstances. This sucks for everybody.

To alleviate this, the shuttle launch timer will now be extended if the station doesn't dock at its ideal spot. The default values (controlled via CVar) are 1.667x and 2x respectively for "wrong dock" and "no dock at all" scenarios.

The code around here was a mess, so I fixed that too. "CallEmergencyShuttle" has been renamed to "DockEmergencyShuttle", the overload that did the actual docking has been renamed to DockSingleEmergencyShuttle. Code has been split into separate dock -> announce methods so we can calculate shuttle delay in between the case of multiple stations.

Also made the "shuttle couldn't find a dock" text announce the time until it launches and fix the shuttle timers not triggering for it.

* Minor review

---------
2024-09-09 20:10:28 +02:00
metalgearsloth
f0615ec3c8 Fixup playerspawn stuff (#31546)
* Fixup playerspawn stuff

- Also removed arrivals forcing, this should just turn containerspawnpoint off.

* fix this one

* test fix

* really fix
2024-08-29 15:27:47 +10:00
Simon
f92ef41538 Automated whitelists (#23985)
* Beginnings of making the breadmemes jobs easier

* stuff

* stuff pt. 2

* Stuff pt.3

* Stuff I forgot last time

* Basic whitelist

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

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

* Change default whitelist

Default whitelist is now the "legacy" whitelist.

* localization

* Admin check

* minor spelling change

* Fix build

* Whitelist message

* Fix vars not being datafield and spelling mistakes

* Minor spelling mistake

* Change config for salamander

* Reviews and stuff

* Add summaries

* Fix whitelists

* Forgot to add a datafield

* Fixing stuff I guess

* Reuse admin remarks to reduce load when connecting.

* Update log messages to be verbose instead of debug

* Reviews

* whoops

* Explain a bit more how whitelist checking works

* Apply CE's review

* Append Membership to Blacklist and Whitelist conditions

* Fix review comments

* Uncapitalize playerConnectionWhitelist, add to ignored client prototypes

* Make note count field work

* Fix cvar for thingy

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-27 18:01:17 +02:00
Nemanja
b52686ea38 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-24 12:09:36 +10:00
Pieter-Jan Briers
8ac0246998 Enable worldgen by default in non-wizden config (#30996)
Enable worldgen by default

If somebody can explain to me WHY this isn't enabled by default, that would be epic. Otherwise we're merging this
2024-08-14 21:56:45 +10:00
DrSmugleaf
12b6cf5e5d Make ahelp.admin_prefix default false (#30994)
* Make ahelp.admin_prefix default false

* More disabling

Game defaults should match wizden as closely as possible.

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-14 13:22:10 +02:00
IProduceWidgets
07ec00ed05 refactor event schedulers to use explicit game rules (#29320)
* works, still has testing values, im sure I did stupid shit.

* shitvent crapfactor

* snap extra word out of existence

* shit I died of old

* remove useless inaccurate design comments

* Oopsie, handle requirement params in RandomRuleSystem too

* I'm a slash slinging hasher

* Address reviews, add admin alerts I forgor

* EntityMan saves the day

* address reviews 1

* eh, I actually don't care about the cargo gifts thing.

* started

* Do reviews

* you actually meant 1.2 lmao

* dependency inheritance is a fickle bitch

* I have no idea.

* Threads are for sheets not computers.

* fix traitor rule test

* fix round type tattling

* break things

* It worky

* Toolshed makes we want to drink depresso.

* Finished?

* remove debug values

* timings

* use defaults

* alphabetize

* bobby drop tables

* Float required fr fr

* continue

* more continence

* uno mas

* obsolution

* cleanup and documentations

* Yell at self

* use the right value defaults

* housekeeping
2024-08-14 15:21:01 +10:00
Errant
9de922adba development build ghostrole lottery changes (#30980)
debug ghostrole lottery changes
2024-08-14 11:57:09 +10:00
Kara
485caa4553 Contraband marking & examining (#28688)
* System & loc strings

* pass over syndie contraband

* fixes

* grand theft pass

* contrabandexamine -> contraband

* examine text generation update

* all composition parents necessary

* bring back minor contra so it has a less confusing message

* minor

* weapon pass

* jumpsuit pass

* feet pass

* AUUUUUUUUUGHHHHHHHHHHHHHHHHHH

* head

* AUUUUGH

* ear

* belt

* back

* fix

* bro

* rename for more clarity

* do da review

* add cvar for contraband examine

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2024-08-11 23:57:49 -04:00
DrSmugleaf
8865d4a782 Make pointing cooldown a cvar (#30623)
* Make pointing cooldown a cvar

* Remove empty line
2024-08-04 13:34:33 +10:00
to4no_fix
64273cb914 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-02 22:59:20 -05:00
metalgearsloth
8f250581be Fix VGRoid grid spam (#29946)
Specifically if a grid splits under the cvar size it doesn't get a label. This also stops stuff like shuttles splitting in half creating new entries for the new grids. Splitting code leaves the largest grid as the existing one so this will always prefer to keep it large (but if there's multiple splits it won't adjust).
2024-07-27 11:54:38 +10:00
metalgearsloth
03f0257ae9 Revert "Picking a ghostrole as an admin will now deadmin you. (#29790)" (#29901)
This reverts commit 1a50760e67.
2024-07-11 17:04:10 +10:00
MFMessage
1a50760e67 Picking a ghostrole as an admin will now deadmin you. (#29790)
* @forcibly deadmins you

* Added checks for AdminDeadminOnJoin
2024-07-11 15:53:14 +10:00
Chief-Engineer
6371a04621 Fix baby jail (#29896)
* Revert "Revert Baby Jail (#29891)"

This reverts commit 24a2866747.

* the fix
2024-07-11 15:14:01 +10:00
Vasilis
24a2866747 Revert Baby Jail (#29891)
* Revert "SS14-28662 Add Baby Jail: a Jail for Babies (inverse panic bunker) (#28763)"

This reverts commit 3ceb92a0c4.

* Revert configs

* Oops
2024-07-11 10:33:47 +10:00
Pieter-Jan Briers
0896edf06c Remove placing items on tabletop boards. (#29513)
This feature should never have been merged, it can be trivially abused to break the entire server.

It's behind a CVar because honestly that's the easiest way to 1984 the feature.
2024-06-27 16:57:55 +02:00
Chief-Engineer
c81ba6e4a9 Alert shared connections (#29405)
* add admin alert for active shared connections

* update wizden config

* review
2024-06-26 15:43:43 +02:00
Pieter-Jan Briers
c33644532d Rate limit ahelps (#29219)
* Make chat rate limits a general-purpose system.

Intending to use this with ahelps next.

* Rate limt ahelps

Fixes #28762

* Review comments
2024-06-21 00:13:02 +02:00
Nemanja
f9ddccbc22 Decrease meteor frequency (#29194) 2024-06-18 21:57:00 -04:00
DrSmugleaf
bd0631c45b Add cvar to disable round end pvs overrides (#29151) 2024-06-18 22:00:29 +10:00
DrSmugleaf
4954b6d79e Add cvar to disable ghosting killing your crit mob (#28945)
* Add cvar to disable ghosting killing your crit mob

* Update Content.Shared/CCVar/CCVars.cs

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

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2024-06-16 21:21:16 +10:00
TsjipTsjip
71eb4d9178 CVarify meteor behavior (#29030)
* CVarify meteor behavior

* Cache value to reduce CVar calls, hook into OnValueChanged

* _cfg is still null at construction time, fixed by just making it set up on Started instead

* Invoke immediately! Learning more every step of the way.

* Move cached value initialisation to Initialize call

* Add explicit supercall
2024-06-15 10:03:20 -04:00
AJCM-git
c339773b5f Fixes the ShowRulesCommand and the client not syncing rules correctly (#28752) 2024-06-15 00:41:25 -04:00
Hannah Giovanna Dawson
3b3163c4f4 SS-28662 Add cvars to support forcing people to departures and making those at departures invincible (#28765)
* SS-28662 Add cvar to force spawn everyone at departures

This cvar means everyone must spawn at departures. This
could be handy for an admin event? But mostly it's so the
tutorial departures terminal can be seen by all newbies on
gateway servers.

* Small fix to ArrivalsSystem flow

* Remove incorrect todo

* Add godmode arrivals cvar
2024-06-14 04:15:42 -07:00
Partmedia
dc0327c3c0 Update PA admin warnings (#28911)
With singulo fixed, PA strength 3 and below (level 2) are now safe.
Update the admin logging to reflect this.
2024-06-12 22:15:15 -04:00
Hannah Giovanna Dawson
1bb9d9451f Panic Bunker uses minutes not hours (#28805)
* Panic Bunker uses minutes not hours

* Fixing an instance of hours
2024-06-09 22:45:47 +02:00
Hannah Giovanna Dawson
3ceb92a0c4 SS14-28662 Add Baby Jail: a Jail for Babies (inverse panic bunker) (#28763) 2024-06-09 14:58:10 -04:00
Nemanja
c549573f7a add default page support for the guidebook (#28772) 2024-06-09 11:55:21 -04:00
AJCM-git
63e0ee08cb Fixes client having authority over rules popup cvars (#28655)
* Fixes client having authority over rules popup cvars

* Delete duplicate migration

* Pre-update

* Post-update
2024-06-07 21:53:20 +02:00
Leon Friedrich
b632a65385 Add JobRequirementOverride prototypes (#28607)
* Add JobRequirementOverride prototypes

* a

* invert if

* Add override that takes in prototypes directly
2024-06-07 09:43:02 -07:00
Nemanja
1333b48747 Convert rules to use guidebook parsing (#28647) 2024-06-06 03:11:26 -04:00
Kevin Zheng
d5019cee96 Add CVar to disable pow3r parallel processing (#28488)
* Add CVar to disable pow3r parallel processing

* Cache CVar value

* Fix pointyhat

* Move all CVar-ing to Content.Server
2024-06-04 16:54:22 +02:00
DrSmugleaf
19be94c9ea 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 05:08:31 -07:00
Kevin Zheng
4b9fa926c0 Tune spacing speed to fix under-pressure lockout (#28370) 2024-05-28 23:21:48 -06:00
basic pack
69be7089d1 Lowers restart round vote's minimum players dead percentage. (#27470) 2024-05-28 19:51:25 -04:00