Commit Graph

168 Commits

Author SHA1 Message Date
SkyratBot
6e51ad38ef [MIRROR] Changes what appears for urgent ahelps to supportmins. [MDB IGNORE] (#11516)
* Changes what appears for urgent ahelps to supportmins. (#64748)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Changes what appears for urgent ahelps to supportmins.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2022-02-15 23:27:40 +00:00
Tom
da50b21d45 Cleans up and fixes a logging issue. (#11208) 2022-02-05 20:52:04 -05:00
SkyratBot
43c74b2818 Adds a config toggle for granting admin server profile access (#11263)
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2022-02-04 19:37:44 +00:00
SkyratBot
105f0cc610 [MIRROR] Add config entries for PR_ANNOUNCEMENTS_PER_ROUND and STATION_GOAL_BUDGET [MDB IGNORE] (#11145)
* Add config entries for PR_ANNOUNCEMENTS_PER_ROUND and STATION_GOAL_BUDGET (#64368)

Co-authored-by: Kyle Spier-Swenson <kyleshome@ gmail.com>

* Add config entries for PR_ANNOUNCEMENTS_PER_ROUND and STATION_GOAL_BUDGET

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@ gmail.com>
2022-02-01 01:31:19 +00:00
SkyratBot
958a9d632d [MIRROR] Logs tool usage [MDB IGNORE] (#11055)
* Logs tool usage

* fix conflict

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
2022-01-28 01:57:27 -05:00
jjpark-kb
272384d0fb lobby camera (#10829)
* lobby camera

* Update code/__DEFINES/layers.dm

shouldn't cover up the menu

* make it a subsystem

* adds a setting to disable the lobby eye (per person)

* Update modular_skyrat/modules/lobby_cam/code/lobby_eye_ss.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/modules/lobby_cam/code/lobby_eye_ss.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/modules/lobby_cam/code/lobby_eye_ss.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/modules/lobby_cam/code/lobby_eye_ss.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/modules/lobby_cam/code/lobby_eye_ss.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-01-27 04:02:34 +00:00
Useroth
eb384bd2d7 Telemetry 'n shit (#10810)
* Refactors dbcore and limits the maximum amount of concurrent async queries to a variable amount (#59676)

Refactors dbcore to work off a subsystem if executed async and limits the maximum amount of concurrent async queries to 25.

This has been tested locally on a mysql docker image and there were no crashes (as long as you didn't run it with debug extools) + data was getting recorded fine.
Why It's Good For The Game

May or may not resolve terry crashes, however, each query creates a new thread which takes up 2mb, preventing the game from using that 2mb. This can lead to ooms if they stack up, e.g. due to poor connectivity. This solves that issue.

maintainer note: this did not actually resolve the crashes, but has value anyway. Crashes were sidestepped fixed by finding out Large Address Awareness works

cl
refactor: Refactors dbcore.dm to possibly resolve the crashes that happen on Terry.
/cl

* Fixes an oversight in database code and cleans up telemetry (#64177)

As it is right now, we never actually clear the temporary list processing_queries
So if the subsystem is for some reason unable to complete a run, we will just whip right back around to it again
If it's been long enough, this could even cause horrific log spam. There was just now a manuel round with roughly 30k undeleted query errors. not good.

But what was actually not deleting you may ask?
Well

When you create a db request, a 5 minute timer starts. after those 5 minutes are up, the request is qdeleted by the db subsystem
This is to prevent the creation of unused requests, and to handle requests that are never cleaned up

Telemetry code was creating all of its db requests inside a for loop that could check tick, and then later
attempting to call them in series

Since requests by default sleep, this almost always lead to undeleted queries, which harddel'd given long enough periods

I've fixed this by moving the data gathering away from the query creation
Why is it good for the game

I was working on atmos code, happy, safe in my delusion, when suddenly I got a ping from tattle freaking out over 200 undeleted queries a second
This resolves that issue, so I can once again live in peace
Changelog

cl
admin: Telemetry code will spam you with undeleted query logs much less often now!
server: Improved how the db subsystem handles undeleted queries, should never have an incident like that again
/cl

* Fixes an error in telemetry queries (#64205)

* Hardsynced time_track.dm with upstream

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-01-19 00:21:07 +00:00
SkyratBot
c33061765b [MIRROR] [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety [MDB IGNORE] (#10620)
* [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety

* updates and fixes

* ffff

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-12 03:25:38 +00:00
SkyratBot
df350f0977 [MIRROR] Add config entry to hide the station name in the hub entry [MDB IGNORE] (#10380)
* Add config entry to hide the station name in the hub entry

* Fixing the merge conflicts, I'll update this again once the PR right before is merged.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-01-03 22:05:45 +00:00
SkyratBot
eb65da1b45 [MIRROR] Amortize the cost of creating preference assets by caching them per git revision on production, reducing best case init times by ~20 seconds [MDB IGNORE] (#10379)
* Amortize the cost of creating preference assets by caching them per git revision on production, reducing best case init times by ~20 seconds (#63503)

Preference asset creation, which while consistently created in early assets, can be requested at any time before then and often is, currently takes about 15 to 25 seconds to produce. Because of extremely hard to reproduce BYOND icon bugs, most of this is done on the same tick.

Lowering the cost of initialization itself is very tricky. Some of it we can theoretically optimize, such as creating humans for antagonists, others we can't, such as the raw cost of icon blending.

Furthermore, adding new icons later down the line would just increase this initialization time even more.

Instead of optimizing the asset creation, which is an uphill battle, this instead chooses to amortize the cost by caching preference assets created per git revision. This means that preference assets will be created, with their long delay, only once whenever the code changes.

This is done on a config, defaulting to on so that production needs no changes, as the whole point of these being made at runtime at all is that it keeps assets/art styles consistent, and PRs making subtle bugs that break preference generation in some way is not uncommon. On development, your git revision will stay the same until you commit, no matter what code changes you make.

* Amortize the cost of creating preference assets by caching them per git revision on production, reducing best case init times by ~20 seconds

* Fixing another conflict :)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-01-03 21:42:11 +00:00
SkyratBot
c0706f4a41 [MIRROR] Field of View and Blindness improvements [bounty + upstream push] [MDB IGNORE] (#10060)
* Field of View and Blindness improvements [bounty + upstream push]

* Update death.dm

* almost done

* Update fov_handler.dm

* Face mouse when in combat mode, fix

* Fixes the category for the fov admin verb. #63401

* Fixes objects with bad planes and FoV bugs #63412

* pain

* there we go

* face pref

Co-authored-by: Azarak <azarak10@gmail.com>
2021-12-22 14:56:01 +00:00
SkyratBot
a526c6070a [MIRROR] Makes all default job titles, defines. [MDB IGNORE] (#10080)
* Makes all default job titles, defines.

* Makes all default job titles, defines.

* whitespace

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2021-12-18 16:54:03 +00:00
SkyratBot
959f66bf47 [MIRROR] Fixed spelling of possession, Separate, and Cemetery [MDB IGNORE] (#9862)
* Fixed spelling of possession, separate, and cemetery (#63203)

Just fixes some spelling for gangs. I also fixed misspellings for "posession" to "possession". Fixed "seperate " to "Separate" Fixed "Cemetary" to "Cemetery"

* Fixed spelling of possession, Separate, and Cemetery

Co-authored-by: Doctor Pope <84367152+Dr-Pope@users.noreply.github.com>
2021-12-03 16:58:40 -05:00
SkyratBot
d6a1ad473f [MIRROR] Allows players to send more visible adminhelps when no admins are on, which'll definitely alert admins [MDB IGNORE] (#9583)
* Allows players to send more visible adminhelps when no admins are on, which'll definitely alert admins

* db portion sorted out

* now it really is

* should work about fine

* one last touch

* well, one more

* also botched comment

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-11-20 22:41:53 +01:00
SkyratBot
ad008ecfa6 [MIRROR] Adds logging for all Silicon rather than just Laws [MDB IGNORE] (#9346)
* Adds logging for all Silicon rather than just Laws (#62500)

I find stuffing everything in game.log is a real problem when you need to actually find useful information about what happened to a specific Silicon. It's hard to tell what happened to Silicon throughout a round, even when crossreferencing attack/game logs, so having a Silicon log for all the information related to them would be really useful.
For example, a Cyborg can spawn unlinked on Robocop, go Janitor and crowbar someone to death with a Robodoctor AI. When looking through logs, an Admin can easily assume it was a rogue Engineering cyborg who disobeyed their laws to kill someone.
This also isn't adding a whole new log file, more than it is just renaming the law log file to silicon and adding more useful things into it, so it isn't logging bloat (if that's even a concern)

* Adds logging for all Silicon rather than just Laws

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2021-11-09 14:16:27 -05:00
SkyratBot
a31e4bedfa [MIRROR] Tackles various problems with keyed_list config entries, fixing broken roundstart races and more! [MDB IGNORE] (#9131)
* Tackles various problems with keyed_list config entries, fixing broken roundstart races and more! (#62359)

While helping RaveRadbury debug some issues with enabling Halloween species early via the brute force method of enabling them in the config rather than the gentleman's solution of testmerging a PR that changes the Halloween date, we discovered something dreadful.

Cloth golems cannot be enabled! Infact, any species with a space in the ID cannot be enabled.

It uses the splitter despite VALUE_MODE_FLAG being set. So a key entry like ROUNDSTART_RACES cloth golem would get parsed as cloth = golem, then entered into the config as cloth = TRUE
NEW AND IMPROVED PART HERE

I've re-written how keyed_list config entries are parsed, splitting it into a number of procs to do some discrete block of logic.

Based on feedback from MSO, he expected that VALUE_MODE_FLAG keyed_list entries could have elements overridden. However, this functionality was not present in the code.

I have implemented it. We now support 3 methods of setting VALUE_MODE_FLAGS.

Implicitly enable the config entry: CONFIG_ENTRY config_key_goes_here
Explicitly enable the config entry: CONFIG_ENTRY config_key_goes_here 1
Explicitly disable the config entry: CONFIG_ENTRY config_key_goes_here 0

There have been functionality changes too. Previously, everything before the first splitter was the key and everything after was the value. However, in ambiguous config entries (Such as ROUNDSTART_RACES cloth golem 0) it would be unclear if the intent was (cloth, golem 0) or (cloth golem, 0) or indeed if the intent was (cloth golem 0, 1).

As a result, there is now the following paradigm in place: Everything after the LAST splitter is the value, everything before is the key and a log_config warning is now given explaining the problem and showing how it was resolved.

[2021-10-27 19:48:12.840] WARNING: Multiple splitter characters (" ") found. Using "cloth golem" as config key and "1" as config value.

This warning will trigger if multiple splitters are present for any keyed_list config entry, and will trigger on implicit VALUE_MODE_FLAGS entries that have splitters. The example above is it triggering on ROUNDSTART_RACES cloth golem - It has detected that there is potential ambiguity between (cloth, golem) or (cloth golem, 1), has picked a sensible option for the data type and has warned about it.

The intent is that no config entry should be ambiguous. It should be clear what is key and what is value when dealing with keyed_list config entries.

There's probably more work to do on other config entries to bring them up to this standard, but this is the thing I'm hitting in this PR.

Similarly, I have improved the validation aspect of keyed_list config entries with additional logging in general.
[2021-10-27 19:47:53.135] ERROR: Invalid KEY_MODE_TYPE typepath. Is not a valid typepath: /mob/living/carbon/monkey

I have added a unit test to make sure species IDs do not contain splitters from the two keyed_list subtypes relating to species.

I have added sanity checking to the race config subtypes since we have a big dick global list of all races sorted by ID, so a race not existing will fail validation and output a meaningful config log entry.

I have removed /datum/config_entry/keyed_list/probability from the code as it is unused with the removal of all game modes except Dynamic.

The config change necessitated the renaming of all golem species IDs. Doing so and renaming the clothgolem.ts file to match has fixed the broken cloth golem page too.

* Tackles various problems with keyed_list config entries, fixing broken roundstart races and more!

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-10-29 21:07:21 +01:00
SkyratBot
09c2297ad1 [MIRROR] Secret Gateways: Config loaded Away Missions + Anti-observing Z level traits [MDB IGNORE] (#8437)
* Secret Gateways: Config loaded Away Missions + Anti-observing Z level traits

* 0

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-04 00:11:28 +01:00
SkyratBot
90ae165e50 [MIRROR] Asset log config (#8400)
* Asset log config (#61687)

Adds config to toggle on/off logging to asset.log

Special thanks to @ TiviPlus who stole it from @ TiviPlus at tgstation/TerraGov-Marine-Corps#8406

* Asset log config

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2021-09-26 01:48:37 +01:00
SkyratBot
fb1a28a55f [MIRROR] Add support for multiple MOTD in config (#8307)
* Add support for multiple MOTD in config (#61589)

## About The Pull Request
Changes "motd.txt" from being hardcoded to being a list of files which are read sequentially.

CC @ MrStonedOne for config changes

## Why It's Good For The Game
On production, our MOTDs contain several individual sections:

- Active Trial Admin threads
- General game information
- MRP specific information

I want to automate number 1, I want number 2 to be shared among all servers, and I want number 3 to be shared among all MRP servers.

* Add support for multiple MOTD in config

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-09-23 01:27:18 +01:00
SkyratBot
124ddd7cca [MIRROR] tgui Preferences Menu + total rewrite of the preferences backend (#8153)
* tgui Preferences Menu + total rewrite of the preferences backend

* nah, we dont need to ping those people

* trying to remove the funny stuff

* unmodularizing this

* prefs reset

* this may need to be reverted, who knows

* okay, this part

* perhaps

* EEEEEEEEE

* unsanitary

* E

* Stage 1 + loadout system

* more fixes

* E

* I mean, it launches?

* More fixes and reorganisation

* E

* customisation code is spaget.

* disable ERP prefs

* Update erp_preferences.dm

* Update erp_preferences.dm

* E

* Slowly getting there

* It may be time for help :)

* tri...colors... help

* preferences now pass preferences

* Update dna.dm

* Fuck this man

* missing savefile return, set_species works, removed dumb stuff from updateappearance

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8199

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8224

* https://github.com/tgstation/tgstation/pull/61519

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8278

* e

* le butonAZARAK HELLO

* hhh

* Proper recognition where it's due, MrMelbert!

* EEEE

* examine block

* Better gen hit sounds from whitedream

* final loadout touches, more bug fixes im sure to come

* i said there would be bugfixes

* Update LoadoutManager.js

* Missing preferences in the html menu

* LIVE TESTING PHASE BABY

* Update LoadoutManager.js

* EEE

* LAUNCH TEST FIRE

* Update job.dm

* Update new_player.dm

* 50gb DAY ONE PATCH

* EEE

* Update preferences.dm

* buggle fixes

* Update examine.dm

* >LOOC starts on

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2021-09-23 00:40:37 +01:00
SkyratBot
1efa5bb148 [MIRROR] Give admins the ability to put a popup notice for players in tickets (#7856)
* Give admins the ability to put a popup notice for players in tickets (#61010)

Admins can now give players a popup if they are not responding to tickets.
Popup is cleared when player replies or ticket is resolved/closed.
As more and more of the chat screen is made irrelevant, new players read it less and less.
This means that a lot of new players are ignoring ahelps, which is something I've encountered myself.

* Give admins the ability to put a popup notice for players in tickets

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-09-01 16:06:09 +01:00
SkyratBot
0b23aaad55 Fixes the cross comms exemption of the current server. (#60951) (#7763)
Added a lowercase variable to string, string lists and keyed list configs.
Currently lowercase is only TRUE for keyed lists because they have been working like that since 2018. It might be changed to be FALSE by default but it'll take a while looking at the parsed logs for the config entries.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-08-25 11:05:49 -04:00
SkyratBot
839a703c5e [MIRROR] Adds new config flag to mirror logging of suspicious failed logins to its own file. (#7538)
* Adds new config flag to mirror logging of suspicious failed logins to its own file.

* Update IsBanned.dm

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-15 22:59:50 +01:00
SkyratBot
91070a797c [MIRROR] Job refactor 2: less hardcoded lists (#7410)
* Job refactor 2: less hardcoded lists

* CRITICAL DEP 1

* CRITCAL DEP 2

* Update nanotrasen_admiral.dm

* Update nanotrasen_admiral.dm

* Update nanotrasen_admiral.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-06 01:42:53 +01:00
SkyratBot
df651808d4 [MIRROR] Drastic Lag Mitigation Subsystem: SSlag_switch (#6786)
* Drastic Lag Mitigation Subsystem: SSlag_switch (#59717)

Requested by oranges and inspired by the upcoming event. A new subsyetem, non-processing (for now), aimed at providing some toggle switches that can be flipped as a last ditch effort to save some CPU cycles by sacrificing some non-critical mechanics. Below you can see each individual toggle.

Screenshot of the admin panel:
image
Surely there are more opportunities for toggles I missed, but adding new ones is not very difficult at all.
Why It's Good For The Game

Better performance during extreme pop, I hope.
Changelog

cl
code: Introduces the Lag Switch subsystem for when a smoother experience is worth trading a few bells and whistles for. Performance enhancement measures can be togged by admins with the Show Lag Switches admin verb or enabled automatically at a pop amount set via config.
config: Added a new config var: number/auto_lag_switch_pop

* Drastic Lag Mitigation Subsystem: SSlag_switch

* mirrored the changes to the modular file

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-07-08 03:24:16 +02:00
SkyratBot
a2d29d582d [MIRROR] Add $reset directive to config processor for setting a config entry to default value (#6602)
* Add $reset directive to config processor for setting a config entry to default value

* Update game_options.dm

Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-30 20:20:24 +01:00
SkyratBot
78afb2bccf Adds configs to disable laggy hard deletes (#6559)
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2021-06-28 14:19:27 +01:00
SkyratBot
c96dcd4506 [MIRROR] Port: fixes of SStimer subsystem from RU SS220 Paradise (#6446)
* Port: fixes of SStimer subsystem from RU SS220 Paradise (#59718)

Unobvious problem spot

#define BUCKET_POS(timer) (((round((timer.timeToRun - SStimer.head_offset) / world.tick_lag)+1) % BUCKET_LEN)||BUCKET_LEN)

With tick_lag equal to 0.1, 0.25, 0.5, rounding of division is normal. But at other values it may be shifted either more or less due to the specifics of floating-point storage and processing. Numbers 0.1, 0.25, 0.5 have blank mantissa, unlike others which lead to numbers such as 245.0000004 when divided.
PS: tick_lag is rounded to the first two decimal places.

Fixes

    Rewrote the circular doubly linked list to a regular doubly linked list, because it could cause timers to loop infinitely.
    Fixed re-creation of a bucket if the timer does not have a callback.
    Added debug stat indicator RST to MC SStimer.
    Added optional ability to log dump all timers on crash.
    Fixed subsystem logic when a bucket position is misplaced due to division and rounding inaccuracy. The system now captures such rounding errors and restores the correct timer position.

References

[RU] SS220 Paradise port process from TGstation and fixes:

    ss220-space/Paradise#5
    ss220-space/Paradise#10
    ss220-space/Paradise#26
    ss220-space/Paradise#32
    ss220-space/Paradise#37

Contributors

    @ semoro: fixes
    @ Bizzonium: port

Changelog

cl Semoro and azizonkg
fix: Ported fixes of SStimer subsystem from RU SS220 Paradise
config: Added a new config var: flag/log_timers_on_bucket_reset
/cl

* Port: fixes of SStimer subsystem from RU SS220 Paradise

Co-authored-by: Aziz Chynaliev <azizonkg@gmail.com>
2021-06-22 22:38:52 +01:00
SkyratBot
e2519525f9 [MIRROR] Refactors dbcore and limits the maximum amount of concurrent async queries to a variable amount (#6436)
* Refactors dbcore and limits the maximum amount of concurrent async queries to a variable amount (#59676)

Refactors dbcore to work off a subsystem if executed async and limits the maximum amount of concurrent async queries to 25.

This has been tested locally on a mysql docker image and there were no crashes (as long as you didn't run it with debug extools) + data was getting recorded fine.
Why It's Good For The Game

May or may not resolve terry crashes, however, each query creates a new thread which takes up 2mb, preventing the game from using that 2mb. This can lead to ooms if they stack up, e.g. due to poor connectivity. This solves that issue.

maintainer note: this did not actually resolve the crashes, but has value anyway. Crashes were sidestepped fixed by finding out Large Address Awareness works

cl
refactor: Refactors dbcore.dm to possibly resolve the crashes that happen on Terry.
/cl

* Refactors dbcore and limits the maximum amount of concurrent async queries to a variable amount

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-22 00:49:20 +01:00
SkyratBot
0fa2b48b59 [MIRROR] 2FA for Admins (#6221)
* 2FA for Admins

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-10 23:59:30 +01:00
SkyratBot
04abb98894 [MIRROR] Remove a bunch of old gamemode code (#6025)
* Remove a bunch of old gamemode code

* Mirror!

* Woopsie, modular game modes!

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-06-01 12:36:59 +12:00
SkyratBot
341ca10760 [MIRROR] Reduce default Maint. Drone playtime requirement (#5595)
* Reduce default Maint. Drone playtime requirement (#59011)

* Reduce default Maint. Drone playtime requirement

Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com>
2021-05-10 22:46:46 +01:00
SkyratBot
b7cefa3986 [MIRROR] Adds SDQL Spells & a Menu to Give Them to Players - Take 2: Commit Cleanup (#5274)
* SDQL Spells & Menu to Give Them to Players (#58118)

SDQL spells are spells that execute an SDQL query. This requires a config flag to be enabled in game_options.txt. When enabled, admins with debug verbs have the ability to open a menu allowing them to define all the relevant vars for the spell, including icons and spell requirements.

It also fixes a bug with superuser SDQL queries always runtime if they try to call a proc.

Co-authored-by: Emmett Gaines <ninjanomnom@ gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>

* Adds SDQL Spells & a Menu to Give Them to Players - Take 2: Commit Cleanup

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
Co-authored-by: Emmett Gaines <ninjanomnom@ gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
2021-04-29 00:30:19 +01:00
SkyratBot
2ab15aecb5 [MIRROR] Remove all gamemodes except Dynamic (#5173)
* Remove all gamemodes except Dynamic

* qaaaaaaaa

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-04-25 21:20:30 +01:00
SkyratBot
a08d398675 [MIRROR] Renews Maintenance Drones (#4868)
* Renews Maintenance Drones

* And these have conflicts too, but you can't see them

* Skyrat Map Updates (Adding Supermatter Room Area)

Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-04-16 13:04:21 +02:00
SkyratBot
4c68e4fe4e [MIRROR] Implements a new auto-tagging system for ID card which adds a config to auto-flag them as an intern. (#4864)
* Implements a new auto-tagging system for ID card which adds a config to auto-flag them as an intern. (#58236)

About The Pull Request

ID cards when equipped will check the player's living hours if the USE_LOW_LIVING_HOUR_INTERN flag is set. If their living hours is less than the first of the following (checked in order from 1st to 3rd until a valid value is found):

    Config USE_LOW_LIVING_HOUR_INTERN_HOURS
    Config USE_EXP_RESTRICTIONS_HEADS_HOURS
    Hardcoded 15 hours

Then their ID card is tagged as Intern Assignment, unless they're a Head of Staff in which case they become an Assignment-in-Training.

PDAs, Wallets and Tablets also update any ID cards they hold, so equipping a PDA, Tablet or Wallet will also update any ID cards inside it.

This occurs automatically, even if the card does not belong to the owner. This only occurs when the user's assigned_role is a station job.

* Implements a new auto-tagging system for ID card which adds a config to auto-flag them as an intern.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-04-13 02:01:42 +01:00
Funce
e5e448ab62 Ambition logging (#4765)
* Sets up ambition logging baseline framework

* That's one line, how did I write it

* Have to rewrite all the logs!

* I don't know what I'm doing anymore

* I think this is the last thing

* Log ambition is now added to config

* Ambition flag now correctly checks for the ambition flag

* Okay /here/ we go

* No more lowercase ckeys in admin chat

* Admin actions are now logged too
2021-04-09 16:01:00 +01:00
Cheshify
3bfb26f12a [SEMI MODULAR] Discord Link Updates (Config) (TM this) (#4507)
* Unga Dunga Config Changes :)

* More Config Stuff
2021-04-01 17:34:59 +01:00
SkyratBot
b332b46b65 [MIRROR] Remove hideous inline tab indentation, and bans it in contributing guidelines (#3394)
* Remove hideous inline tab indentation, and bans it in contributing guidelines

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-15 15:32:02 +00:00
SkyratBot
18d9daadb1 [MIRROR] Improves friendly commendation code (#3110)
* Improves friendly commendation code (#56453)

* Improves friendly commendation code

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2021-02-05 21:42:47 +00:00
SkyratBot
25df6e7da3 Cleaning up robot code: modules renamed to models & DOGBORG REWORK (#2837)
* Cleaning up robot code: modules renamed to models

* Merge branch 'master' into upstream-merge-56312

* [PR Fix] Modular_Skyrat borgos (#3019)

* No more linter complaining

* Halfway (or full way, I don't know) through moving stuff around

* Caps!

* a

Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-02-05 21:28:06 +00:00
SkyratBot
d9c8ffef60 [MIRROR] Changed the population scaling coefficients minimal values to 0. (#2995)
* Changed the population scaling coefficients minimal values to 0. (#56522)

## About The Pull Request

So, there on the downstream we've encountered a problem with the security officer slots jumping to 12 every time the round starts, regardless of what we set them to in the configs.
In the configs it says that you can set the coefficients to 0 to disable scaling, and upon investigation, it seems that all the scaling coefficients suffer from similar problem.
https://github.com/tgstation/tgstation/blob/master/config/game_options.txt#L198
the `min_val` in the config entry datums is 1 on each of them, leading to unexpected behaviour

## Why It's Good For The Game

It fixes certain config values leading to unexpected and unwanted behaviour

* Changed the population scaling coefficients minimal values to 0.

Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-02-01 13:23:29 +00:00
SkyratBot
7f7252d855 [MIRROR] Adds logging to uplinks, spellbooks, and the codex ciatrix (#2937)
* Adds logging to uplinks, spellbooks, and the codex ciatrix (#56450)

* Initial logging

* Bugfix and adds uplink logging to config file

* Another bugfix

* Adds logging to uplinks, spellbooks, and the codex ciatrix

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-01-29 14:12:01 +00:00
Miss Fox
3727431c10 [NON-MODULAR] [TM Only] Added the SQL logging.. waf (#2668)
* Added the SQL logging.. waf

* I dont know why CI does not like my sql......

* I think i fixed the sql....

* Attempt #1 to make linter happy

* Shhh linter, it will be over soon

Just breath into this cloth... ignore the chloroform smell.

(Add a Preprocesser statement, to make the SpacemanDMM linter ignore the SQL code in a mob atom obj, that causes it to trigger its hard coded test for stoplag.
This only does not trigger on other SQL, as there is hard coded exception in SpacemanDMM that ignores the other objects. the better fix would be to update SpacemanDMM to add this into the exclusion. but this change at least allows the PR to be merged finally)

Co-authored-by: MissFox <github@aesir.org.uk>
2021-01-28 18:25:19 +00:00
SkyratBot
d7f054b035 [MIRROR] Refactors monkeys into a species (#2379)
* Refactors monkeys into a species

* aaa

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-31 21:08:07 +01:00
SkyratBot
e0a5c58460 [MIRROR] Add config for discord bot prefix (#2122)
* Add config for discord bot prefix (#55400)

This allows you to set this in config, save having to hardcode it

I also fixed a mistake where only one message was changed in the
messaging from the account linking system

* Add config for discord bot prefix

Co-authored-by: oranges <email@oranges.net.nz>
2020-12-11 00:26:25 +00:00
Gandalf
7ee24f06bd Gamma Alert [SEMI-MODULAR] (#2029)
* aaah

* a
2020-12-03 21:39:49 +01:00
SkyratBot
67a9fd3a45 [MIRROR] Remove the hyphen from the default value of the github url string (no longer -tg-station) (#1858)
* Remove the hyphen from the default value of the github url string (no longer -tg-station) (#55136)

* Remove the hyphen from the default value of the github url string (no longer -tg-station)

Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
2020-11-26 23:18:34 +00:00
Gandalf
6ef0e46849 Server tagline [SEMI-MODULAR] (#1835)
* aaaaaaa

* Update world.dm

* aaa

* Update config.txt
2020-11-25 15:32:14 -06:00
uomo
6912895247 Fixes and cleanup for logging. (#1735)
* Fixes and a little cleanup.

* False by default.

* Apply suggestions from code review

Co-authored-by: Azarak <azarak10@gmail.com>

* Modularization and comments.

* #include

Co-authored-by: Azarak <azarak10@gmail.com>
2020-11-23 20:27:59 +01:00