56 Commits
Author SHA1 Message Date
bd418cfd8d 516: fixes tgui-say, chat flickering and chat crashing on export (#20667)
title

chat crashing on export fixed by
https://github.com/VOREStation/VOREStation/pull/16713, chat flickering
is fixed by https://github.com/VOREStation/VOREStation/pull/16734, tgui
say is https://github.com/Monkestation/Monkestation2.0/pull/2116

also cleaned up some more html uis without skeletons 👻

---------

Co-authored-by: harryob <55142896+harryob@users.noreply.github.com>
2025-03-27 11:17:00 +00:00
FluffyandGitHub 3185c10cf1 516 internal links (#20428)
Convert all (appropriate) links to use the required `byond://` for 516

Added a grep to detect incompatible ones
2025-02-20 22:54:10 +00:00
FluffyandGitHub 1ba0b35838 New opendream pragmas (#20260)
Enabled new opendream pragmas
Fixed some runtime access check operators (`:`) around the codebase (not
all, some are unfixable as they're used in macros)

No player facing changes (hopefully)
2024-12-29 11:12:09 +00:00
FluffyandGitHub 0ae0b10764 Refactored all the backslash ref and ref() calls to use REF() instead (#19847)
Refactored all the backslash ref and ref() calls to use REF() instead.
Added a linting for raw ref proc calls.
2024-09-13 10:17:32 +00:00
FluffyandGitHub 3dc4cce9c2 Minor span refactoring (#19177)
Minor span refactoring
2024-05-19 16:37:29 +00:00
FluffyandGitHub 25dc248979 Updated statpanel and added client pings (#18337)
* SSatlas.current_map

* hardsuit spell tab appears to clear correctly

* sdfsa

* from the moment i understood the weakness of my flesh, it disgusted me

* sdf
2024-02-08 12:29:42 +00:00
cadd19beac Ports the TG globals controller and converts globals. (#18057)
* SDQL2 update

* fix that verb

* cl

* fix that

* toworld

* this is pointless

* update info

* siiiiick..

* vv edit update

* fix that

* fix editing vars

* fix VV

* Port the /TG/ globals controller.

* part 1

* part 2

* oops

* part 3

* Hollow Purple

* sadas

* bsbsdb

* muda na agaki ta

* ids 1-15

* 16-31

* 41-75

* bring me back to how things used to be before i lost it all

* the strength of mayhem

* final touches

* cl

* protect some vars

* update sdql2 to use glob

* stuff?

* forgot that is not defined there

* whoops

* observ

* but it never gets better

* a

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-12-26 01:16:02 +00:00
WildkinsandGitHub a07700f8a6 Fix runtime errors while running without a connected database (#11473) 2021-03-19 22:08:00 +01:00
Matt AtlasandGitHub d4666caaac Ports Goonchat from Baystation. (#9635)
changes:

    rscadd: "Ported a new chat system, Goonchat, that allows for cool things like changing font style, size, spacing, highlighting up to 5 strings in the chat, and DARK MODE."
    rscadd: "Repeated chat messages can now get compacted. You can disable this in goonchat settings."
    rscadd: "You can change icon style to any font on your system."
    tweak: "The game window has been altered a bit to adjust for this."
    rscdel: "Removed skin style prefs as they are no longer used."
2020-09-24 23:06:04 +03:00
WernerandGitHub aa4ffc8959 DB Enhancement (#9155) 2020-07-25 23:28:31 +02:00
WernerandGitHub cb4a712851 Enforces Lineendings and adds Editorconfig (#7657) 2019-12-21 16:19:24 +01:00
Matt AtlasandWerner decc0b14a7 Preparation for 513 (#7677)
* Preparation for 513

* lentext replacement
2019-12-18 08:10:16 +01:00
Mykhailo BykhovtsevandWerner 81e7f29878 Reworking Bot API and optimizing for loops in admin code (#6355) 2019-05-01 14:14:26 +02:00
LordFowlandErki 8d436c4a03 Converts all necessary << outputs into the to_chat() macro. (#6076)
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;

All << is converted into to_chat().
2019-03-10 23:39:03 +02:00
ErkiandWerner 97c1343189 Deletable mirrors and indexing for faster searching (#4026)
Makes individual mirrors deletable as per admin request.
Adds indexes for queries in isbanned() to make them roll faster.
2017-12-31 14:28:00 +01:00
Erki MeinbergandGitHub f541c68cc0 Saner mirrors (#3119) 2017-07-20 20:46:25 +03:00
skull132andGitHub e4423761ef Admin & Staff adjustments (#2529)
Features:

 Removal of BOREALIS (python module) as it's not used.
 Removes ToR ban feature in lieu of IPIntel.
 New BOREALIS config to alert staff if server starts as hidden.
 Adminhelps now inform admins on discord if dibsed (when they were sent to discord anyways).
 Adds hub visibility to the server access control panel.
 Adds mirror ban spotting via ban panel. It now redirects to the linked ban if one is found.
 CCIAA now get alerted as to how many of them are online and active when receiving faxes and emergency messages via Discord.
 Removed unused C/C++ libraries. The socket_talk module is a generic UDP shipper, of which Arrow implemented a better version. lib nudge is not even compiled for use. lib_nudge module is uncompiled and no longer used, as we use cURL for the bot.
 Removed depracted APIs and config settings related to the previous point.
 Whitelisted jobs now appear properly in the job selection window as [WHITELISTED].
 Job ban reasons can now be viewed from player preferences window.
 Await admin approval for final CCIAA requests and implement. RIP CCIAA.
 Fix age bans for jobs and antags (dynamic ones, ofc).
 Implement https://forums.aurorastation.org/viewtopic.php?f=18&t=8283
2017-06-13 01:37:44 +03:00
skull132andGitHub a3ec0cf45d Better SQL prepared statements (#2474)
The system used to be of complexity O(n^2). Essentially two for loops running per every argument. Which ended up being surprisingly slow (there were instances where I saw the argument parser as using quite a lot of CPU time).

This replaces it with a more linear algorithm. It's somewhere near O(n) where n is the length of the unparsed query. Which is more stable and faaaster. This comes with two changes, however:

Parameters inside the query now have to be delimited from both sides with : (colons). The alternative to this would be to use something like $n or just assume that space marks the end of a marker. Only the former is workable, the latter would break a few queries already.
Arguments in the argument array no longer have to be prefixed by : (colons). So, while in the query you would write :thing:, you'd initialize the array of args as: list("thing" = somevar). It could be made to work without it, but eh, I think this is fine.
Argument validation is slightly weaker. What I mean by this is that with the old system, unused keys would result in an error. This is no longer a thing. Missing keys will still result in an error, however.
One more improvement: double delimiting removes an edge case where if key A partially covers key B, depending on the order, key A would mangle key B.
Updated and tested all queries that I could find. So this should be good.
2017-05-29 21:17:41 +03:00
skull132andGitHub 8cca057344 Feature - Rewriting jobbans! (#2114)
Current jobban system:

Jobbans stored as plain text and require a for loop to go through and search for specific ones.
Fiddly as shit, because, again, stored as plain text and not quickly break-up-able.
butts
No temporary jobbans on the old file system.
No centralized API to handle jobbanning. Jobbans have to be ran through separate procs in case of the MySQL system being used.
New jobban system:

Associated lists to store bans. This allows key based accessing and validation of a ban. Much faster than for-looping twice to compare text.
Associated lists saved to the ban file. Pretty good stuff that this works.
Temporary jobbans for file system. Bans which are expired are removed right as they're checked.
Binding of the MySQL procs with the old jobban API. More centralized design. (Less, "Oh god, I forgot to save this to the DB!")
Instant effect on unbans. As opposed to waiting 1 round for it to take effect.
Removal of dormant code.
2017-05-24 20:46:07 +03:00
Ronandskull132 790480c8da Removes all \red and \blue's (#2309)
Removes all \red's and \blues in favor of span classes. \red things that were bold were replaced with danger because it's warning but bold.
2017-05-21 12:07:57 +03:00
skull132 87e041aa75 Merge remote-tracking branch 'bay12-upstream/master' into development 2016-10-07 00:58:39 +03:00
skull132andGitHub f60d46f2ba Unban Reason When Lifting Bans (#446)
Unbanning staff will now be prompted to enter a reason for lifting the ban. The log of a ban being lifted will now also be entered into the player's notes.
2016-06-24 16:29:11 +03:00
skull132 92847d06b3 Ban System Update - better mirroring
Mirrors have been updated to actually fetch the active mirror, as opposed to using an old mirror and referencing that, and then letting the banned individual through.

You can also now view the mirrors for a ban.

Also denies entry for people who for _some_ reason lack a computer ID or an IP address. The former can be done by using a specific wsock32.dll in your BYOND bin to bypass bans.
2016-05-01 13:47:33 +03:00
skull132 5d66916a45 Banning Update
Fetches a CID and IP automatically, if none are entered.
2016-04-30 15:02:11 +03:00
skull132 8383f1c03b Generalizing establish_db_connection() and setup_database_connection()
Both procs are now generalized, and accept a DBConnection object as an argument. Due to this generalization, all instances of `establish_db_connection()` must be renamed to `establish_db_connection(dbcon)`.
Also added variable `failed_connections` to the definition of DBConnection.
2016-03-04 00:53:37 +02:00
skull132 fc6221eeee Mirroring Bans
No more "New ban for every attempted dodge." Mirrored bans are linked to an associative table, and then checked against the referenced original ban. Cuts down on the amount of clutter that exists.
2016-02-06 18:17:55 +02:00
skull132 fcd393ee94 Merge pull request #33 from skull132/SQL-backend-import
Sql backend import
2016-02-01 16:11:10 +02:00
skull132 179431115b Merge remote-tracking branch 'Aurorastation/development' into SQL-backend-import
# Conflicts:
#	code/modules/admin/admin.dm
#	code/modules/admin/admin_verbs.dm

All conflicts cleared. Wind funciton needs a quick redo as a result.
2016-02-01 16:00:54 +02:00
Ryan784 5f655dbbdb Vampire Gamemode Developement Test
The Vampire gamemode, as ported right now. The gamemode is in, as well
as creating a vampire through the traitor panel. All abilities seem to
function, unable to test enthrall however (though I have a feeling it
will have to be redone). Enthralling someone without a CKey will give
you the correct response, however.

Any abilities having to do with lums will need to be redone. Vamphud as
well.

If looking over this and pointing out errors/fixing is faster than
simply porting it yourself, then feel free to do so!
2016-01-20 22:14:21 -05:00
skull132 c7ae4df416 dbcon_old removal, table prefixing
Prefixes the tables properly with ss13_, and removes active references to dbcon_old and related procs.
2016-01-13 15:59:36 +02:00
PsiOmega 709840f848 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/modules/admin/DB ban/functions.dm
2015-09-26 08:48:37 +02:00
GinjaNinja32 9be47c6374 Permabans do not expire, and we don't need to show expired when it's been manually lifted 2015-09-23 13:03:11 +01:00
GinjaNinja32 c707519d1f Add specific color for expired bans in ban panel, fix some formatting and a runtime 2015-09-23 12:58:39 +01:00
PsiOmegaDelta 0ba7643217 Updates files as necessary to adhere to the new standard. 2015-07-27 09:32:51 +02:00
Zuhayr 5e1ae26b74 Comment cleanup, adds TODOs for a bunch of minor things that the antag system may need to address before the end of freeze. 2015-07-14 05:19:01 +09:30
volas 5fee41d4ba sanitize() refactor: third pass (misc) 2015-03-25 01:05:21 +03:00
volas a9b30da7cc Small correction 2015-03-09 16:53:08 +03:00
volas ca07914424 Ability to search bans by bantype 2015-03-09 15:15:08 +03:00
volas 59a113f91c Ability to search bans by ip and id, and also matches 2015-03-09 15:12:51 +03:00
errorageandvolas 64d6012399 Added the ability to define the ip and computer id for a manual ban (in the banning panel). This is so mirroring bans or banning people who were not online during the round in progress does not require admins to spawn a mob, set their variables and then ban the mob.
If however an admin attempts to add a manual ban for a player who was present during the current round, a player who still has a mob somewhere in the game world, the proc will prioritize the mob's ip and computer id variables, not the things entered in the banning panel form.
2015-03-09 15:08:47 +03:00
DJSnapshot c20c84b328 Dun goofed 2013-11-04 13:10:33 -08:00
DJSnapshot 15a2bcc54f Fix so bans can work again. 2013-11-04 13:07:03 -08:00
baloh.matevz@gmail.com fa84ba9611 - Added a small bit to the SQL statement so I can update the database structure later on, without it breaking the ban system until it updates.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5517 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-11 13:54:11 +00:00
baloh.matevz 9455347fa5 - You can now ban guest accounts.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5438 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-31 19:27:09 +00:00
baloh.matevz 92a2749fb7 Fixes issue 1111. Makes it possible to apply a manual job ban (via the form in the banning panel) for AI, cyborg, pAI and antagonist roles.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5387 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-23 23:56:08 +00:00
baloh.matevz b55042e64b - Added temporary jobbans.
Screenshot: http://www.ss13.eu/tempjobban.PNG

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5381 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-23 12:20:11 +00:00
elly1989@rocketmail.com 0d2898a023 Remove some unneeded error messages from DB_ban (they're built into check_rights()
Made paths to sounds in robot/emote.dm more specific so the game doesn't have to find the files itself.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5039 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-11 12:09:43 +00:00
baloh.matevz 5182bb69ae - Added +BAN permission checks to DB_Ban
- Uncommented a piece of code in IsBanned() that was only commented for testing purposes. Admins now once again ignore any bans to their name, except for daemon bans.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5036 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-11 07:32:13 +00:00
baloh.matevz 2f57200e82 - Fixes the broken population logging
- The current, file-based ban system is now a legacy system, the use of which is strongly discouraged for servers, which are constantly online.
- Added a database-based banning system, with a new baning panel, accessible through the 'banning panel' verb. Servers, which use this new banning system, will get the new panel up even if they use the old 'unban panel' or 'display job bans' verbs. These remain there for legacy support purposes. (Panel screenshot below)
- The most notable benefits of the new system are the ability to add offline bans, meaning the person does not have to be connected for a ban to be applied to their name. The second benefit is the ability to look up all previous bans that the person had.
- The major disadvantage is the complete incompatibility between the old and new system, meaning you have to either do a lot of copy-pasting or playing around in code to sync the old system with the new one. Servers upgrading to this system might want to consider a purge of all bans, if they don't want to go through this. Due to the incompatibility, there are no transition tools provided. Please contact me (errorage/rageroro) in #coderbus for help in syncing your database. The /tg/ legacy and database systems have been synced.
- The server configuration defaults to use the legacy system, as the new one requires the database to be set up. Please hash BAN_LEGACY_SYSTEM in config.txt as explained, to use the new system. If the database connection fails, the server reverts to the legacy system.

If any bugs or errors appear with either the legacy or new ban system, please let me know ASAP. The same applies if there are any syncronization problems between the legacy and new system, resulting in banned people unbanned or unbanned people banned.

Panel screenshot:
http://www.kamletos.si/new%20ban%20panel2.PNG

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5034 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-11 05:39:09 +00:00
baloh.matevz abad9978b2 - Fixed the revision number not showing properly. Hopefully it's fixed for good this time, as it works off of logic, instead of line numbers.
- Standardized the database library code
- Deleted a few unused database related files (karma and forum activation), so they won't get in my way later. They work off of no longer existent database tables.
- Made it so the server maintains a constant connection with the database, which is established on world/New() and never broken, until the server ends. If 5 consecutive database connection attempts result in no connection getting established, the server will not attempt any more connections. Made all existing database connections use the global continuous connections. Currently we need two, as we have two databases, but the old database is going to get moved into the new one.
- Fixed the spaghetti-like report in the permissions panel, which happened when someone had many permissions enabled.
- Added database connection reports to display to dream daemon on server startup.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5015 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-06 17:21:13 +00:00