Ulysses

Ulysses Stuff => General Chat & Help and Support => Topic started by: Megiddo on August 31, 2009, 02:51:37 PM

Title: New command system (YOU want to read this!)
Post 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:

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? :)
Title: Re: New command system (YOU want to read this!)
Post by: bennie900 on August 31, 2009, 02:57:39 PM
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?
Title: Re: New command system (YOU want to read this!)
Post by: Megiddo on August 31, 2009, 03:02:29 PM
The info is saved with UCL, so in groups.txt and users.txt.
Title: Re: New command system (YOU want to read this!)
Post by: JamminR on August 31, 2009, 04:25:42 PM
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?
Title: Re: New command system (YOU want to read this!)
Post by: Megiddo on August 31, 2009, 04:59:56 PM
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. :)
Title: Re: New command system (YOU want to read this!)
Post by: bennie900 on August 31, 2009, 06:08:17 PM
Will there be a list of all the new commands we can use?  :P
Title: Re: New command system (YOU want to read this!)
Post by: JamminR on August 31, 2009, 06:16:28 PM
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
Title: Re: New command system (YOU want to read this!)
Post by: Megiddo on August 31, 2009, 06:32:52 PM
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.
Title: Re: New command system (YOU want to read this!)
Post by: NikolaiResokav on August 31, 2009, 09:31:58 PM
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.
Title: Re: New command system (YOU want to read this!)
Post by: Megiddo on September 01, 2009, 05:20:55 AM
"this revision" didn't change anything relevant. Are you getting any errors on startup?
Title: Re: New command system (YOU want to read this!)
Post by: NikolaiResokav on September 01, 2009, 08:46:40 AM
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.
Title: Re: New command system (YOU want to read this!)
Post by: bennie900 on September 01, 2009, 08:56:14 AM
So am i but i have no errors. Id say it might be UBans... but don't ask me because im the noob  :P
Title: Re: New command system (YOU want to read this!)
Post by: NikolaiResokav on September 01, 2009, 10:31:52 AM
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.
Title: Re: New command system (YOU want to read this!)
Post by: NikolaiResokav on September 01, 2009, 03:28:30 PM
Ok, it appears that the ulx.concommand bits of code are what is breaking my ULX.
Title: Re: New command system (YOU want to read this!)
Post by: Stickly Man! on September 02, 2009, 09:16:58 AM
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  ;)
Title: Re: New command system (YOU want to read this!)
Post by: JamminR on September 02, 2009, 03:08:23 PM
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. :)
Title: Re: New command system (YOU want to read this!)
Post by: Megiddo on September 02, 2009, 05:14:56 PM
Oh yah, I forgot the say that the autocomplete is a lot better now. You'll like it, JamminR :D
Title: Re: New command system (YOU want to read this!)
Post by: bennie900 on September 05, 2009, 11:33:05 AM
Got a suggestion:Is it possible so that only a certain group can change the permissions? Like say 'serverowner' can only change it etc.
Title: Re: New command system (YOU want to read this!)
Post by: Megiddo on September 05, 2009, 11:50:23 AM
Yep, that hasn't changed. You set that the same way as you always have
Title: Re: New command system (YOU want to read this!)
Post by: bennie900 on September 05, 2009, 01:39:19 PM
Oh, how do i do it now? :P
Title: Re: New command system (YOU want to read this!)
Post by: Megiddo on September 05, 2009, 04:24:17 PM
With userallow and groupallow
Title: Re: New command system (YOU want to read this!)
Post by: bennie900 on September 05, 2009, 04:25:20 PM
So say i dissalowed superadmin to use the kick function for example, they could just allow it again surely?
Title: Re: New command system (YOU want to read this!)
Post by: JamminR on September 05, 2009, 08:57:10 PM
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
Title: Re: New command system (YOU want to read this!)
Post by: Megiddo on September 10, 2009, 10:47:36 AM
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
Title: Re: New command system (YOU want to read this!)
Post by: JamminR on September 10, 2009, 03:01:34 PM
/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)