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