* Adds discord based MFA for admins.
* Fixes error caused by the yogstation folder, other small errors
* Fixed SQL error, I hope
* Converts to TOTP
* Got 2FA working, as well as the backup codes
* Didn't mean to commit this
* Added QR code for scanning in the TOTP seed, removed debug statement, added reset to the permissions panel. Locked the permissions panel behind 2FA.
* Catches error messages from rust_g
* Update rust_g
* Adds 30 day expiry to sessions, also re-disables SQL and MFA in private_default
* Make persisting the session opt-in
* Adds a way for a user to clear their saved logins
* Update rust_g.dll now that the other PR was merged
* Refactor 2FA off the admin datum
* Removed extra check on the 2FA reset button
* Update database_changelog.txt
By moving our logging to a DLL we see a drop in CPU/real time of 2-3 orders of magnitude. This is due to BYOND opening and closing file handles on every write, causing incredible amounts of unneeded overhead. The logging library also handles timestamps for us, further increasing performance gains.
This library will also allow for further offloading in the future, such as completely replacing file2text() and friends.
A pre-compiled DLL is bundled, but Linux users will have to compile manually. Directions can be found at the rust-g repo.
Log output is enhanced with millisecond time stamps:
[2018-04-01 15:56:23.522] blah blah blah
This includes runtimes as well, which benefit from the same timestamp improvements and no longer have hacky splitting code to add their own timestamps.
Log shutdown is handled in a dedicated proc called as late as possible, as rust-g integration expands this will be factored out into a generic native code shutdown proc.
* New API for service communication
* Safer this way
* Gives the game the ability to kill itself
* tick_lag
* Sanity check
* Updates comment
* Formalization of the server tools API
* Fixes, finishes, and cleanup
* Remove unecessary scoping
* Compile fixes
* Didn't Ctrl+S
* Reimplement chat commands
* Fixup
* Required parameters
* Fax
* Testing
* Fix ON_TOPIC
* The more defines the more better
* That's bass ackwards
* Fix tgs2
* Fuck it, call him pichael
* Do this
* No, we only use the modern methods now
* Remove tgs2 relay support
* Remove kebab
* Kill kill kill
* This is back baby
* Missed a GLOB
* Remove DownloadPRDetails()
* Cache custom commands by name
* Adds "notify" chat command
* Use the official API
* Fix API misuse
* Readme licensing memes
* Fix API
* Moves chat new game announcement to when the API is confirmed compatible
* Add TGS3.json
* Fix the input options
* Removes notify command