Commit Graph

191 Commits

Author SHA1 Message Date
oranges 78bce66be1 Adds spam prevention to clients
The current limit is 10 messages in 5 seconds, with 20 messages in 5
seconds muting you
2019-07-22 02:31:22 +00:00
Emmett Gaines c25459d938 Adds SHOULD_CALL_PARENT to Destroy() (#45188)
Timers, signals, and components need to know when the thing they're 
attached to is getting destroyed or bad things happen. Since any datum 
can make use of these every destroy needs to call parent.
2019-07-15 18:13:48 -07:00
Kyle Spier-Swenson efec302bfd Fix my fix (#44750)
I messed up #44748 minorly. I check for a string in a list of a numbers because I don't convert it again (job is a if scoped var in the above if)
2019-06-23 08:59:43 +12:00
Kyle Spier-Swenson 03554f0aa1 Moves the asset cache bug check to below the topic limiter
While we were looking at logs to try and figure out how someone has been crashing the servers, oranges pointed out to me that these lines aren't below the topic limiter or the logger. The main asset cache stuff should be above it so legit asset cache sends don't eat up the user's topic limit, but this line can be below it and doing so should protect the user from getting spammed with asset cache browser resets whenever that one bug happens. (I also looked at logs, and the bug this code works around does still seem to be a thing.)
2019-06-22 12:30:26 -07:00
AnturK b5eacbbc87 Fix another version of the asset exploit (#44570) 2019-06-18 00:08:59 -07:00
AnturK 53adafe60d Fixes asset topic sanity. (#44550) 2019-06-15 14:57:44 -04:00
Rob Bailey 0d86efdb52 Widescreen toggle support (doesn't actually enable it) (#43754)
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
2019-06-03 11:11:09 +12:00
Kmc2000 6b6537cccd Adds toggleable darkmode to the game! (#43072)
* Adds toggleable darkmode to the game! (Use the toggle darkmode verb if you want to use light mode)

* Removes a random linechange

* Undo unintentional changes

* Changes some forced font tags to use spans, which won't break darkmode.

* Fixes up some problems I found while testing
Darkmode is no longer default (this caused some issues with people getting a broken chat)

* Darkmode sucks less now

* Darkmode button now works again
2019-03-21 11:02:41 +13:00
oranges de70c67639 Merge pull request #43152 from kevinz000/bunker_message
Panic bunker message is now a config.
2019-03-20 22:09:12 +13:00
kevinz000 f8777444d6 syke, nah let's load this every time from the datum 2019-03-17 14:55:50 -07:00
kevinz000 1bb07280c2 the message is now cached and the line has been added to config 2019-03-17 14:54:34 -07:00
kevinz000 92983243c5 panic bunker message config 2019-03-17 14:41:35 -07:00
Tad Hardesty 2bc2e7fe31 Add a type annotation to represent proc paths 2019-03-05 21:09:12 -08:00
YoYoBatty c33235f108 Fixes an undeleted sql query (#42703)
* Fixes an undeleted sql query

* ARE YOU SURE ABOUT THAT
2019-02-09 21:52:10 +11:00
nichlas0010 3ec4eb619f [s] disables the Middle Mouse Button exploit (#42594)
* 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
2019-01-30 11:07:45 -05:00
kevinz000 620db42963 Refactors the Preferences window to use appearances (#41978)
Instead of using expensive getFlatIcon() calls, character previews are now shown using appearance clones in a second map window.

Its creating a secondary map and adding mut_appearances as screen objs on that map.

There are 1 set of dummy objects per client, it also only creates them while the preview window is open and garbage collects them when it's closed.

Because it creates the MA from the main preview dummy mob, the dummy mob's appearance remains a seperate object and they don't affect each other
2018-12-30 00:11:26 +13:00
Kyle Spier-Swenson d0c14d850d Fix cid randomizer note repeating more often then it should
The expire_timestamp checks were always failing because `null` is not higher than `now()`
2018-12-26 17:00:30 -08:00
AnturK 25d86fc660 Fix for part of client drops. Maybe. (#40455)
* Fix for part of client drops. Maybe.

* Whoops.

* Oh it's a verb.
2018-09-30 23:09:04 +03:00
CitrusGender bb2c82375e Add Note severity and changes UI of administrative notes (#39808)
* Adds note_severity and updates dbconfig. New SQL stuff too.

* whoops please don't hack into my database >:^(

* UI change, changed how it's stored in the DB, removed some queries when it returns, changed stuff to key.

* Update sql_message_system.dm

* this was not defined

* random indent

* wait how did this get here

* okay enough web edits I promise

* just kidding I got u

* Update common.css

* Added buttons, changed UI again, standardized the inputs, added severity for appearance bans, fed the dog

* forgot about the banning panel

* added an asset cache

* corrects asset datum var name
2018-08-26 20:23:29 +10:00
Jordan Brown 77c4f0078e Fix undeleted query (#39688) 2018-08-14 00:06:32 +03:00
Jordie 31f020f3cc Add expiration time for admin messages (#39502)
* add expiration time for messages

* typo

* fix

* src to usr

* allows removing expiry from existing messages

* cancel button
2018-08-12 06:31:14 +10:00
Jordie 0d7ef3ed65 Key instead of ckey for user facing logs and ui (#39009)
* converts to using key instead of ckey for user facing logs and ui

* more key_name for airlock wires

* futureproofing check for if key changes

* --onlyckeymatch script argument and fail/success counter

* fix
2018-08-11 02:15:50 +10:00
Jordie 9dd566a586 Change +everything admin flag to not use ALL define (#39142)
* change +everything admin flag to not use ALL define

* add proc to handle max flag value changing update to db
2018-07-27 18:15:41 +12:00
Jordan Brown 2ddf0e656f Removes can_vv_get from some things (#39136)
* Removes can_vv_get from some things

* This too

* Remove extra vv_edit_var
2018-07-24 22:15:45 +12:00
AnturK f19611ff77 Adds client byond version to feedback. (#39061)
* Adds client byond version to feedback.

* Duh

* i need more sleep
2018-07-12 17:27:25 +10:00
AnturK 5dff907e97 Adds logging minor client version. 2018-07-09 13:02:28 +02:00
Jordan Brown 00eb79eac4 Merge pull request #38692 from Jordie0608/blacklistedmakesitsoundlikethebuilddidsomethingbadwhichitdidbadbuildnaughtybuild
Blacklisted buggy build 1428
2018-06-24 10:16:36 -04:00
Jordie 21f96755b5 blacklisted buggy 1428 2018-06-24 15:28:18 +10:00
Jordan Brown cf7e8aa9ec Qdels queries, adds sleep safety checks, DBcore checks for leaks (#38363)
* Qdels all queries, adds sleep handling

* DB Core messages admins about undeleted queries

* Compile fixes. Adds missing set waitfor

* Remove world/New shennanigans. Add DBQuery/BlockingExecute()

* Less spammy notifications to admins about undeleted queries

* Increase dbcore fire time to 1 minute

* Upgrade undeleted query warning

* Better place of death

* Fix build

* Remove BlockingExecute, see BSQL PR for why

* Yep, missed that one.

* Psyche, that's the WRONG QUERY!!
2018-06-18 22:48:35 +03:00
Tad Hardesty 75aa8ec4b2 Add "Fit Viewport" verb to automatically size the map window (#38351)
* Add a verb to automatically size the map window

* Add a preference to auto-fit the viewport
2018-06-14 10:03:16 +02:00
Jordie 6b84926599 Fixes datediff not returning (#38215) 2018-06-02 13:41:58 -07:00
ShizCalev c41d6ac965 Standardizes and cleans up some admin messages & logging (#38128)
* Improved logging

* Fixes & emitter logging

* ded
2018-05-30 21:57:06 -07:00
Tad Hardesty d0466f42bc Allow dynamically updating UI style, do so on mob login (#38089) 2018-05-30 12:52:50 +02:00
Jordan Brown 3015b3bf6b Merge pull request #37963 from AutomaticFrenzy/patch/finally
Unredden the input bar when the viewport is clicked
2018-05-25 22:24:31 -04:00
Tad Hardesty 85ac15af9f Only adjust input bar color on hotkey mode 2018-05-25 15:12:17 -07:00
Jordan Brown c737760a14 Adds OOC verb to show the last round end report you've viewed (#37900)
You can now view your last round end report window with the "Your last round" verb in the OOC tab

stores the HTML in a data dir
2018-05-22 09:47:49 +12:00
Tad Hardesty c02f83ad27 Unredden the input bar when the viewport is clicked 2018-05-21 01:51:31 -07:00
ShizCalev 028231cb81 Updates BYOND links to use HTTPS (#37918)
* Updates BYOND links to use HTTPS

* revert

* if -> If
2018-05-19 19:50:05 -07:00
Kyle Spier-Swenson 47e6ade7d2 Client topics only check for deleted objects when an object was actually passed (#37866) 2018-05-17 18:14:27 +03:00
Tad Hardesty 9147170024 Fix the preference menus not expanding (#37578) 2018-05-06 15:08:01 +03:00
Jordan Brown a80d9a24cc Merge pull request #37000 from tgstation/KorPhaeron-patch-2
Update compile options to make 512 support official
2018-04-11 16:12:27 -04:00
vuonojenmustaturska 8addcd5217 remove 512 version checks 2018-04-11 14:26:22 -05:00
Tad Hardesty 80570931d1 Fix various macro consistency problems (#37092) 2018-04-11 13:20:57 +03:00
Jordan Brown 8065ad6d3e Merge pull request #37050 from AutomaticFrenzy/patch/fullscreen-cloning
Fix fullscreens added to clientless mobs not stretching properly
2018-04-10 20:22:30 -04: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
Tad Hardesty 0053acd694 Fix fullscreens added to clientless mobs not stretching properly 2018-04-08 00:39:24 -07:00
Kyle Spier-Swenson c546dd737a Cid randomizer check no longer triggers if the user's cid changes once then changes back (#36887)
* Cid randomizer check no longer triggers if the user's cid changes once then changes back

Normally, we only check for the randomizer if their cid changed from their last allowed connection. In some edge cases, somebody's cid can be different from a one time glitch, then change back on the next connection. 

We now detect such cases and allow the connection.

* Update client_procs.dm

* Update client_procs.dm
2018-04-02 16:25:42 +03:00
MrStonedOne 455dfab442 Minor Refactor of click code. 2018-03-30 18:19:55 -07:00
Jordan Brown 12bc79307d Topic will no longer be called on deleted objects 2018-03-23 19:09:30 -04:00
Kyle Spier-Swenson 2b8f3385bd Preload vox sounds when preload_rsc is disabled
They should be getting sent to the client via the CDN, but thats not working properly and this works to fix it
2018-03-19 23:59:48 -07:00