Author Topic: New command system (YOU want to read this!)  (Read 10176 times)

0 Members and 1 Guest are viewing this topic.

Offline Megiddo

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 6214
  • Karma: 394
  • Project Lead
New command system (YOU want to read this!)
« 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? :)
« Last Edit: August 31, 2009, 02:55:16 PM by Megiddo »
Experiencing God's grace one day at a time.

Offline bennie900

  • Jr. Member
  • **
  • Posts: 75
  • Karma: 5
Re: New command system (YOU want to read this!)
« Reply #1 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?
« Last Edit: August 31, 2009, 03:01:09 PM by bennie900 »

Offline Megiddo

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 6214
  • Karma: 394
  • Project Lead
Re: New command system (YOU want to read this!)
« Reply #2 on: August 31, 2009, 03:02:29 PM »
The info is saved with UCL, so in groups.txt and users.txt.
Experiencing God's grace one day at a time.

Offline JamminR

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 8096
  • Karma: 390
  • Sertafide Ulysses Jenius
    • Team Ulysses [ULib/ULX, other fine releases]
Re: New command system (YOU want to read this!)
« Reply #3 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?
"Though a program be but three lines long, someday it will have to be maintained." -- The Tao of Programming

Offline Megiddo

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 6214
  • Karma: 394
  • Project Lead
Re: New command system (YOU want to read this!)
« Reply #4 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. :)
Experiencing God's grace one day at a time.

Offline bennie900

  • Jr. Member
  • **
  • Posts: 75
  • Karma: 5
Re: New command system (YOU want to read this!)
« Reply #5 on: August 31, 2009, 06:08:17 PM »
Will there be a list of all the new commands we can use?  :P

Offline JamminR

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 8096
  • Karma: 390
  • Sertafide Ulysses Jenius
    • Team Ulysses [ULib/ULX, other fine releases]
Re: New command system (YOU want to read this!)
« Reply #6 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
"Though a program be but three lines long, someday it will have to be maintained." -- The Tao of Programming

Offline Megiddo

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 6214
  • Karma: 394
  • Project Lead
Re: New command system (YOU want to read this!)
« Reply #7 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.
Experiencing God's grace one day at a time.

Offline NikolaiResokav

  • Newbie
  • *
  • Posts: 20
  • Karma: 0
Re: New command system (YOU want to read this!)
« Reply #8 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.
« Last Edit: August 31, 2009, 09:53:51 PM by NikolaiResokav »
Nikolai Resokav

Offline Megiddo

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 6214
  • Karma: 394
  • Project Lead
Re: New command system (YOU want to read this!)
« Reply #9 on: September 01, 2009, 05:20:55 AM »
"this revision" didn't change anything relevant. Are you getting any errors on startup?
Experiencing God's grace one day at a time.

Offline NikolaiResokav

  • Newbie
  • *
  • Posts: 20
  • Karma: 0
Re: New command system (YOU want to read this!)
« Reply #10 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.
Nikolai Resokav

Offline bennie900

  • Jr. Member
  • **
  • Posts: 75
  • Karma: 5
Re: New command system (YOU want to read this!)
« Reply #11 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

Offline NikolaiResokav

  • Newbie
  • *
  • Posts: 20
  • Karma: 0
Re: New command system (YOU want to read this!)
« Reply #12 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.
Nikolai Resokav

Offline NikolaiResokav

  • Newbie
  • *
  • Posts: 20
  • Karma: 0
Re: New command system (YOU want to read this!)
« Reply #13 on: September 01, 2009, 03:28:30 PM »
Ok, it appears that the ulx.concommand bits of code are what is breaking my ULX.
Nikolai Resokav

Offline Stickly Man!

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 1270
  • Karma: 164
  • What even IS software anymore?
    • XGUI
Re: New command system (YOU want to read this!)
« Reply #14 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  ;)
Join our Team Ulysses community discord! https://discord.gg/gR4Uye6