Autorank

Autorank

380k Downloads

[suggestion] Adding a "track" system like luckperms

TomLewis opened this issue ยท 21 comments

commented

This new paths system is a bit fuckey after a migration, its left some players stuck not being able to rank as they did a path previously and got moved down a rank from a donator rank.
There needs to be a track system just like in LuckPerms, where there is a defined path people follow up a ranking system, that way you could have multiple paths/tracks.

Heres mine:
Deckhand>Cadet>Sailor>Carpenter>Gunner>Boatswain

At no point can/should anyone be able to select a previous rank. I have some players at Sailor/carpenter that have different "paths", Cadet is displayed as a path, but they cant select it. this shouldn't even be displayed, its too confusing for the user. If there was a tracks system, it would track at what point on the "track" they are at.

So If Im Sailor, then it knows that anything above sailor is only allowed to be selected, it knows that Carpenter is next, so that should be the only path.

Hopefully this makes sense.

commented

I have a similar issue. Sorry if there is another thread on this... but I can' find it. In setting up AR paths I've had to reset some of the players back to the very lowest rank on the LP Track and the lowest on the AR Path. The AR path must coincide with the LP Path or their rank will not match between the two plugins. I'm now trying to use the command /ar choose but it appears that I can not do that on behalf of another player. Why can't the OP choose a path to start at? The auto path does not seem to be restarting once I reset a players progress and all data. Is there way to restart it? It keeps saying the player does not have any active paths. I know that I can ask the player to run /ar choose but I don't want to do that to every player that has a problem. I just want to fix it. Thank you for your help. btw auto assign path is true.

commented

I ended up getting rid of AutoRank and using ranks in CMI, im all solved now. Heres their docs on it.

I had one last issue of people that had a contributor/donator rank becuase the initial ranking rank needed to be set, I managed to overcome this with a really simple script I wrote myself that checks people when they log in and puts them on the right path.

commented

Hi Tom, thank you for your reply! I will check out CMI. I've spent many, many hours trying to get AR and Essentials to follow the same track/path with votes and it seems to keep occurring that players get off track on one or the other. I'm no where near your server size and just starting. Your server is amazing, btw! What an accomplishment, nice work! Any further words of wisdom to this struggling server startup is welcome. Have a good one! PurpleMonkey439 at gee mail.

commented

You'll get there! I'm 11 years down the road now, I've used auto rank for the majority of it and swapped to CMI a few years back after I kept having odd issues with auto rank, I was the one that actually requested ranks from the CMI Dev in the first place! It didn't exist until I asked for it!

It is a paid resource, but it's a fantastic one. And the developer is constantly improving and adding suggestions. So if you play a lot of Minecraft, I suggest the purchase.

Very good for managing everything else too, like holograms, portals etc. no no need for loads of plugins, replaces essentials too!

commented

Hmm, this is what the Path system is capable of doing. If you set it up right, users don't even have to select a path, as only one path is 'open' for them. Additionally, I could add a requirement that can check what paths you've completed in Autorank.

commented

Sadly it does not work this way in practise.
I have set it up in a way players don't have to select a path, but its the way its designed that makes it not work like that in practise, as its not checking what position you are in that "track". at absolutely no point should it display a path that is below your current rank, ever, but it does.

I also found another issue ill create in a separate ticket where I cant use the named default from luckperms.

Heres my paths.yml so you can understand how basic it is.

# Paths file - This file will contain all paths that a player is allowed to take. Previously known as 'AdvancedConfig.yml'.
# This file contains (by default) a Test group that shows the basic syntax of this file. 
# For more information, go to https://github.com/Armarr/Autorank-2/wiki/How-to-configure-the-Paths.yml-file%3F.
# Remove choose
# remove being able to /ar view res carpenter 
# search and replace completed ranks to completed paths in playerdata
default:
  prerequisites:
    in group:
      value: default
  upon choosing:
    message:
      value: You are on your way to becoming a Cadet!
  requirements:
    time:
      value: 10h
    blocks broken:
      value: 5000
    blocks moved:
      value: 5000;1
  results:
    command:
      value: lp user &p promote ranks
    command2:
      value: lp user &p permission set essentials.kits.cadet_rankup
    command3:
      value: broadcast &p has just been promoted to Cadet!
    message:
      value: '&dCongratulations &p, you are now Cadet Rank. Don`t forget to claim
        your /kit! See https://piratemc.com/guides/ranks/'
  options:
    display name: Cadet
    auto choose: true
