Ban database refactor (#42495)
* Ban DB refactor seems to work at a basic level for PostgreSQL
* New ban creation API
Supports all the new functionality (multiple players/addresses/hwids/roles/rounds per ban).
* Make the migration irreversible
* Re-implement ban notifications
The server ID check is no longer done as admins may want to place bans spanning multiple rounds irrelevant of the source server.
* Fix some split query warnings
* Implement migration on SQLite
* More comments
* Remove required from ban reason
SS14.Admin changes would like this
* More missing AsSplitQuery() calls
* Fix missing ban type filter
* Fix old CreateServerBan API with permanent time
* Fix department and role ban commands with permanent time
* Re-add banhits navigation property
Dropped this on accident, SS14.Admin needs it.
* More ban API fixes.
* Don't fetch ban exemption info for role bans
Not relevant, reduces query performance
* Regenerate migrations
* Fix adminnotes command for players that never connected
Would blow up handling null player records. Not a new bug introduced by the refactor, but I ran into it.
* Great shame... I accidentally committed submodule update...
* Update GDPR scripts
* Fix sandbox violation
* Fix bans with duplicate info causing DB exceptions
Most notably happened with role bans, as multiple departments may include the same role.
* Prometheus exporter for github repo stats
I want more grafana charts
Already deployed on moon, this is just so other codebases can use it if they want.
* Add docs and issue/PR priorities
* Sure add merge conflicts too
Replace all usages of /bin/bash with /usr/bin/env
/usr/bin/env is nearly guaranteed to always exist at that location, which can't be said about /bin/bash and /bin/sh.
Co-authored-by: opl <4833621+opl@users.noreply.github.com>
* Add ratelimit retry to discord changelog bot and continue publish changelog error.
oops we missed some changelogs cause of this... this should prevent anything funny
* Update actions_changelogs_since_last_run.py
This uses multiple API requests to directly send the publish to the CDN server, no more GitHub artifacts.
Faster, less moving parts.
Needs Robust.Cdn 2.2.0
* Update Displacement Map Visualizer.lua
* Add files via upload
* Fix background layer being offset
This was caused by not taking the cel's own bounds into account.
Aseprite doesn't make an image layer "full size" if it only covers a
small part of the sprite.
---------
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Requires https://github.com/space-wizards/RobustToolbox/pull/5023
This uses the new engine features (above) to add a displacement map shader. This allows deforming a sprite based on another sprite.
Primary use case is automatically adapting human clothing sprites to different species, something we want to make species like Vox a reality.
A basic example of wiring this up with Vox has been added. The system is however incredibly simple and **will** need more work by a content developer to select and toggle displacement maps when appropriate. I am leaving that to somebody else. For example right now the displacement map is applied even if a species already has custom-fit sprites for a piece of clothing, such as the grey jumpsuit for Vox.
Basic Aseprite plugins to help with authoring displacement maps have also been made.
* Check for CRLF in actions workflow
Make emisse weep
* Copy paste bottom text
* I would like to thank StackOverflow for this spite PR.
* Mention file name in message because the workflow tab doesn't display it.
* dos2unix everything