Commit Graph

151 Commits

Author SHA1 Message Date
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
Kyle Spier-Swenson
6febacc523 Removes a lie from client_proc (#36357)
Byond calls Stat() every 8 ticks with or without this code, it was literally doing nothing. This was pointless and none of this code is expensive enough to warrant throttling it anyways.
2018-03-13 02:59:13 -06:00
Jordan Brown
88a039e548 I'm this close to deleting SDQL entirely 2018-03-09 10:51:58 -05:00
Kyle Spier-Swenson
0e337c6489 [s]Adds detection for spoofed 512 clients (#36169)
* Adds detection for spoofed 512 clients

* actually reject the client.

* Fixes Shift Failure
2018-03-07 12:26:49 +13:00
Kyle Spier-Swenson
1e24836c02 Add support for auto admin when ran in single user mode
address is null in single user mode, but we didn't support that because address has been null because of a byond bug, but now that this is a config we don't have to care since its off in production.
2018-03-01 16:46:21 -08:00
Jordie
23a45889ed Modernizes SQL admin loading (#35264)
* 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
2018-03-02 13:38:26 +13:00
Kyle Spier-Swenson
176a181be6 Fixes blacklisted byond builds 2018-02-13 14:39:20 -08:00
Kyle Spier-Swenson
3494d14c60 More blacklisting 2018-02-12 14:14:03 -08:00
Kyle Spier-Swenson
aad3bddffc [s]Blacklists the most recent version of byond for basically being a wall hack (#35516)
* Blacklisted client builds.

* Missed a spot

* glob was a mistake
2018-02-11 10:36:27 +13:00
Kyle Spier-Swenson
47f3d89265 raises the cid check disconnect time out (#35244)
Disconnects from deleting the client are immediate, where are other commands are queued to some degree or another, browse is the worst one of all since it has to queue behind after connect resource sends as well as the asset cache or browse_rsc calls.

I'm finding hints that clients on lagger connections are getting disconnected before getting the reconnect command, and I was able to reproduce this myself on a cell phone connection while connecting to terry
2018-02-03 14:09:25 -05:00
Jordan Brown
1998d6dc47 Merge pull request #34331 from Shadowlight213/expplayervisibility
Players can now see their own tracked playtime
2018-01-19 09:44:35 -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
Shadowlight213
a9736714e8 Fixes displaying non crew roles in the exp report.
Lets players see their own playtime.
Fixes admin exp bypass not using the correct proc to check rights.
2018-01-11 14:02:01 -08:00
kevinz000
614f7a27d7 Logs coords for hrefs 2017-12-25 00:30:32 -08:00
Armhulen
e72cfeba72 code improvements from mso and co (#33485)
* eees zed

* mk?

* probably

* *burps*

* lol code

* thanks, cyberboss. you're the best

* why'd i do that?

* 😎
2017-12-18 20:50:35 -06:00
Emmett Gaines
25080ff2c4 defines math (#33498) 2017-12-17 11:02:11 -05:00
oranges
d25ddc86f8 add view range respects widescreen (#33581)
It will simply increment the x and y independently

This prevents a runtime of trying to add a number to a string
2017-12-16 23:09:13 -05:00
Emmett Gaines
4ec09a0c19 Re-Support old hotkey mode behaviour (#33460)
* supports old hotkey mode behavior

* testmerge fixes
2017-12-17 15:35:47 +13:00
Kyle Spier-Swenson
4e929c74a9 Deadmin tweaks: Admins without +AUTOLOGIN start deadmined. AUTOLOGIN defaults to on. (#33480)
* Deadmin tweaks, Admins without +ADMIN start deadmined.
Deadmining no longer destroys the admin datum.
Admins without +ADMIN start deadmined, reloading admins re-deadmins them.
Moved some code around to make it more sane
People with +PERMISSION can now deadmin or readmin other admins at will.

* Adds new flag for if the role should automatically log in, defaults to on, can be removed with -AUTOLOGIN
Also fixes a bug in permission panel not handling these cases gracefully
2017-12-13 22:03:37 -05:00
AnturK
3d813853b5 Roundend report refactor (#33246)
* Roundend report refactor

* I won't be fixining every moved part but here you go

* Preparation for feedback

* Fixup

* First draft of feedback (wip)

* Simple version of feedback for custom objectives/explanation texts

* Debug verb removal

* Fixes & show again action button

* Admin objective handling

* Fix and first step of css standarization.

* Every time

* More css

* Fix

* Fixes, abductee datum, css tweak

* Feedback and css fix

* CLIENT DETAILS DATUM + CLIENT ACTIONS + spilled css fix

* Integrates clockult badcode

* Fix

* Fix lists in assoc feedback

* Unified antagonists and teams feedbacks, bumped up antagonists version

* Adds chat link to reopen the the report

* Fixes some clockcult stuff, passes antag name to feedback

* review stuff

* fix

* Adds some missing spacing

* Roundend corners, has css gone too far.

* Spacing between same antags

* Changeling and traitor objectives now have same spacing

* Wizar report typo fix

* Wrap brother team.

* Also move it to more relevant file

* Fixes cult summon objective

* Fixes roundend report for full-round observers

* Fixes wizard with apprentices roundend report

* Tutorial scarabs don't show in roundend anymore, adds some check_ticks

* Prettier station goals

* Merges roundend delay things

* Spread the lag around

* Fixes relogin qdeling eminence

* ckey -> key
2017-12-11 11:57:20 -05:00
Cyberboss
344d294bb8 panic_address -> panic_server_address 2017-12-06 23:35:26 -05:00
deathride58
08504355d4 Adds support for non-1:1 screen ratios (Doesn't add widescreen) (#32950)
* adds support for non-1:1 screen ratios for fullscreen overlays

* prevents future copypasta, adds widescreen support to clickcatchers

* oops, makes it actually compile

* HOPEFULLY makes it actually compile, makes projectiles and mouse_angle_from_client support widescreen

* i need shittier shitcode

* !!!HOPEFULLY!!! fixes the screen fuckery

* Fixes compiling errors. Tested locally, it seems like it works

* fixes runtime in mouse_angle_from_client

* Fixes non-1:1 TGUI runtimes for borgs and ghosts

* adds actual defines for fullscreen overlay resolution

* makes varediting view call change_view to make clickcatcher regenerate proper

* testmerge toggle widescreen verb and fixes vving view

* FUCK - fixes test verb to properly use change_view, so clickcatchers regenerate and such

* fixes parallax runtimes - how'd i miss this

* removes debug verb
2017-12-05 20:45:47 -05:00
ninjanomnom
7b7b67edd8 In-code key handling system 2017-11-30 07:40:27 -05:00
Emmett Gaines
7c69cdcb8a Revert math (#33059)
* Revert "all this wrapping and it's not even christmas (#33035)"

This reverts commit faaf151580.

* Revert "fuck me for forgetting to graph this one"

This reverts commit 45d7acea2f.

* Revert "defines math"

This reverts commit 2817a1737b.
2017-11-23 20:59:52 -05:00
ninjanomnom
2817a1737b defines math 2017-11-22 17:36:58 -05:00
ShizCalev
8eafaccc88 Cleans up unused code 2017-11-20 00:03:33 -05:00
Emmett Gaines
5941e802ee 511 client fix and a config to make the version warning a popup (#32757)
* 511 client fix

* cache list memes
2017-11-15 11:39:25 +01:00
Tad Hardesty
3a3a779721 Scale fullscreen overlays to the view size (#32379) 2017-11-05 05:51:57 -05:00
Kyle Spier-Swenson
76b61e69cf Fixes client vv not working. (#31556) 2017-10-12 17:37:43 +02:00
MrStonedOne
c8bb13d7c2 In which the stoner one gets stoned and tries to address tick contention... again
Tick contention is when the mc, sleep()/spawns(), and byond internal processing fight each other for game tick time. Usually in an unproductive way that wastes cpu cycles and reduces the effective amount of game tick to go around.

Tweaked the anti-tick contention heuristics of the MC a touch.

Fixed an incorrect operator in the mc's anti-tick contention heuristics causing it to apply in times of no lag rather then times of lag.

The mc's anti-tick contention heuristics now plays better with the high pop processing mode.

We no longer reserve the tail end of a tick for the mc to have if the mc doesn't plan to run next tick because of high pop mode or anti-tick contention heuristics.

stoplag() can now be given an initial delay allowing it to act like a smarter sleep (in that it sleeps for longer if the server is overwhelmed.

All short sleeps that only existed for performance reason and had no game play, visual/audio, or balance reasons behind their timing were converted to stoplag().
2017-10-09 01:21:43 -07:00
MrStonedOne
7b7a4ca287 High pop reduced MC processing mode.
The logic behind this is that at higher populations, byond ends up needing to do more at the end of the tick to update clients, that the mc and traditional sleep timers end up fighting for a very small amount of time left.
Increasing the MC's sleep time means its wakes up sooner in the tick. So it has more time to do things, even if they don't happen as often, and leaving every other tick free allows for sleeping CHECK_TICK task to wake up without finding the MC left them very little time to do things.

Admins have been regularly manually doing this by varediting the processing variable to 2, that i figured we should automate it.

for /tg/, i plan on raising the player count a bit, but they make decent defaults for the avg server.
2017-10-06 00:34:09 -07:00
Jordan Brown
4178c209f1 Configuration datum refactor (#30763)
* Configuration datum refactor

* More WIP

* New easier on the eyes format

* More WIP

* Finished config.txt

* Fucktons more WIP

* The end of conversion draws near...

* Add all this shit

* Done converting entries finally

* Hunting down compile errors

* More WIP

* MORE CONVERSIONS

* More WIP

* More WIP

* Oh shit only 90 errors this time!

* IT COMPILES!!!

* Fixes world start runtimes
2017-09-29 15:36:51 +13:00
Jordan Brown
58f78f5a1b Merge pull request #30247 2017-09-01 12:42:57 -04:00
Jordan Brown
288560b215 Removes a redundant check (#30275) 2017-08-31 08:40:04 -05:00
MrStonedOne
ca33ca2e05 Note fading and persistent messages
Player Notes can now fade out over time so admins don't accidentally ban players for 4 year old notes
Deleted messages now remain in the database and are instead just hidden from view.

Two things relating to messages I've been meaning to do for ever.
2017-08-30 22:10:56 -07:00
Jordie0608
b7341a93ae adds more round id tracking 2017-08-25 22:05:32 +10:00
Jordan Brown
2ce6141628 Credits Roll (#30000)
* WIP

* More wip

* Numbers

* More WIP

* Improve

* Add QDEL_IN_CLIENT_TIME

* More WIP

* Getting there

* Absolute communism

* More stuff

* More states

* MrPerson's suggestion

* Makes it work, now we just need the dmi

* No, that's the null icon_state

* More better

* Fix script

* Turns out we don't need an empty dmi to start with

* Upload a much more complete dmi. Now we just need the identicons

* Fix

* Add the credits tool

* THE FULL DMI

* Mistake

* No need to resize the image if it's already 32x32. Also download the right one in the first place.

* It's oranges

* Transparent opacity

* Make per client

* Run at roundend

* Make tgstation-server great again!

* Speed things up some

* Fix up the verb

* Final touches

* Remove the unecessary .sln

* PraiseRatvar -> Frozenguy5

* New age coding

* Bigger gulps
2017-08-25 15:05:31 +12:00
Kyle Spier-Swenson
f2cf4c2f5c [ready]Makes bIcon better (#29690)
Goonchat will use the asset cache, you now have to specify who to send the icons too.

Goonchat will now load icons in the background, displaying them once they load. this prevents the message from being delayed while the icons are sent.

Icons that aren't preloaded using the asset cache system will not render on ie8 clients. This is because of a ie8 bug that prevents changes on runtime created images from rendering.
2017-08-14 10:40:50 +12:00
Leo
2b0e6128b8 Changes the check to prevent any possible href spoofing 2017-08-11 17:31:03 -03:00
Leo
a2826d782b Merge branch 'master' into lzimann-pings 2017-08-09 00:29:49 -03:00
Jordan Brown
d1ae0a0c95 Adds helpers to avoid << use (#29611) 2017-08-09 00:27:54 -03:00