Commit Graph

62 Commits

Author SHA1 Message Date
L b890cca778 tick_lag 2019-07-18 09:33:11 -03:00
L a03b33be2e world.fps 2019-07-17 10:31:08 -03:00
oranges 1de8e39aad Add a log for paper edits
This should have been done ages ago
2019-04-09 22:48:06 +00:00
ShizCalev f2cea780aa Move map errors to their own log file (#43376)
In interest of getting things fixed without having to constantly crawl
through game.log to find map issues, moved them to their own log file.
2019-03-30 13:54:55 -07:00
Kyle Spier-Swenson b8b2cec949 Pop cap support for the hub (#43248)
* Pop cap support for the hub

Also, a reminder that this proc needs work. a lot of work.
2019-03-22 08:57:50 +13:00
ShizCalev 2c9b6c4d44 [s] adds logging to cloning 2019-03-18 16:18:02 -04:00
Kyle Spier-Swenson 1895af060f Makes tgs ran servers store DD's output to the log folder
This means runtimes will go to two sources, but it also means we can log the runtimes that don't filter thru world/Error
2019-03-17 20:29:43 -07:00
oranges cde413db78 Add an asset cache log that logs send assets (#43089) 2019-03-17 11:31:07 +01:00
MrStonedOne 186f6c8ddd dbstickybans: Qdeleting queries, misc fixes, Query select proc for executing mutiple queries at once... 2019-03-16 00:23:40 -07:00
Jordan Brown bf29adbadf Revert "Bandaid for the TGS4 Linux trusted mode bug" (#42964)
This reverts commit 360882e7ee (#41668).
2019-03-03 23:27:36 -08:00
oranges c9d2b8c5f8 Logging tweaks and fixes (#42817)
* 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
2019-02-26 21:13:36 +11:00
Jordie 8a66665e95 Ban system and interface update (#41176)
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
2018-12-05 08:48:37 +13:00
Jordan Brown 360882e7ee Bandaid for the TGS4 Linux trusted mode bug (#41668)
* Hack for the TGS4 Linux trusted mode bug

* Simpler
2018-11-27 14:26:40 +13:00
Jordan Brown d14c0ea433 Call TgsReboot after MC shutdown (#41126) 2018-10-27 19:00:55 +02:00
vuonojenmustaturska 6f26dfd1df Overhaul mecha logging (revival of oranges's PR) (#40664)
* 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
2018-10-05 09:59:28 +13:00
Jordan Brown 1dfc3881c6 Update TGS DMAPI 2018-09-17 22:29:34 -04:00
Jordan Brown c0561362ce Merge pull request #40167 from AutomaticFrenzy/patch/rustg-git
Use rust-g for revision info instead of parsing .git
2018-09-16 09:09:47 -04:00
Jordan Brown bd7c22dda9 Moves TgsInitializationsComplete call to immediately after world/New() (#39771)
* Moves TgsInitializationsComplete call to immediately after world/New()

* Subsystem PreInit data directory audit

* world/New data directory audit

* Needful here too

* Remove SS_NO_INIT from SStitle

* Don't create banlist.bdb for SQL banning

* Stop creating legacy notes file

* Moves iconCache from data to tmp
2018-09-15 21:34:14 +12:00
Tad Hardesty 0709b79870 Print revision information to the runtime log 2018-09-07 23:44:34 -07:00
vuonojenmustaturska 7504a6a776 Puts the custom error handler behind its own define (#40086)
* henk

* wops forgot a commit

* Update world.dm

* Update _logging.dm

* now it works, tested

* Update _compile_options.dm

* Update _compile_options.dm
2018-09-07 12:02:00 +02:00
Jordan Brown 7c3621449c Removes security mode checks (#39790) 2018-08-21 16:45:12 +02:00
kevinz000 5b5e1ee577 Third time's the charm - Photography update: 7x7 cameras, photo logging with full metadata, persistent albums and wall frames! (#38944)
* 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
2018-08-01 14:52:41 +02:00
Patrick Chieppe 308bfdb1ed Telecomms chat logging (#39276)
* Add telecomms logging to a new file (telecomms.log)

* Add LOG_TELECOMMS config option
2018-07-24 22:38:25 +12:00
Jordan Brown 6afa81c207 Adds world parameter to change the config directory (#39073) 2018-07-13 17:04:15 -07:00
AnturK 2322db30ba Moves divide occupations debugging information to a file log. (#38721)
* Moves divide occupations debugging information to a file log.

* Copypaste failure.
2018-06-27 20:58:00 +12:00
Jordie0608 d25762dddd query debug logging as a config option 2018-05-16 14:59:39 +10:00
Jordie0608 6b4316a201 query debug logging 2018-05-14 19:55:20 +10:00
Jordan Brown 575d098944 Update DMAPI to version 3.2.1.0 (#37429)
This is primarily a compatibility layer that enables both forward and backward compatibility for all past and future APIs based on the detected running TGS version. It also bundles all it's includes to make future upgrades not have to modify the dme, heck, could even use a submodule if it wanted (not happening). No other changes necessary.

There's an upcoming event system and new chat management functions. Check them out here: https://github.com/tgstation/tgstation-server/blob/303448457e1529c900fa183a8b3c7f2e5459acf1/DMAPI/tgs.dm

Also added /datum/proc/CanProcCall()
2018-05-09 14:33:07 +12:00
Jordie 8f9270ed68 removes startup message in sql log (#37176) 2018-04-14 16:11:36 +03:00
Bjorn Neergaard d7966ced09 Use a rust DLL for logging (#36858)
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.
2018-04-11 10:01:31 +12:00
Jordan Brown db7dc70eca Unit tests don't start until after 10s of round time (#36907) 2018-04-02 15:56:03 -04:00
vuonojenmustaturska 355c21acb1 Remove mobs/idlenpcpool Initializers, make mob/client expansion happen when maxz is incremented (#34987)
* work

* Seems to worky

* one more place where maxz is touched
2018-01-27 23:16:20 +01:00
oranges b70740ccaa Merge pull request #34642 from Cyberboss/UnitTests
Adds unit test framework
2018-01-25 09:19:08 +13:00
Jordan Brown 015258d01c Config dir again except this time it works (#34606)
* Revert "Revert "Fix config_dir usage (#34469)""

* Make config exist before world/New but not load it until then
2018-01-21 19:32:12 +01:00
Cyberboss d615b56be4 Revert "Remove unit tests"
This reverts commit 69e27bb76ff78af47d2c1b4b8faf91d8b5f9b128.
2018-01-19 11:55:12 -05:00
Jordan Brown bf7938cfdf Adds test run mode. Fails travis if it fails (#34198)
* Adds test run

* Add OVERRIDE_LOG_DIRECTORY_PARAMETER

* Fails travis if a test run fails

* Fix travis looping

* Move the unit tests behind a define

* Fix various test run things

* Remove the DEBUG check because that's just you shooting yourself in the foot

* Adds readability spacing. Makes RunUnitTests a generic proc

* Remove unit tests
2018-01-19 11:53:26 -05:00
Jordan Brown 0b2301322d Merge pull request #34513 from optimumtact/hostwiththemost
Move roundid and schema check to dbcore subsystem
2018-01-19 10:17:38 -05:00
oranges 48575ccf70 Revert "Fix config_dir usage (#34469)"
This reverts commit 7be3d32290.
2018-01-19 01:26:40 +00:00
Jordan Brown 7be3d32290 Fix config_dir usage (#34469)
* Makes things use GLOB.config_dir

* GLOB.config_dir => global.config.directory

* Fix /datum/configuration
2018-01-19 11:55:09 +13:00
Jordan Brown 9dcdbff711 Nothing in this commit (#34520) 2018-01-16 15:40:15 -05:00
oranges a26ad89646 Move roundid and schema check to dbcore subsystem
The admin messages about a schema mismatch are now queued until
subsystem Initialize, as clients do not exist until after world/New, so
there was no clients for goonchat to queue messages to before then
2018-01-16 09:14:45 +00:00
Cyberboss 6fe468e3b4 Moves load_motd to config controller 2018-01-15 10:44:25 -05:00
Kyle Spier-Swenson 5bceb36588 Fixes compiler errors in the preload_rsc external resource thingy (#34061)
Fixes compiler errors in the preload_rsc external resource thingy
2018-01-15 10:32:20 -05:00
Jordan Brown 5c5ba45768 If the world is launch with the "no-init" param. Master.Initialize isn't called 2017-12-25 20:14:55 -05:00
Jordan Brown dcfa3ca0e2 Add a single whitespace (#33746) 2017-12-23 02:42:50 -05:00
Jordie 56e5a62033 Db schema version check by simplification (#33582)
* db schema version check by concatenation

* lets just use actual floats

* simplifies schema check and some more logging
2017-12-16 23:23:23 -05:00
Jordan Brown b602495658 Adds a config to optionally hard reboot DD (#33006) 2017-11-24 05:53:08 -05:00
Jordan Brown 58aa8268e1 Fixes topic logs exposing serviceCommsKey (#32837) 2017-11-18 09:48:03 -05:00
Kyle Spier-Swenson d7b537ce24 SSoverlay improvements and tweaks (#32371)
* Overlay per-type cost logging.

Overlays will now log how long each type took to process.

Changed up how overlays was done to account for the fact its a queue and not a processor. (it was using almost none of the processing subsystem framework)

Made the overlay loop faster by making it not cut the list until the end.

Added a simple generic benchmark stat tracking system.

I don't know how much overhead this adds to overlays. i may put it behind testing or something, but i do want to test this on the serbers to get some stats.

* Removes flush() as it was creating race conditions

* Use ref

* text2file

* Atoms added as an overlay will have their pending overlays compiled before being converted to an appearance
2017-11-10 20:25:29 +01:00
AnturK 02e1407269 Adds logging crew manifest to seperate file (#31665)
* Adds logging crew manifest to seperate file

* Coding blind

* i can spel words

* Not everyone in the lobby please.

* Proper header

* Fix

* Better format
2017-10-16 08:56:35 +11:00