Cadet:
  prerequisites:
    in group:
      value: Cadet
  upon choosing:
    message:
      value: You are on your way to becoming a Sailor!
  requirements:
    time:
      value: 1d
    blocks broken:
      value: 10000
    blocks moved:
      value: 10000;1
  results:
    command:
      value: lp user &p promote ranks
    command2:
      value: lp user &p permission set essentials.kits.sailor_rankup
    command3:
      value: broadcast &p has just been promoted to Sailor!
    message:
      value: '&dCongratulations &p, you are now Sailor Rank. Don`t forget to claim
        your /kit! See https://piratemc.com/guides/ranks/'
  options:
    display name: Sailor
    auto choose: true
Sailor:
  prerequisites:
    in group:
      value: Sailor
  upon choosing:
    message:
      value: You are on your way to becoming a Carpenter!
  requirements:
    time:
      value: 3d
    blocks placed:
      value: 10000
    exp:
      value: 60
    blocks broken:
      value: 56;5;0
    blocks broken2:
      value: 17;700;0
    players killed:
      value: 20
  results:
    command:
      value: lp user &p promote ranks
    command2:
      value: lp user &p permission set essentials.kits.carpenter_rankup
    command3:
      value: broadcast &p has just been promoted to Carpenter!
    message:
      value: '&dCongratulations &p, you are now Carpenter Rank. Don`t forget to claim
        your /kit! See https://piratemc.com/guides/ranks/'
  options:
    display name: Carpenter
    auto choose: true
Carpenter:
  prerequisites:
    in group:
      value: Carpenter
  upon choosing:
    message:
      value: You are on your way to becoming a Gunner!
  requirements:
    time:
      value: 7d
    blocks broken:
      value: 30000
    blocks placed:
      value: 30000
    exp:
      value: 80
  results:
    command:
      value: lp user &p promote ranks
    command2:
      value: lp user &p permission set essentials.kits.gunner_rankup
    command3:
      value: broadcast &p has just been promoted to Gunner!
    message:
      value: '&dCongratulations &p, you are now Gunner Rank. Don`t forget to claim
        your /kit! See https://piratemc.com/guides/ranks/'
  options:
    display name: Gunner
    auto choose: true
Gunner:
  prerequisites:
    in group:
      value: Gunner
  upon choosing:
    message:
      value: You are on your way to becoming a Boatswain!
  requirements:
    time:
      value: 30d
    blocks broken:
      value: 100000
    blocks placed:
      value: 100000
    exp:
      value: 100
    blocks moved:
      value: 100000;0
  results:
    command:
      value: lp user &p promote ranks
    command2:
      value: title &p title {"text":"&p you made Boatswain!","color":"green"}
    command3:
      value: broadcast &p has just been promoted to Boatswain!
    command4:
      value: title &p subtitle {"text":"Congratulations!"}]}
    command5:
      value: lp user &p permission set essentials.kits.boatswain_rankup
    message:
      value: '&dCongratulations &p, you are now Boatswain Rank. Don`t forget to claim
        your /kit! See https://piratemc.com/guides/ranks/'
  options:
    display name: Boatswain
    auto choose: true
