Ulysses
Ulysses Stuff => General Chat & Help and Support => Topic started by: Megiddo on August 31, 2009, 02:51:37 PM
-
I finally pushed our test implementation of the new command system to SVN. It's not modifying anything currently, it's just sitting there adding a few things the devs can test with for now. This new command system is being powered by the changes to UCL, specifically the new "access tag" system. userallow and groupallow already support access tags. :)
What does this mean for you in the future?
It means that you're going to be able to have an insane amount of configuration on user permissions in the future. Here's a quick list of things off the top of my head:
- Limit users to who they can target on a per-command basis. Admin "Bob" should only be able to target non-admins? No problem. Admin "Stickly Man!" should only be allowed to target the player "fastcall"? Also no problem. Should admin "fastcall" only be allowed to slap himself? Sure thing.
- Limit users to ranges on commands. Group "trusted" should only be allowed to ban people for a maximum of 60 minutes, "JamminR" should only be allowed to make people up to half-invisible, and "Jay" isn't allowed to jail anyone for less than 10 seconds. All possible with this new system.
- Limit users on STRINGS in commands! Admin "Mod Podge" is only allowed to specify certain reasons for banning someone, all users in "trusted" group are only allowed to change group permissions within the "trusted" group. Again, all possible.
What does this mean for devs?
This is basically a user-to-lua translation system. You tell it what you expect from the user, it calls a function with all the correctly typed and constrained information, obeying permissions too. Now you go from writing an admin mod or entity command suite to writing a garry's mod library because you no longer care about the details of the user!
Thoughts? :)
-
Looking good Megiddo! When this come's out it will give server admins more controll over players! Good work!
EDIT: Would the info be saved into a text file or some thing?
-
The info is saved with UCL, so in groups.txt and users.txt.
-
Wait.. what?
I thought we were trying to simplify use of the UCL.
I've nothing against more capability, just seems if these new features get added to ULX, it will complicate matters.
Are we keeping them hidden in ULX?
-
Most users won't even notice the change, JamminR. It adding another level of complexity, but you can still use ULX/ULib exactly as you always have, and that's still fully supported. The reasons why I like this isn't limited to the fact that it's so much more configurable, it will actually condense a lot of ULX code, fix a lot of our bugs, make it easier to maintain, unifies our error messages, and more. :)
-
Will there be a list of all the new commands we can use? :P
-
Though I'm not sure how much ULX is being edited, the ULib documentation is updated every commit to SVN (at least, I think Megiddo said that recently)
ULib controls UCL.
http://ulyssesmod.net/docs
-
Will there be a list of all the new commands we can use? :P
There's not going to be any new commands. Ulx userallow and groupallow have already been modified to accommodate these changes, if that's what you mean. XGUI will also be getting some nice support for this.
-
After updating to this revision, my ulx no longer works. I can't use ulx commands and all of my ulx/ulib modules are broken. any advice?
Also, this isn't just a clientside problem, its serverside as well.
-
"this revision" didn't change anything relevant. Are you getting any errors on startup?
-
I don't have access to my console right now, but I can remember its saying that ulx was a nil value. Also, the ULXUBansInit hook for the UBans addon failed due to ulx being a nil value. That all I can remember off the top of my head, I will get the exact errors when I get home.
And please keep in mind that I am absolutely positive that I am on the latest version of the ULX SVN.
-
So am i but i have no errors. Id say it might be UBans... but don't ask me because im the noob :P
-
Well I'm assuming that since UBans is a module, it would not break ULX entirely. It is more likely something in the new revision that is break UBans and ULX itself, at least for my server.
-
Ok, it appears that the ulx.concommand bits of code are what is breaking my ULX.
-
XGUI will also be getting some nice support for this.
Most of the new features may not be noticed when using commandline, but they will be accessible in XGUI
I've nothing against more capability, just seems if these new features get added to ULX, it will complicate matters.
Don't worry, its really only making XGUI more complex behind the scenes ;)
-
I'm a command liner.
Just make sure we continue making sure every GUI command is available through console commands, add in autocomplete, and I'll be ok. Most of us other command line folks will be too. :)
-
Oh yah, I forgot the say that the autocomplete is a lot better now. You'll like it, JamminR :D
-
Got a suggestion:Is it possible so that only a certain group can change the permissions? Like say 'serverowner' can only change it etc.
-
Yep, that hasn't changed. You set that the same way as you always have
-
Oh, how do i do it now? :P
-
With userallow and groupallow
-
So say i dissalowed superadmin to use the kick function for example, they could just allow it again surely?
-
Yes, if you didn't remove the group/userallow commands from superadmins..
You'd need to revoke group and userallow rights from superadmin, that way, they can't use those commands to give themselves the command back.
ulx groupallow superadmin "ulx groupallow" 1
ulx groupallow superadmin "ulx userallow" 1
That 1 on the end 'revokes' the right.
You'd then need to make sure to add those to the serverowner group without the revocation bit.
But.. I think Gmod, not ulx, gives the right of kicking through IsSuperAdmin.
Not even sure ULib could overright that. Prevent them from using ulx kick, sure, but not kick or kickid
-
Finished implementing the new user.lua (user management commands). The old file was 400 lines of code, the new one is just over 200 lines. :D
-
/me fakes the general FP 'expert' opinion.
WUT?? That's SOOO bloated. Well, If I were to do it, I bet I could do it in <some extravagantly small number>
ULX blows! No wonder it lags my server (with all the tweaks I did)