Commit Graph

60 Commits

Author SHA1 Message Date
Matt Atlas
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
Werner
aa4ffc8959 DB Enhancement (#9155) 2020-07-25 23:28:31 +02:00
Werner
cb4a712851 Enforces Lineendings and adds Editorconfig (#7657) 2019-12-21 16:19:24 +01:00
Matt Atlas
decc0b14a7 Preparation for 513 (#7677)
* Preparation for 513

* lentext replacement
2019-12-18 08:10:16 +01:00
Erki
9535f738ad Port TG's stickyban panel (#6806) 2019-08-01 10:37:23 +03:00
Mykhailo Bykhovtsev
81e7f29878 Reworking Bot API and optimizing for loops in admin code (#6355) 2019-05-01 14:14:26 +02:00
LordFowl
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
Erki
989ec01db3 Fixes (#5870) 2018-12-31 03:55:31 +01:00
Erki
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
Ron
0d0117dcff Fixes some runtimes (#3727) 2017-10-22 02:37:44 +03:00
skull132
3736a934bc Fix SQL 2017-07-20 21:49:03 +03:00
Erki Meinberg
f541c68cc0 Saner mirrors (#3119) 2017-07-20 20:46:25 +03:00
skull132
d55a9bc42a things 2017-07-16 01:34:49 +03:00
skull132
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
skull132
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
skull132
70fde622b4 Fix AI eye falling 2017-05-28 02:48:09 +03:00
skull132
7039840323 Implements IPIntel, Panic Bunker, and custom access control (#2436)
What it says on the tin.

IPIntel and BYOND account age relating panic bunker settings from TG. Also implements methods for potentially tagging VM users. Ontop of all of this, creates a spiffy UI for admins with R_SERVER to adjust the settings of the entire suite at runtime.
2017-05-26 13:26:58 +03:00
skull132
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
Ron
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
0f3d8c083e Fix malicious/bad JS exploits 2017-04-01 16:57:56 +03:00
skull132
41b616baca Merge branch 'master' into development
# Conflicts:
#	code/modules/mob/living/simple_animal/simple_animal.dm
#	html/changelogs/.all_changelog.yml
2017-01-07 13:55:12 +02:00
skull132
87e041aa75 Merge remote-tracking branch 'bay12-upstream/master' into development 2016-10-07 00:58:39 +03:00
skull132
3663ddcfed Welcome Screen (#535)
The idea is to consolidate all of the spam that you see on the lower right panel into one concrete, semi-persistent pop-up window. Utilizing bootstrap, it'll show you a neat welcome screen, the message of the day, staff memos (if accessible), and a personalized set of notifications. The system is set up for easy future expansion, as well.
2016-07-11 16:48:58 +03:00
skull132
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
d136181f8c Ban Mirroring - Hotfix
Bad prepared statement execution fixed.
2016-05-18 21:57:53 +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
d0a229c899 Fixing handle_ban_mirroring()
It was supposed to pass a list into the Execute() proc, but wasn't.
2016-02-07 16:46:28 +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
errorage
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