Requires https://github.com/Aurorastation/Web-Interface/pull/136 be
merged.
Allows users to authenticate themselves using only the forum. It will
generate a custom ckey for these users in the form of
`GuestF-[ckey(forum-nickname)]`. This will be saved into the database
and will act as a normal ckey from thereon out. These ckeys will be
marked in the player table, to allow for later filtering.
This will also modify the config parameter external_auth to be an enum
of 3 values.
Open questions: can we do automatic linking from purely the game side?
Since upon creation of the custom ckey, it should also be linked back to
the forums.
---------
Co-authored-by: Erki <erki@skullnet.me>
!!! Please merge AFTER #20723 for migrate version (this PR is set up to
seamlessly be merged after that PR) !!!
Adds a new option to character preferences determining whether a shell
is a hidden shell or not. Right now this is a Yes/No toggle that solely
makes records display as "Human" instead of "Shell Frame".
The previous iteration of this was icky.

I hope this is better.
My rationale for this is twofold:
Right now, you can only play a hidden shell "correctly" if you're
untagged. Firstly, this isn't explained anywhere, so people might miss
this by playing a tagged shell that's playing human. Someone might do
this because a tag can be a potent story tool, especially for specific
brands or lines of shells. Imagine tag scanning a runaway you've found
and getting presented with `HLTD-S07U24`, suddenly you get a huge amount
of storytelling there that wouldn't be present without the tag. <sub>any
similarities to persons living or dead is purely coincidental.</sub>
Secondly, it also means you can't play a shell who doesn't try and hide
it, but also has no tag, because that'll automatically show as human,
which is problematic in many ways.
Also, I moved the "species" field in records to the top with the rest of
the public info, and took it out of employement records, because
security and medical would definitely also get that info, logically
speaking.
In the future (with lore team approval) i would like to enable certain
human citizenships for shells with this preference enabled (likely just
Sol, but i mean if lore team wants we can get wacky with Dominia too),
but that's out of scope for this PR.
**NOTE TO SYSADMINS: See "SQL Details" section below for information on
SQL modifications.**
Moves the data containing cargo items (i.e. the ones you order from ops
and get in the cargo shuttle) from the online database to the codebase.
Everything from suppliers to categories to individual items is now
code-side and editable by developers/contributors.
Refactors cargo items to use `singletons` instead of `datums` for
`cargo_supplier`, `cargo_category`, and `cargo_item`. Multiple-instnace
things like cargo_orders, etc. still use `datums`.
Fixed a bunch of strange discrepancies in categories, suppliers, and
pricing for various cargo items. I did a little bit, but it's exhausting
to go through all of it right now.
Clicking the 'Details' button on the Cargo Order app now actually gives
you details instead of bluescreening. Also added some UI elements to the
Cargo Order app - Cargo Control and Delivery remain untouched.
Overhauled the Cargo Order console TGUI window. It now has tabs on the
left, displays restricted access, supplier information, and boasts
search functionality.
### SQL Details
<details>
<summary>SQL Details [Click to Expand]</summary>
The following SQL tables should be deleted or deprecated from the server
database, as they are no longer in use:
- `ss13_cargo_items`
- `ss13_cargo_categories`
- `ss13_cargo_suppliers`
The included migration file, `V011__codeside_cargo`, creates a new table
`ss13_cargo_item_orderlog` to the DB. This **replaces**
`ss13_cargo_orderlog_items`. Because of this,
`ss13_cargo_orderlog_items` is deprecated and should either be deleted
or locked & preserved for logging purposes.
</details>
## Screenshots





---------
Signed-off-by: naut <55491249+nauticall@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
* Fixes SQL Death Tracking again
Removes the foreign key constraint from the ckeys.
-> Ckeys can have different values i.e. when someone dies while aghosted the ckey becomes @ckey
Ensurs that the char_id is set to null and not 0 -> To make sure the foreign key constraint there actually works
* Simpler changelog
---------
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
* Connection Logging Overhaul
Changes how/where the connections are logged to the database
* Add logging of admin bypass connections
* Rebase to latest master
---------
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
* Death Stats Fix
Changes how the coordinates for the death stats are stored.
-> One column for x,y,z instead of all mashed into one column
* Add missing GLOB
* convert indentation
* Rebase to latest master
* Adds the attackers char id aswell.
* Slight reformatting and add constraint
* Fix indentation
* Adds another check
---------
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
* Updates Loadout Backend
Updates the loadout backend to store gear data in a separate table.
This might enable us to increase the number of loadout points available
* Bump MariaDB Version to 10.11
* Update editorconfig for SQL
* Fix update_character_gear
* tgui_alert and TOPIC_NOACTION
* Fix missing sur
* Actually, its user
* Adds a CHECK_TICK, just in case
---------
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
The suit sensors pr used INT as datatype to store text -> That didnt work for obvious reasons.
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
* i alone am the honoured one
* THROUGHOUT HEAVEN AND EARTH I ALONE AM THE HONOURED ONE
* hollow point
* nanana
* ssss
* tgsay final touches
* stuff
* tgui inputs
* help
* carpal tunnel syndrome
* ffff
* again and again and again and again
* hehehehe
* dsada
* readd sanitize
* whoops
* dsad
* nah fuck that
* sd
* fix
* ow
* remove prefs for testmerging
* oops
* oops 2
* fix that
* f
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
* Condense Database Migrations
Condenses the Database Migrations into a new initial schema.
Also adds some instructions to the Database Readme for existing setups.
* Update readme/delete changed migrations since pr creation
* Reworks a bit how the previous migrations are handled and updates the instructions accordingly
* Expand the readme with baseline/migrate
---------
Co-authored-by: Werner <Arrow768@users.noreply.github.com>