* Adds a living time config to the panic bunker (#54341)
* Adds a living time value to the panic bunker, so you can keep people out based on time spent playing the game
* updates the admin verb, and enables %minutes% as an option
* Makes a proc call more clear
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
* than
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
* Adds a living time config to the panic bunker
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
* Overhauls discord verification system (#53289)
This completely replaces the previous verification system, for one that
will interoperate with a discord redbot instance that uses the cogs
located at you github.com/optimumtact/orangescogs
This cuts out several steps in the system, but it also leaves alone the
existing notify system (which just uses a file list of discord ids) as a
record of who to notify
SQL changes required for the new database system
Version 5.10, 7 August 2020, by oranges
Changes how the discord verification process works.
Adds the discord_links table, and migrates discord id entries from
player table to the discord links table in a once off operation and then
removes the discord id on the player table
The user connects to any tg server, and uses the "Verify Discord
Account" verb, this generates a six word one time use token, with a 4
hour time validity period (defined as 4 hours from the timestamp value)
in the discord links table.
This one time token, and the ckey of the user are stored in
discord_links
At this point the entire DM side is done, this is all it does
* Overhauls discord verification system
Co-authored-by: oranges <email@oranges.net.nz>
* CentCom Galactic Ban DB: Bigger and Better Edition (#52588)
Admins will now be able to look up a player's bans from several other servers via the player panel.
My hope is that porting this to as many servers as possible will encourage more servers to make their bans publicly viewable so they can be included in this system. Direct access to a server's database is not required (or even supported).
Supported servers:
BeeStation
/vg/station
OracleStation
FTL13
Fulpstation
TGMC
Planned support (WIP):
World Server
Yogstation
Halo: SSE
Any other server willing to make their bans publicly visible.
API: https://centcom.melonmesa.com
Source: https://github.com/bobbahbrown/CentCom
Changelog
cl ike709 and bobbahbrown
add: Admins can now see your bans on (some) other servers.
/cl
* CentCom Galactic Ban DB: Bigger and Better Edition
Co-authored-by: ike709 <ike709@users.noreply.github.com>
* CentCom Galactic Ban DB (#52519)
* CentCom Galactic Ban DB
* Sanitize and config
* Apparently TG has a http_request datum
* Tweaks
* An excellent suggestion
* Turns out BYOND is better at JSON parsing than I thought it was
* Fun fact: 4 out of 5 UIs don't bother to do this
* CentCom Galactic Ban DB
Co-authored-by: ike709 <ike709@users.noreply.github.com>
CHAT_NEW_GAME_NOTIFICATIONS
I can't find the commit that untied the original config to the announcement, but this is how it originally was: db68cd1#diff-d91ba57ba114207ed6985097e129dd9cR137
Whoever did it obviously didn't read the send2irc (now send2chat) doc comment
Closes#51416
About The Pull Request
1 config change and 1 preference change:
Adds a config option AUTO_DEADMIN_TIMEGATE that, when defined, only enforces config force-deadmins for all roles/sec/command/silicon/antag for the first X seconds in the round. After this time expires, the game will defer to the individual's deadmin settings.
Adds a preference for admins to ignore being summoned by cult ghosts, starts disabled by default. Nice for when you're sitting around observing a cultist and don't want to be bugged by them suddenly summoning you!
I'm not 100% with dealing with prefs and configs but stock settings preserve previous functionality and must be manually enabled to have effect. Please look it over and offer advice if changes are needed!
Why It's Good For The Game
I don't like the auto-deadmin config option being on in the first place since it's annoying to get deadmin'd when I'm testing antag stuff, but I spoke to @Twaticus who indicated they like having it for roundstart, but agreed it was annoying when trying to test stuff later in the round. This is a simple compromise that lets config-controllers still force people to deadmin at the starts of shifts where most of the proscribed roles are assigned, while not bothering other admins who make themselves a blob at the thunderdome an hour in to test something.
As for the cult ghosts, I hate suddenly getting summoned as a cult ghost while I'm adminning, but other people like being able to be summoned while currently admin'd, so pref time.
Changelog
🆑 Ryll/Shaps
config: Added AUTO_DEADMIN_TIMEGATE which allows config force deadmin settings to only apply for the first X seconds in a round. Starts disabled
admin: New preference to ignore being summoned as a cult ghost while admin'd, starts disabled
/🆑
About The Pull Request
As requested by oranges this enforces a requirement, when configured, that a player must have a certain amount of living playtime in hours to auto-enroll into a discord role.
Why It's Good For The Game
Removes discord moderation requirement
Changelog
cl bobbahbrown
server: Discord role auto enrollment can now be configured to require a certain number of living hours.
/cl
About The Pull Request
When a user successfully links their BYOND accounts and discord accounts, they will now be automatically roled, based on config settings.
NOTE: This does not update pre-linked accounts, but I can write an external bot to do that if needed
RUST-G has also been updated in this PR, to be inline with this PR over at RUST-G tgstation/rust-g#23
Why It's Good For The Game
People with linked accounts can now be given a specific role in the discord, which is good for verification.
Changelog
🆑 AffectedArc07
add: Linking your discord and BYOND accounts will now give you a role in the discord
/🆑
cl
add: Added support for a widescreen toggle, actual widescreen will require a config change.
tweak: Auto-fit view is now the default. This will only apply to new players.
/cl
* Add a virus log, plus a log for facehuggers
Logs each infect event and contains detailed descriptions of the virus
I also added a log message for printing virus culture bottles including
who printed them
Finally i tacked on a change to adding a game log entry for facehuggers
because why not
* Further logging fixes and updates
Medbots now combat log
combat log no longer tries to run keyname on an object because that
doesn't make much sense
* Dead say no longer logs twice
* tabs to spaces
* disables the MMB exploit
* Adds a config option to set a minimum build, with the recommended minimum build for 512 users being 1421
* readds the post-block detection, and changes MMB -> Middle Mouse Button
* Makes it the standard, I guess
Co-Authored-By: nichlas0010 <nichlas00100@gmail.com>
* Update client_procs.dm
Spiritual successor and extension to #17798, an almost entire rebuild of the SQL ban system backend and interface.
Bantypes are removed per #8584 and #6174. All bans are now 'role bans', server bans are when a ban's role is server. Admin bans are a column, meaning it's possible to ban admins from jobs.
Bans now have only an expiry datetime, duration is calculated from this when queried.
unbanned column is removed as it's superfluous, checking unban status is now done through checking unban_datetime. unban_round_id column added. Each ip and computerid columns rearranged so ip is always first, like in other tables. Bans now permit a null ckey, ip and computerid.
Ban checking is split into two procs now is_banned_from() does a check if a ckey is banned from one or more roles and returns true or false. This effectively replaces jobban_isbanned() used in simple if() statements. If connected a client's ban cache is checked rather than querying the DB. This makes it possible for a client connected to two or more servers to ignore any bans made on one server until their ban cache is rebuilt on the others. Could be avoided with cross-server calls to update ban caches or just the removal of the ban cache but as is I've done neither since I think it's enough of an edge case to not be worth it.
The second proc is is_banned_from_with_details(), this queries the DB for a role ban on a player's ckey, ip or CID and returns the details. This replaces direct queries in IsBanned.dm and the preferences menu.
The legacy ban system is removed.
The interfaces for banning, unbanning and editing bans have been remade to require less clicking and easier simultaneous operations. The banning and jobban panel are combined. They also store player connection details when opened so a client disconnecting no longer stops a ban being placed.
New banning panel:
Key, IP and CID can all be toggled to allow excluding them from a ban.
Checking Use IP and CID from last connection lets you enter only a ckey and have the DB fill these fields in for you, if possible.
Temporary bans have a drop-menu which lets you select between seconds, minutes, hours, days, weeks, months and years so you don't need to calculate how many minutes a long ban would be. The ban is still converted into minutes on the DB however.
Checking any of the head roles will check both of the boxes for you.
The red role box indicates there is already a ban on that role for this ckey. You can apply additional role bans to stack them.
New unbanning panel:
Unbanning panel is now separate from the banning panel but otherwise functionally the same.
Ban editing panel:
Actually just a modified banning panel, all the features from it work the same here.
You can now edit almost all parameters of a ban instead of just the reason.
You can't edit severity as it's not really part of the ban.
The panels have been tested but I've not been able to get my local server to be accessible so ban functionality isn't properly confirmed. Plenty of testing will be required as I'd rather not break bans.
cl
admin: Ban interface rework. The banning and unbanning panels have received a new design which is easier to use and allows multiple role bans to be made at once.
prefix: Ban search and unbanning moved to unbanning panel, which is now a separate panel to the old banning panel.
/cl
* Allows floats on all config entries that have no valid reason to disallow them
Needed for run speed changes, but I'm allowing them on any config that has no bonafide reason to disallow them.
The criteria used was "Is there a technical reason why floats should not be allowed or is there a technical/logical reason why floats would never mean anything more compared to a integer".
For instance: The cloning timer was made to allow floats because 0.5 ds increments are valid at our current fps and more would be valid at other fpses. Yes, from a practical standpoint nobody would ever want to have cloning be valid for 30 minutes and 50 milliseconds after death, but from a technical standpoint there is no reason not to let them.
* Update general.dm
fixes#41106 since it'll have it's own fucking location.
cl ShizCalev
add: Admins can now personalize their asay message color on servers with the feature enabled.
tweak: Moved some admin only preference verbs out of the Preferences tab and to a new admin preferences tab to help unclutter it / prevent accidental toggling of fun things.
/cl
Note that the start of the admin message will still use the default formatting just so it can be quickly recognized as an admin message and not an OOC one.
* Overhaul mecha logging
Removes user access to the log, not needed and that log can get large
removes all the internal log vars and passes all logging through to a
new log file, the mecha log
* somehow this makes it compile
* add it to the config too
Return of #37112.
@Carbonhell from Hippie reported an SSminimap crash on 512.1440 due to accidentally leaving the config on.
Nothing uses this subsystem, its maps look terrible, and it still after all this time is prone to crashes. If someone actually wants to start using these maps again they can just add the SS back in when they do that.
* Photography Update
* Pictures logged in their own /data/picture_logs folder rather than normal logs
* Pictures logged in their own /data/picture_logs folder rather than normal logs
* Photos broke, retrying
* Persistence stuff
* I'm almost done I promise!
* Persistence mostly working, compile, etc etc
* Persistence mostly working, compile, etc etc
* Remove something really not needed from the PR
* Prevents duplication
* default to off
* removes check tick
* increase slots in albums to 21
* Allows for singular loading
* Update camera_image_capturing.dm
* Addresses review
* Anturk
* Update camera.dm
* Update misc.dm
* Update datum.dm
* Update camera.dm
1, the number is non-inclusive, so if you want to show a message to 511 and lower, you set it to 512 meaning this should have been `DM_VERSION-0`, and 2, if i want to limit it to a version higher then the server's version that is something that should be allowed.
* updates sqladmins with excluded flags and tempminning
* rank, editing and permission protections; json backup
* fixes
* reverted the wrong file
* fix slidecolor cascading and disabled switches not being sent in form
* removes debug uncommenting
* whoops this too
* commas fix + versions for changelog entry headers since 3.0
* actually account for can_edit_flags and use of @ with - or *
* fixes and rearrangement of admin > localhost > autoadmin precedence
* in case you want to not have autologin autoadmins
This works around some vv-fu you can use to pass in a config_entry to a proc that reads the value var of some other datum. Byond is stupid enough to actually read it, so it must be uniquely named.