The sh_punishments.lua config file has been updated. You will have to re-configure it!
The sv_config.lua config file has been updated. You will have to re-configure it!
The Discord Webhook has been updated. Ensure you update it!
If you use the relay hosted for you by me, please update as soon as possible to prevent your webhook breaking!
- Improved the performance of the conversion scripts, conversions that took 120s before now can take less than a few seconds. This is a huge change for servers swapping over.
- SQLite users: An example with 20k rows, before: https://upload.livaco.dev/u/QsCi0yETSU.png After: https://upload.livaco.dev/u/MdL3KfcAuR.png
- MySQL users: An example with 20k rows, before: https://upload.livaco.dev/u/A7R2OJyu1k.png After: https://upload.livaco.dev/u/lUYqiMLGry.png
- While this seems more like a downgrade, one interesting thing is the before hadn't fully inserted all the rows. It seems MySQLoo had sent all the rows to be inserted, but the database hadn't inserted them yet. After about ~5 minutes it was still inserting so the after picture is still very much superior as that was done inserting within that 5 seconds lmao
- Added new developer functions:
- YAWS.API.WarnPlayer allowing 3rd party addons to warn players.
- YAWS.API.IsPlayerImmune to allow you to check if a player should be immune from warning.
- Improved the Players panel by making it an card based display, making it consistent with the rest of the UI. https://upload.livaco.dev/u/rJbnQZow8A.jpg
- Reset any unused vars to nil after use, e.g timing variables for measuring times to do tasks, etc. A small but good thing to do.
- Added a scroll bar to the admin notes text entry, it's not consistent with the rest of them but It's better than having none until I find a way to make it consistent.
- Gave the server console the ability to search for warnings as well as warn players themselves.
- Gave the database checks the same treatment as the conversion scripts with optimisations. Not really necessary, but still nice to be there.
- Moved all the chat/console command logic to be handled by a singular function for consistency.
- Optimised offline player searching a bit
- Added a small safety check for spaces + char counts inside your table prefix/server id.
- Whenever swapping translations, credits for the translator will appear in the console. https://upload.livaco.dev/u/Gb9Az1ElL4.png
- Adjusted dark mode colors to make the UI pop a little more.
- Made it so if the server id in a warning can't find it's name, it simply displays the ID instead of "nil".
- Made the translation system able to select the latest version if the current version of YAWS is not found within the manifest, to save me from having to update it every single update. https://upload.livaco.dev/u/oh27XVseqF.png
- Jazzed up the config file comments.
- Fixed switches only moving into their correct places once they're seen on the panel. The values are now set on PerformLayout.
- Fixed a bug with chat warning, specifically the targeting code using "iope" instead of ipairs. Yep.
- Fixed a default punishment type that wouldn't return true once done.
- Fixed a few old YAWS.Core.Print calls that would break once called.
- Fixed a tiny bug with the report command running an incorrect check.
- Fixed failed SQLite queries not giving error messages.
- Fixed a small visual issue where it was possible to be on page 1/0
- A few small fixes to immunity checks
- Removed the net message cooldown exception from context menu net messages, as the net message system change removes the need for it.
Webhook Changes:
- Change .htacess to not allow directory indexing, something I completely forgot about when making it.
- Rewrote README.txt to be a bit better.
- Added a way for translators to edit their JSON files faster inside YAWS. For more info, check the knowledgebase topic.
- Did a big o'l overhaul of the console logging, so it looks a butt ton nicer now
- Added some changes to the logic of the conversion scripts.
- Went through and did some general cleanup of some of my spaget code
- Fix a small issue where queries weren't trimmed and spacing from my indentation was leaking in. Didn't actually cause any issues, but isn't meant to be there anyways.
- Fix a bug with player searching.
- Fix a bug where the loading screen transition back would fail on the first attempt, but succeed everytime else.
- Fixed warning searching not being fully implemented for the chat command, but was fully done in the console. This also patches an exploit with the old code in it's place.
Over the next few weeks I'll be working on a more performance-based update. I've not stacked them as this one fixes a few core bugs.
If you wanna suggest anything, now's the time. As usual, if you have any issues with this update lemme know. Cheers.
- Added a in-built way to upload debug reports to me without needing to collect all the information yourself. Run yaws_report to send a report including numerous details, to make my life easier. This will be requested in all support tickets from now on. If your after an example, https://api.livaco.dev/yaws_reports/v/f7348745ddf549e6d6345b474f5018ab
- Added the confirmation of conversion to forced warning mod selection too, after I accidently wiped my test server's YAWS data using it. Whoops.
- Added a config value in sv_config that allows you to disable the conversion scripts, for in the case your servers RCON is compromised and someone tries to use it.
- Remove a couple old debug commands.
- Fix an error when displaying the outdated version warning in the YAWS tab.
- Fix an error with viewing warnings without permission to delete them.
The sv_config.lua config file has been updated. You will have to re-configure it!
- Hotfix for an error that would occour when using a preset name thats just a number, alongside preset names that were normal strings.
- This comes with the unfortunate side effect of not having your presets in the UI sorted alphabetically anymore. I tried to work around this, but it seems the code behind SortedPairs is really weird and to be quite frank I'm not sure of a way to not do it like how I have here. Sorry.
- Fix a small issue with messages and lua refreshing.
- Add a check to ensure a reason/points value is there before being able to submit a warning - not an actual serious issue if your worried about this, it just caused a client error nothing else.
It is EXTREMELY recommended to reinstall the entire addon from scratch - Your in-game settings will still work but all file based setting files have been changed or modified. Same goes for all core files you might've modified.
Sorry for this update taking so long to finish for so little shit lol
- Completely revamped translation system. Translations are no longer found in the files (except English) and are now found in https://github.com/LivacoNew/Addon-Translations/tree/master/YAWS - This means translations can be made/updated without an addon updating, meaning less hassle for your devs :) This also means anyone can contribute a translation for YAWS without too much hassle.
- Change the net message rate limit model. Instead of one request then a 0.25 second cooldown, it's now if they make 5 requests in a single second, they get a 3 second cooldown. If you wish to edit these values to make it more strict or lenient, you can do so in the sv_config.lua file, same one that the Database settings is in.
- Added a "API" for developers to hook into. See https://yaws.livaco.dev/ for docs.
- Added an Admin Setting to send a chat message to any admin with the "View Others Warnings" permission when a player with any active points join.
- Added better error messages for async function calls.
- Added the ability to edit punishments and presets.
- Added a version check on startup to check if YAWS is outdated. If it is, it will display a warning in the console.
- Added a setting that allows you to change the full message color, for if your running a white chatbox and need dark text.
- Added a small warning to people converting from SlownLS's warning system about missing player data.
- Made backup drop files lowercase, and moved them into data/yaws_backups for people who don't like clutter.
- Fixed some weird things happening with some user settings. Would love to expand on this but I wrote this change a month ago and now have zero clue what that said weird behaviour was.
- Fixed a DarkRP bug where players with nicknames weren't being updated properly
- Fixed an error with warning a player through chat/console commands
- Fixed a query missing a string escape.
- Fixed an edge case of the context menu causing errors with disconnecting players.
- Fixed the timestamp on copying warning logs being wrong.
- Fixed the on join message being fired before the client had the server's settings, causing the prefix to be wrong.
- Fixed an issue where lua refreshing would cause gamemode specific punishments to break.
- Fonts now update on screen resoluton size changes. Thanks OnScreenSizeChanged!
- Removed all unnessasary surface.GetTextSize calls when there was a draw.SimpleText call right fucking above it.
- Fixed the YAWS.UI.CutoffText lag with some good o'l temparary caching. How can such a small function can cause fps to drop by 10; I have absolutely zero idea, but no one complained about it until I noticed it myself and now it's fixed so whatever.
- Changed the default password for the discord webhook as a better example of the security you should have on it.
- Shit ton more optimisations and fixes I've forgotten about.
- A whole butt ton of UI changes:
- Fixed massive amounst of scaling issues with the UI on non 1920x1080 resolutions, particularly going up. Sorry to everyone that put up with that tiny mess, it's for the most part fixed now hopefully.
- Add icons throughout the UI to improve accessability and visuals. Some of these can be toggled on/off in the user settings.
- Added a option to enable colorblind text guides for improved accessability.
- Added placeholder displays to any listing panels that don't have results. Here's an example: https://upload.livaco.dev/u/gLkXBFjAuf.jpg versus when nothing is found: https://upload.livaco.dev/u/9mqcBMQ6rU.jpg
- Changed the warning viewing to an expandable card based display. You can however swap back to the old table view in the user settings. These cards have more information, and actually display the fucking time!
- The warning page is now pagnated. Before, it would send the past 30 (i think) warnings. Now, you can view all a player's warnings, and just scroll through pages of them instead. This also comes with the benefit of better network performance.
- Added scrolley capabilities to the side tab panels for better expandability.
- Added a YAWS info page to help people get support and find out what version of the addon they're using more easily (This will also warn you if your version is outdated). This tab is only visible to the owner of the addon and no one else, so don't worry that your precious personalisation for your server is lost, people will still think the warning system is just for your server and that your a awesome server owner!! :)
- Categorised the settings in both the Admin Settings and User Settings. They are now part of accordians, with very fancy chevrons that im super fucking proud of ngl :)
- Make a new color picker thats more "sleek" of a layout.
- Permissions tab look a tad better now.
- Added flags to the language selector.
- Finally sorted the punishments tab by points.
- Made it so the presets combo box is disabled when warning a player without presets on a server.
- Made the top of the Players tab a actual panel.
- Punishments list now looks better. More information and stuff.
- Gave presets the same treatment as punishments.
- Made combo boxes look a little nicer.
- Modified some of the icons to be a bit more "uniform" stroke size.
- The warning player popup is now a proper "modal".
- Viewing a warning from a table/id search is also now a modal.
- Put a shadow above the close button which i've been told looks good.
Features that were planned but abandoned, included here for transparency.
- Editing Warnings: Technical reasons, too many things that would need to be fucked with.
- DarkRP Demote Punishments: Couldn't find a function to do this - if there is one lemme know.
- Factory Resetting: Waste of time, just wipe your db lmao.
- Colorblind color palettes: Couldn't find anything on how to do this properly - if you know any proper resources for this lemme know.
Thanks for waiting for this update patiently. :)
- Allows for warning for zero points, for those that want to give a "verbal" warning without actually punishing the player. Thanks to
ANOMALY for the suggestion.
Would help if I didn't forget about German
Sorry Germans :(
No, this isn't the 2.0.0 update
Merely some fixes with some missing translations in some languages. Sorry.
- Fix with punishment stacking stuff.
Sorry for the really barebones fix updates. Turns out I'm a fucking spazzy retard that can't write code that works for shit that just needs to leave this website
- Couple o small bug and error fixes.