Please add dark mode to the Keymaster website
It should be a standard when making websites.
Update Notifications
It would be nice if we would have a notification system when a script gets updated.
also displaying the current script version. and as @menkzy suggested adding the date:
The version is set by the script developer, this will help us (users) truck server scripts and keep them up to date.
also maybe adding an option to get emails when a script got updated.
Script Sorting & Search
Adding a search bar if a user has more than 10 purchased scripts, a simple indexing by script names.
this feature will help users that have a lot of âgranted assetsâ, also this can be added to the âcreated assetsâ for developers/users who sell/have more than 10 scripts.
Sorting
A-Z, Z-A, by updated date, by License received at date or even size.
This goes with the searching future, it will allow users to organize the Keymasterâs âgranted assetsâ library if they want to find something.
Script Orgnztion
Adding tags for scripts, for example MLO, MAP, UI. developers or asset creators can add tags to categorize their scripts, the end user/buyer should be able see tags next to the script.
This will give everyone gets a better understating of their scripts and how to manage them
in addition to this, adding the tags to the sorting system can help users better locate a specific script.
Developers or asset creators can add tags to categorize their scripts while adding them to âcreated assetsâ
KeyMaster API
As @Beke_Rugos posted, an API(update) would be helpful with the new additions that are proposed here
API can be useful to integrate Keymsater into discord bots, websites, automation, and much more.
Usage Examples
Send notifications in a discord channel when a script gets updated
Activate an automation when a script gets updated to downlode it and updated the server
Request script data (name, tags, date)
Old Versions & MultiDownload
While this would require storing a lot more TB of data, it can be useful for the server owners⌠in case of bugs and problems with new scrip updates
this suggestion adds to @dkden7e.dev
While I think that having the ability to download all the scripts at the same time is stupid, downloading 3-5 assets at the same time can be a nice feature.
Interesting ideas, but a little bit short-sighted: sure, adding all of these would work, but itâd be a lot of effort, and with a little more effort weâd have a much more ideal solution anyway than something thatâd just cement the current hodgepodge solution.
Anyway,
Not likely until the site gets redone entirely. However, you can just use a user style to have a âdark modeâ.
If it âshould be a standardâ, it should be such in browsers, not somehow expecting everyone to somehow figure out a correct color scheme for such.
Not going to happen - thereâs going to be a new system for managing both paid and free assets in the future, including handling updates in a cleaner, more integrated way. Adding to the current system would be redundant wasted effort, and ânotificationsâ on update would be handled in a unified way in the new workflow, plus would auto-update if enabled.
Perhaps.
However, this would add complexity to the current frontend which already needs redoing, and the new asset subscription system (which would be tied to the new asset publishing system) would need this anyway.
This will be solved by the new asset publishing system, doing it in some half-assed way doesnât make sense.
Not going to happen, this has to be done at the same time as the new publishing/consumption system (where youâd also not need to download updates manually anymore, so publishing updates automatically would be less of an annoyance to users as well).
⌠this should be a built-in feature, not some âAPIâ where everyone is expected to make a half-assed solution.
Not going to happen until the new publishing system, again.
Again, will be solved by the new publishing system, whenever that happens.
Same for this, also going to be solved by the new publishing system, as youâll just be able to subscribe to a (set of) releases directly without having to manually download and reupload downloaded resources.
Also tagging @frenzy-renegade as he might know a bit more about these plans, and might want to know this is a recurring request.
Please no auto download of resources, that is intrusive, and can and will cause issues. Countless times I have to make an edit to scripts to fix for my needs and if that overwrite my shit, I would be pissed.
I agree, this may cause more harm than good. Unless thereâs a specific configuration of the theoretical auto-updater, people are going to end up having their edited script and/or config files overwritten. Perhaps something like a .gitignore file and an overwrite prompt? I donât know.
So⌠This sounds like the basic concept Steam Workshop. Thereâs a wee bit difference though.
Stuff like vehicles/objects/peds/map mods donât really require any changes to the files provided. Well. What if someone wants to edit them? If theyâre not encrypted by the keymaster, one could just edit them and copy them over to a different resource (but that defeats the purpose of having an auto-updater in my opinion). No biggie.
The difference is with scripts/code. As far as I know the main idea behind the keymaster is to allow people to sell stuff on Tebex and not have it available to download for free on some third party website in a matter of minutes. So the solution was an encryption system. Steam Workshop on the other hand? No way to sell/purchase assets - No need to encrypt them.
So, asset creators can selectively choose which files are not encrypted (to allow for config files to be stored as .lua files for example or even just opt to not encrypt any files at all). Since people can edit these files, they most likely will. And whatâs going to happen when thereâs an auto-updater with no overwrite prompts and such? Their stuff is going to get overwritten. Custom NUI assets (js/css/html), any configs stored in the resource directory or just simply code edits - gone. Imagine the chaos from confused server owners in âFiveM Client Supportâ category .
Thereâs also some other things that would have to be taken into account. For example: Currently - asset creators can put multiple resource folders into a single .zip file. Letâs say a server owner only wants one of the resources from the .zip file. What happens then? I would personally really dislike the idea of having to put EVERY SINGLE RESOURCE FOLDER into a separate asset on keymaster as this would force me to maintain 100+ assets instead of about 20. Not to mention the (currently) utterly tedious process of updating multiple assets to the keymaster at once and (currently) literally no reliable method to automate it/integrate with CI/CD (like GitHub Actions for example). As mentioned here earlier this year:
Perhaps a solution to the auto-updater overwriting files would be to integrate it with txAdmin? What do you think about that? You open the panel, go to the resources tab, see all of the resources available, currently installed version, latest version and release dates. A button to manually update only a selected resource from list. Prompt with a changelog. Perhaps a on panel login prompt could be displayed? âHey, since last time you logged in to the panel, these resources have been updated: foo, bar, baz. Would you like to update all of them - View changelogs/Yes/Noâ.
Not sure if thereâs a better thread existing for this but Iâm just trying to do some brainstorming here.
Before getting scared about some weird use case not being covered, note that this is covered: auto-update would be optional.
Also, âediting scriptsâ is a bit of an odd use case born out of âbadly-written scriptsâ, and weâd prefer scripts to not need editing in the first place as peopleâd make them in a configurable way, and, of course, auto-updating would be disabled (or use a diff tool - probably asset subscriptions would even just add a set of embedded git repos, similar to how Steamâs configuration data is actually a backing Perforce repository) if anything is edited compared to the initial download, ever since the concept of auto-updating was first thought of, diffing user edits was a core priority, and it somewhat expresses a very weird distrust if you assume we donât think of the most obvious concern there.
âNoooooo, no auto-update, please!!!â is a weird response to potential issues that are extremely easy to cover for, and are also a leftover of the âold wayâ of doing things which we are so valiantly trying to replace with something less error-prone, because itâs somewhat evident that the way resources are delivered now is very easy to confuse a newbie with.
Itâd be preferred if instead of everyone trying to worry about things that arenât even remotely close to set in stone yet, and then âbrainstormingâ on top of small mentions, adding complexity in the process, thereâd be some trust here in that we do care about these use cases, and, when the time is there, and we have actually covered these specifics, will have specifics laid out further for you to comment on.
This is exactly why none of these little suggestions from this and prior topics are implemented: each single suggestion can and will lead to some edge cases, and then thinking of a solution to balance out the edge case (e.g. an API to publish assets would need a way for users to be aware of updated assets, but then you make such a notification system, but then users will get confused about what to do with notifications, etc.) which only adds more potential edge cases and will again reinforce the current style of constantly balancing between half-implemented solutions, running from fire to fire to put out the latest edge case scenario.
Again, future implementation ideas are mainly based on the question of âhow can we make things hard to impossible to get wrong by making it easier to do the right thingâ, while not alienating existing users and their hodgepodge workflow theyâve built on top of the current systems, and not entirely breaking the existing ecosystem of released content. Building more crutches on top of the current methodology of server maintenance has its limits, and I believe this has already reached them years ago given the amount of user error thatâs going around, the amount of weird âserver packsâ containing ancient content, the anything and everything.
tl;dr: just wait, donât get worried in advance, and yes we are aware of what youâre saying and reiterating it doesnât really help at all
As Iâm bored enough anyway, Iâll respond to the other message as well, mainly pointing out a bit of short-sighted thinking - ignore this if you so need, itâs mostly useless rambling:
âJust donât make things easier, it may be badâ - âyeah I agree!â. Useless and non-constructive.
Why would this be based on, or solved by some sort of âconfigurationâ?
Also, âconfig filesâ are an archaic concept which shouldnât exist inside resources, convars exist for this - and yes, we are aware existing resources do use such a concept, but again, this can be solved in various ways.
âOverwrite promptâ shows a shortsighted idea of how this would work at all. Yet, you seem aware of Git - have you ever noticed how Git has a concept of an interactive merge, and it also âauto-mergesâ text files that changed?
These same constructs can be easily automated and reused for such an âupdateâ feature.
Another sign of this same view is below:
In this implementation, .zip files either wouldnât exist, or be only a high-level construct used for submission and âmanual downloadsâ. Thereâd be no scenario where this update logic would exist based on âautomatically downloading and extracting a .zip fileâ, as thatâs just outright stupid for the reasons you describe.
Yeah, overrides should be in a different resource, since theyâre not the original resource anymore.
In fact, ideally (and not just for the âauto-updaterâ, same goes for the concept of client-side cache reuse as it has been implemented since 2014), resources would be immutable, and resource authors would make their stuff as to allow for that⌠yet now weâve got some ecosystem where users are âexpectedâ to edit a âconfig scriptâ which will invalidate the entire cached resource leading to a lot of download waste.
Why would putting edited files in a proper place, which would simplify the work of âan auto-updaterâ, defeat the purpose of an auto-updaterâ?
In fact, why are opinions involved here at all?!
This shows an odd understanding of âthe keymasterâ. âThe keymasterâ is solely a thing to assign a server a persistent identity, anything else is just added to this because it happens to be the service that handles server identity.
Asset delivery functionality there was merely added to solve a need that started to exist when we (slightly lacking foresight ourselves) started allowing paid assets in the releases section, and people started making weird broken custom âlicensing/obfuscation systemsâ and hiding malicious content. It, in itself, is a half-assed solution to a sudden edge case created by an earlier half-assed solution.
See above - people shouldnât ever have to edit stuff. Make the right thing easy, and people will do it over the âwrongâ thing.
The rest of that argument is based on the simple view of âzip filesâ, again, though, and also assumes only paid/licensed content will be used in the new system.
In fact, âencrypted assetsâ simplify the issue youâre raising here since such files are immutable by definition.
⌠this almost sounds like a threat - âdonât even dare doing this because youâll get more support hell, which you hate, right?â
Again, new systems are first and foremost designed to reduce user confusion by making it easier for users to do things without getting themselves into a weird bind.
And, again, resource authors should step up their quality and make stuff that can be customized without editing files in the resource, like in any other extensible application.
See, again, the point where this will be an entirely new publishing system where this specific user expectation is already handled by design without it being a post-hoc hack.
The âpesky cloudflare anti-bot pageâ exists exactly to prevent users from making weird hacky solutions that we then have to deal with the consequences of.
Why would you think this isnât already planned?
Any such system would have a graphical frontend to interactively resolve stuff, both in FxDK, txAdmin, the in-game âstart a small server for your friendsâ page, etc. - this bit is again a sign of thinking too much in the existing framework of ideas.
Somewhat, see, again:
Thereâs a lot of thoughts going on internally regarding unified notifications for various server stuff - not just âon panel loginâ, but way more seamless ideas.
Also, again, Iâd like to note that any new workflow will be entirely optional for yâall who want to build your own workflow for whatever reason, as weâve already seen how attached yâall are to existing ways of thinking, and anything software-related that breaks or removes old workflows is a good way to receive hate (look at every Windows update, lol).
Thereâs a reason for my initial dismissive reply to this request, and thatâs that while the ideas are well-intended, theyâre again just entirely short-sighted and will just lead to more future fires to put out, which is already the main issue with this project, everyone is running from fire to fire to put out, which is extremely exhausting, as is having to justify every decision or idea as people seem to respond out of some odd fear, while people at the same time expect things to move ahead, often in conflicting ways.
Its not an odd use case. You clearly have no idea what is being sold on these tebex stores. Its actually quite routine to have to do a bunch of edits.
Hell out of all the resources i have purchased at this point Iâd say there is only about 5-10% of them where I dont have to do anything. And Iâm using the latest qbcore, and purchasing qbcore specific resources. So its not even like Iâm using some unpopular or unsupported.
The level of code quality WILDLY varies on these tebex stores, and you dont really know what your getting until after purchase, and then if the resource is scuffed and the dev that is selling it is not helpful you just wasted your money.
If youâre going to make an auto-updater quality control on resources needs to be done. But thats not going to happen as that isnt really feasible.
But Iâm sure anyone that has purchased several resources can tell you, is that majority of the time theyre not just plug and play, nor are they bug free.
⌠yet, I do, and you quoted it even: âbadly-written scriptsâ. Similarly, to reuse your own words, you seem to âclearly have no ideaâ what I wrote above, as these plans are not at all related to âtebex storesâ only, but a broader plan thatâd exist alongside a project to increase the average quality of resources and reduce the amount of edits users âhaveâ to do to get things working.
Similarly, Iâm not sure what is with your preemptive hostility, and Iâll therefore refrain from replying to you any further, and Iâd implore you to do the same, as thereâs clearly an impedance mismatch here.
There is no hostility, just when you make a blanket statement that its an odd edge case that edits have to be made, at least from my experience that is the norm, and not just an edge case. That was the only point I was trying to make.
So, to agree with you there is a high amount of âbadly-writtenâ scripts in this ecosphere. And if your goal is to raise the overall quality of resources while that would be amazing, Iâm not sure howâd youâd be able to achieve that.
As always I do appreciate the work that you do, and was never meant to come off hostile. Just concerned.
Well yeah, if you take them out of resource A, and put them in resource B and edit them, then disable resource A, wouldnât you miss out on all the updates to resource A? One would have to check for updates to A manually? And would it even work if letâs say a single essential file was encrypted with the asset protection?
Well. Maybe thereâs a reason behind this which I am unaware of. As long as these thoughts are internal and not discussed openly on forums here or maybe even GitHub/Trello/anywhere else, nobody can really tell whatâs being/will be planned/worked on. Canât really tell if our ideas are bad/redundant compared to the âinternalâ ideas if we donât know what they are. Either way - this is for another thread.
Well, no. Was not intended to be one. Sorry, if you took it that way. More like just a reminder of the dumb copypasted RP server owners. Also a reference to the issue that you raised yourself in the sentence below:
Good! Hopefully this will prevent the aforementioned people from flooding the forums with pointless threads.
Just one last question from me probablyâŚ
Do you think itâs somewhere in the drafts of the new system to allow for automation of the publishing process? I.e. having a Git repository for an asset and using GitHub Actions/GitLab CI/AppVeyor/et cetera to publish new versions once a release/tag has been created on the repository (or any other manual trigger)?
Theyâre mostly in my head, sometimes landing in one-to-one IMs with people who ask or are responsible for the implementation, theyâre not âbeing discussed in privateâ most the time either as you might somehow be assuming again.
âPublicly discussingâ things like this would have a few disadvantages:
It would be a lot of effort to detail ideas that may not even happen for over a year (a variant of this idea first came up 3 years ago, perhaps 4?), especially when the ideas are nowhere close to finalized
This would lead to exhausting discussions with people over trivialities (like has happened here, starting with a âoh god please noâ and a subsequent âI agreeâ, without even understanding the complete context or goal)
Anything too detailed would be seen as âpromisesâ and lead to constant harassment of âis this done yet?â, âany progress?â, etc., and otherwise have a lot of demotivating effects, especially as thereâs not really much more concrete than ânew resource publishing systemâ and a lot of scattered thoughts about potential scenarios this would have to solve
Would generally have no real benefit either given that the initial ideas are always years out from any implementation, and all the community would do is add scope creep and doubt, and make the ideas less likely to ever be executed.
If every single idea would have to be communicated publicly in a structured fashion, itâd probably take a few months to even write everything down, which would also take away from anyoneâs ability to do anything, and again, for no real benefit other than leading to users being worried about misinterpreting often unstructured ideas or work items, and then also some more months responding to all that, by which point all the ideas will have changed as well, leading to an even larger backlog growth than usual.
And, yes, these âsuggestionsâ would also take months to be implemented, maybe a year, and then would delay the proper implementation by that time or more, since the same people whoâd work on this would be those working on that, and thatâs yet another reason thereâs a ânoâ.
Iâm closing this topic now as it has derailed and the original suggestion has already been responded to.
As a sidebar, hereâs a snapshot of my personal list of âgot to look at in the futureâ notes, note that most things are very quickly added as I read things needing to be done, which takes maybe 15 seconds, compared to writing a âpublic discussionâ or work item or whatever which would take 15 minutes at least per item:
(and thatâs just recent items, more broad long-term goals are on the other side of the list as they were added initially, including titles like server as npm package for npx, friendlier basic gamemode flow, client->server error reporting for issues tab, community library system, radio with ytdl bundle? lol, team support in devcenter (implied groups?), server side asset shrinking/compression/collision fixing, and so on - but thereâs so many fires to put out and small bugs to fix that these little improvements barely even get any chance of happening)
As can be seen, most of this really doesnât have enough context for people who are unaware to understand, and given people even misunderstand very clear public commit messages (see this useless comment wondering why a bug didnât get fixed by a commit that had nothing to do with that bug), and thereâs around 670 entries in that list right now, with a lot more that are probably not written down and only exist as vague reminders or othersâ work items, and work is already being extremely slow for me, in part because of this constant worry of being vilified by the community over the tiniest things and there not really being any team effort (I keep having to push like 50 times to get anything looked into), and you can see how priorities are a little peculiar.
(and no, adding more team members wonât fix this at this time, itâd only worsen it, management structure is unsustainable currently and everyoneâs still kind of up to their knees in personal issues making work difficult)