` ``
commented

Could you use a pastebin for this?

commented

Does the lp user &p promote ranks command add the group to the user or does it replace the group? Perhaps a user has the rank 'Cadet' and 'Sailor', instead of just 'Sailor'?

commented

I just wanted to say that I also use LuckPerms, but I have Autorank use the command "/perm user &p parent set " which erases all other groups the person is in, and assigns only the new group to them (effectively moves the person to this new group). I had to do this because of the way Essentials works with /list and listing who is in what group.

That being said, even using this system with the new Paths.yml, users can see the other paths. For instance, someone who is a donor and no longer has ranking paths available, can do /ar check and then list all the rank paths, even though none are available to them. Similarly, someone who earns the highest rank on the linear path we have gets the message to choose paths, and again, none are available to them.

I'd definitely support some sort of feature to not show paths that aren't available to you. If you're in the linear ranking path, it seems like the "auto choose" option does take this confusion out, since it assigns you to the next path, but I still find there being some extra confusion, and I see where FrozenBeard is coming from.

commented

Yeah its absolutely infuriating to me and all my players with this "Choose a path" system. I hate it.
It should be linear by default and then have their "paths" choice as a secondary option. It should check there in the right place, then it stops so many issues.

@AntZaro why are you doing the parent set? That will remove all the previous ranks, you can do parent add to add a rank, I use promote to promote up the LP tracks, but if Autorank screws up then a user gets promoted when they shouldn't as its not checking they are in the right track.

To answer any questions:
/lp user username parent set - Sets the group, and wipes all other ranks (Not suitable)
/lp user username parent add - adds a rank to the player.
/lp user username parent promote ranks - This is what I use, this promotes the player up a tree of tracks that I have written called ranks, this allows you to make them rank up a specific chain of tracks. So I can have 1 player rank up in 3 separate tracks if I wanted, Staff, Donator and In game ranks for instance, so If I had a staff track, it would be /lp user username parent promote staff this checks what group they are, and where they need to upgrade to next in that specific staff track!

Luckperms is fucking brilliant, Autorank should only be using this and nothing else, nothing can even compare to it.

commented

@FrozenBeard Autorank will automatically assign paths to a player when you tell it to. Did you look into the auto complete option? Also, in light of the many suggestions I got on this part of Autorank, I've decided that Autorank will automatically assign paths to players, so the auto complete option will be enabled by default instead of disabled.

commented

I'm having a similar issue too, here's the path file.
I'm using LuckPerms too, after the first rankup it gets stuck because all the others path are available for no reason.
The groups inherit from eachother default (snowflake)>snowball>blizzard>yeti>yetilord but somehow, if a player is in snowball, he can also see the "YetiToYetilord" path, even if the prerequisites are not matched correctly

commented

@FrozenBeard It used to do parent add instead of parent set, but then when you used Essentials /list, people would be in all the wrong groups and it was all disorganised and messed up. Coming from GroupManager, I didn't like the idea of people necessarily being in like 6 different groups. Instead, my groups just inherit each other in an inheritance tree.

It's kind of nice that everyone is in one (or at most two) groups, because now the new "list members" command is pretty handy sometimes.

The tracks thing was confusing to me initially, and I never delved further into it. Would you say it's worth it to use that feature? Unfortunately, it still wouldn't fix my issue with the /ar check. Sorry to get off topic here.

commented

@Staartvin I know, I have mine setup like this, if you read my initial report you'll understand this only works if you install autorank as a fresh plugin without an existing userbase.
Please do read the actual issues with the current paths system, it needs to have a tracks system, toggling assign paths wont fix the issues, I've had mine on since day 1.

@AntZaro You have "Primary Group" which is what Essentails reads from Vault, you have to make sure your users Primary group is what you want them as their main group, and then everything else is a sub group. This will solve your /list woes.
I too make sure my ranks inherit, its how you are suppose to do it.

I use the tracks system, so LuckPerms knows exactly where you are in the ranking process, otherwise there just "Floating" ranks, it means I can set multiple tracks for people to upgrade through, Like A Staff system, or a Builders System, Normal Ranks etc.
I think Autorank has tried to do something like LuckPerms has done with Tracks system, but called "Paths" it dousnt actually track where you are or if you are on an actual track or on the correct path. I HIGHLY reccomend that Autorank does not use its own paths system and uses LuckPerms to sort and move people up tracks. The paths system is not needed when you can use luckperms to upgrade people through the track system up a specific track.

commented

Since my last reply, I've added the functionality that paths are only eligible if a player meets all prerequisites. This ought to fix the issue, right?

commented

Opened 2017, Coming up to 2020.

Does the plugin work in a linear fashion unless told not to?

Another option is adding weights, so it knows what order ranks are suppose to be in.

commented

It can work any way you want. It doesn't have to be linear, but it can be if you want. You can also make it loop back on itself.

What kind of paths are you looking to make exactly?

commented

Looking at my initial post it looks like there was an issue with people getting stuck as it was trying to make them select a rank previous to them as there isn't a linear track system so the plugin knows where they are on a track, looks like you have avoided this topic entirely.

commented

I have no clue what the structure of your rank-ups is supposed to be, so perhaps we can discuss that and see how we can set it up in a way that is supported by Autorank?

commented

Scroll up? Posted in this thread on April 1st 2017.

commented

Looking through the issues again and I came across this issue. Autorank does work linearly by default, but one can redo paths if needed. In that way it allows you to repeat all paths again, if you'd like.

It seems the original issue was about paths being shown that were not accessible yet, but that has been fixed. You can turn on a feature that allows you to only show paths that are eligible to the player, see https://github.com/Staartvin/Autorank-2/wiki/How-to-configure-the-Paths.yml-file%3F#only-show-a-path-in-ar-view-list-when-a-player-meets-the-paths-prerequisites.

I'll close the issue now. Feel free to comment if you feel that is unjustified.