Commit Graph

104 Commits

Author SHA1 Message Date
AffectedArc07
bede78aeff Removes table prefixes 2021-07-26 17:21:24 +01:00
SabreML
63412043ee Fixes an SQL error from maximum name length (#16305)
* Reduces maximum name length

* Revert "Reduces maximum name length"

This reverts commit 7d0fe75c54.

* why were these in _compile_options.dm

* SQL Stuff
2021-07-25 15:51:47 +01:00
AffectedArc07
8e6787a791 2FA for server login (#16094)
* AA2FA

* Its always dbconfig

* Extra security

* oops
2021-05-30 12:19:56 -04:00
AffectedArc07
3f56546291 Converts MyISAM tables to InnoDB 2021-03-18 14:26:49 +00:00
AffectedArc07
fd79e342a8 Fixes rank being a reserved SQL keyword (#15661) 2021-03-04 11:50:36 -07:00
dearmochi
3c87d9a396 Adds the Volume Mixer to adjust individual channel volumes (#15507)
* Adds the Volume Mixer

* Address AA

* LF -> CRLF

* Puts thunderdome.ogg on CHANNEL_ADMIN

* Update interface name
2021-02-25 22:30:19 +00:00
AffectedArc07
adb9b58f8e Updates some admin stuff (#15297)
* Fixes camera view

* Unique CID tracking notes

* Ban tracking

* Note round IDs

* Karma viewing

* Minor tweak

* Manual ban job bans

* More tweaks

* Farie tweaks

* Connection result field

* Orange watchlist names

* Autopopulate tickbox
2021-01-16 16:38:45 -05:00
AffectedArc07
8f72d7556e Annihilates the blackbox (#15132)
* Lets get this show on the road

* Now were talking

* These matter

* Oh the joys of CI testing

* And this

* Wrong version

* Tweaks

* More tweaks

* Lets document this

* This too

* Upgrades this

* Fixed some sanity issues

* This too

* Screw it, this too

* More sanity

* And these

* This too

* Documentation

* This too

* Fixes **awful** scoreboard logic

* Why do we care about only half-absorbing someone

* Revert "Why do we care about only half-absorbing someone"

This reverts commit 8de1cfdf05.

* Refactors these

* Hashing

* Moxian tweaks
2020-12-24 16:06:48 -05:00
AffectedArc07
2bad70717c Async SQL + SSdbcore (#15007)
* Initial Commit - Async SQL

* First batch of queries

* More progress

* Nukes DB Polls

* More work

* oops

* One push

* Notes work now

* Ok these work

* Watchlist done

* Async Bans!

* Async Permissions

* Async client procs

* I officially hate preference datums

* Also these

* Async Custom Items

* Async Karma

* Async Library

* Async TOS

* Cleans out the old SQL code

* CI Sanity

* Apparently MySQL doesnt support this

* What about this

* Maybe this

* Review pass 1

* This too

* Fixes job ban loading

* Fix undeleted queries

* Prevents sensitive queries being logged

* Documentation + tweaks

* Adds a verb to force reconnect the DB

* More review tweaks

* Farie tweaks

* Fixes this
2020-12-16 15:46:25 -05:00
Kyep
eec4db158b re-add byond_date 2020-10-25 02:29:12 -07:00
Kyep
f78f9eeeb1 sync table admin 2020-10-24 21:36:14 -07:00
Kyep
e7dd02bdce sync table characters 2020-10-24 21:29:22 -07:00
Kyep
19ad30227c sync tables ban, admin_log 2020-10-24 21:15:34 -07:00
Kyep
1e6badbd4a squash 2020-10-24 20:52:35 -07:00
Kyep
48061638d8 refactor 2020-10-24 20:42:14 -07:00
Kyep
d668f89e8f sync donators 2020-10-24 20:28:27 -07:00
Kyep
83974e146d sync tables whitelist, watch, library, player 2020-10-24 18:13:41 -07:00
Kyep
9b5f469ac3 sync karmatotals table 2020-10-24 16:38:52 -07:00
Kyep
c7e6906140 sync whitelist table 2020-10-24 16:19:18 -07:00
Kyep
b4f5b741d9 add existing indexes to schema 2020-10-24 14:51:21 -07:00
Kyep
48fb0b17f3 AA requests 2020-10-23 15:05:53 -07:00
Kyep
9dfddff0ea AA requested byond_date col for player table 2020-10-23 02:19:55 -07:00
Kyep
b08d5ed03d Database indexing & table cleanup 2020-10-20 13:20:17 -07:00
AffectedArc07
a50f656d8d Game Preferences Update (#13936) 2020-10-09 14:53:59 -04:00
AffectedArc07
7ea6f190c5 Changelog Overhaul (#13051)
* Changelog Overhaul

* SQL Update

* This is why I hate merge conflicts

* Comment Correction

* Farie Fixes + Tested with blank DB

* Colours + Titles

* Colour tweaks

* I fell victim to my own CI Chains!

* Cleans up the remains of the old changelogs

* Fixes formatting

* Kyet Changes

* Date
2020-05-18 01:34:28 -06:00
Kyep
42d88394e2 DB update for utf8 2020-01-29 20:51:19 -08:00
Kyep
91a63e97a7 Add: notes are now recorded with player's playtime, for comparison 2019-12-16 17:20:07 -08:00
Kyep
a4e6dba738 fixes connection logging to DB not working 2019-12-16 15:55:04 -08:00
Kyep
7acb902388 SQL update: track playtime per player per day for stats 2019-12-15 16:48:16 -08:00
AffectedArc07
bdc4bba6ac Add back parallax SQL changes 2019-08-14 17:53:15 -07:00
Mark van Alphen
5e70eeddc8 Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into sqlfix
# Conflicts:
#	SQL/paradise_schema.sql
#	SQL/paradise_schema_prefixed.sql
2019-07-20 18:49:03 +02:00
farie82
4cfe0c8152 Merge branch 'master' into AFK-subsystem 2019-07-12 16:42:02 +02:00
Couls
362566222c SQL changes 2019-07-11 17:02:52 -04:00
joep van der velden
6ea5b7c1a6 SQL definitions added. Small fixes 2019-06-23 19:46:01 +02:00
Mark van Alphen
f064403375 Fix SQL files 2019-06-06 16:58:09 +02:00
Couls
5979166f54 Merge remote-tracking branch 'upstream/master' into diagonal-movement 2019-06-02 21:59:58 -04:00
Kyep
eaeea7ce2f adds forum link, removes boxen discord table 2019-05-29 14:56:28 -07:00
Kyep
f4de59a4f8 adds whitelist functionality 2019-05-10 09:54:20 -07:00
Kyep
4561ee94f8 WIP ports XKeyScore from TG 2019-04-22 16:53:20 -07:00
AffectedArc07
3b75eaaba3 Adds a round notify system 2019-01-26 21:23:10 +00:00
Kyep
412341439a Fixes #8954 - splits 'attack log' preference, spam-be-gone (#8992)
* Fixes #8954

* projectile reagetns

* removes all attack logs on keyless simple_animals even by keyed mobs

* deletes 'potentially'

* Tiger request

* more comprehensive solution

* check for mob

* istype

* brevity

* Split attack logs preference

* toggle

* deletes old CHAT_ATTACKLOGS

* explains what levels do when toggling them

* clarification

* Tigercat requests
2018-06-13 16:55:21 -07:00
Alffd
e00c98fdde Space saving 2018-05-25 14:05:05 -04:00
Alffd
ef1b44b955 Terms of service click through. 2018-05-25 03:40:16 -04:00
uraniummeltdown
5b53582f0e adds var/client/parent to /datum/preferences
allows users to change client fps with a preference
2018-01-24 20:44:10 +05:00
KasparoVy
b31f38796a Schema Changes
Replaces the old RGB columns with hexcolour columns.

The required SQL query to change the current database is this:

ALTER TABLE `characters`
	ADD `hair_colour` varchar(7) NOT NULL AFTER `language`,
	ADD `secondary_hair_colour` varchar(7) NOT NULL AFTER `hair_blue`,
	ADD `facial_hair_colour` varchar(7) NOT NULL AFTER `secondary_hair_blue`,
	ADD `secondary_facial_hair_colour` varchar(7) NOT NULL AFTER `facial_blue`,
	ADD `skin_colour` varchar(7) NOT NULL AFTER `skin_tone`,
	ADD `head_accessory_colour` varchar(7) NOT NULL AFTER `marking_colours`,
	ADD `eye_colour` varchar(7) NOT NULL AFTER `alt_head_name`;

UPDATE `characters`
	SET `hair_colour` = CONCAT("#", LPAD(HEX(`hair_red`), 2,'0'), LPAD(HEX(`hair_green`), 2,'0'), LPAD(HEX(`hair_blue`), 2,'0')),
	`secondary_hair_colour` = CONCAT("#", LPAD(HEX(`secondary_hair_red`), 2,'0'), LPAD(HEX(`secondary_hair_green`), 2,'0'), LPAD(HEX(`secondary_hair_blue`), 2,'0')),
	`facial_hair_colour` = CONCAT("#", LPAD(HEX(`facial_red`), 2,'0'), LPAD(HEX(`facial_green`), 2,'0'), LPAD(HEX(`facial_blue`), 2,'0')),
	`secondary_facial_hair_colour` = CONCAT("#", LPAD(HEX(`secondary_facial_red`), 2,'0'), LPAD(HEX(`secondary_facial_green`), 2,'0'), LPAD(HEX(`secondary_facial_blue`), 2,'0')),
	`skin_colour` = CONCAT("#", LPAD(HEX(`skin_red`), 2,'0'), LPAD(HEX(`skin_green`), 2,'0'), LPAD(HEX(`skin_blue`), 2,'0')),
	`head_accessory_colour` = CONCAT("#", LPAD(HEX(`head_accessory_red`), 2,'0'), LPAD(HEX(`head_accessory_green`), 2,'0'), LPAD(HEX(`head_accessory_blue`), 2,'0')),
	`eye_colour` = CONCAT("#", LPAD(HEX(`eyes_red`), 2,'0'), LPAD(HEX(`eyes_green`), 2,'0'), LPAD(HEX(`eyes_blue`), 2,'0'));

ALTER TABLE `characters`
	DROP `hair_red`, DROP `hair_green`, DROP `hair_blue`,
	DROP `secondary_hair_red`, DROP `secondary_hair_green`, DROP `secondary_hair_blue`,
	DROP `facial_red`, DROP `facial_green`, DROP `facial_blue`,
	DROP `secondary_facial_red`, DROP `secondary_facial_green`, DROP `secondary_facial_blue`,
	DROP `skin_red`, DROP `skin_green`, DROP `skin_blue`,
	DROP `head_accessory_red`, DROP `head_accessory_green`, DROP `head_accessory_blue`,
	DROP `eyes_red`, DROP `eyes_green`, DROP `eyes_blue`;

The above does the following:
- Adds the new hex colour columns (7 char, 1 for the # and 6 for the number characters)
- Fills the columns with the appropriate hexcolour values calculated by converting the appropriate database RGB entries and concatenating them
	(yes this actually works 100%, tested on local DB with 20 characters all with varying species/designs)
- Drops the old columns afterward
2017-07-22 19:59:58 -04:00
tigercat2000
f0a75a9948 Fix SQL schema for windows 2017-06-05 18:21:18 -07:00
KasparoVy
72b5d11f3c Turns Auto-Accent into a by-character Preference
Required SQL Change:
ALTER TABLE `characters` ADD `autohiss` TINYINT(1) NOT NULL AFTER `gear`;

Ingame changing of auto-accent level is no different.
This peference can be different on each of your characters.
2017-04-01 23:26:46 -04:00
Tigercat2000
14ba6fded6 Ported /tg/'s outfit datums, refactored job controller to support them
Players:
 - The only thing that you should notice is that your backpack options
 have changed. Instead of being "None", "Backpack", "Satchel", and
 "Satchel Alt", there are 6 options:
   - "Grey Backpack": Ensures you always recieve a plain grey backpack.
   - "Grey Satchel": Same as the above, grey, plain, satchel.
   - "Grey Dufflebag": So you don't have to rush the locker room, I
   guess. Just kinda ransacked it from /tg/. Happy to revert it, please
   do not post a five paragraph text wall calling me a shitlord
   powergaming hitler-loving furry.
   - "Leather Satchel": It's a leather satchel. What the hell did you
   think it was?
   - "Department Backpack": Gives you the department's default backpack.
   Grey for most jobs.
   - "Department Satchel": It gives you the department's default
   satchel; A grey satchel if the department doesn't have one.

Coders:
 - The above means this needs a minor SQL change:
   ```
   SQL goes here
   I'll write a query later
   Can't be bothered now
   Kill me please
   ```

 - This is a cleaner method of handling job equipment than
 "M.equip_or_collect" x 1000. Jobs specify a '/datum/outfit' datum,
 which defines all of the things to equip to the user.

 - Minor note: equip_or_collect will no longer ever generate a plastic
 bag. It will instead just drop stuff on the floor if it can't stuff it
 into a mob. If this is even slightly a point of contention, more than
 happy to revert it; It was just requested by Fox.
   - Addendum: This also has the effect of making it so that labcoats
   are just thrown onto the floor if you have a loadout suit. It's not
   really avoidable. Uniforms and suits are equipped before the
   backpack.

 - Changes from /tg/:
   - Changed all of the "H.equip_to_slot_or_del" calls into invoking a
   new "equip_item" proc; This is used to support a new variable called
   "collect_not_del". Job outfits use this, it makes it so that the
   system calls equip_or_collect instead of equip_to_slot_or_del. The
   idea being that job items should never be lost to the void,
   especially because they can conflict with loadout items.

TODO:
 - Retrofit "Equip Mob" verb to use this for all of the non-job options
 - Fully implement head announcements(?)
   - May be best for a second PR that addresses all of the real issues
   with our current job system

( Now go reread that SQL code block :) )
2017-02-17 11:35:45 -08:00
KasparoVy
e281459d8a Fixes Windowflashing Pref not Saving, Changes Query Order to Reflect Schema 2017-02-06 19:23:11 -05:00
KasparoVy
9d30930338 Makes Ghost Anonsay Persistent by Turning it into its own Preference
By turning it into its own preference. The verb stays in the ghost tab, except it now operates by checking client preferences.

Needs
ALTER TABLE `player` ADD `ghost_anonsay` TINYINT(1) NOT NULL DEFAULT '0' AFTER `lastchangelog`;
to add it to the SQL
2017-02-01 02:17:28 -05:00