EssentialsX

EssentialsX

2M Downloads

`essentials.sethome.multiple` is no longer required when `essentials.sethome.multiple.[set]` is given.

accLarson opened this issue ยท 3 comments

commented

Type of bug

Other unexpected behaviour

/ess dump all output

https://essentialsx.net/dump.html?id=8e20aeb787234bdfbdd9bc14aeccfc9e

Error log (if applicable)

No response

Bug description

essentials.sethome.multiple is no longer required for a player to have multiple homes when essentials.sethome.multiple.[set] is given.

Steps to reproduce

  1. set up home config values as follows:
# Allow players to have multiple homes.
# Players need essentials.sethome.multiple before they can have more than 1 home.
# You can set the default number of multiple homes using the 'default' rank below.
# To remove the home limit entirely, give people 'essentials.sethome.multiple.unlimited'.
# To grant different home amounts to different people, you need to define a 'home-rank' below.
# Create the 'home-rank' below, and give the matching permission: essentials.sethome.multiple.<home-rank>
# For more information, visit http://wiki.ess3.net/wiki/Multihome
sethome-multiple:
  default: 1
  test: 3
  1. Give PlayerX permission node essentials.sethome and essentials.sethome.multiple.test.
  2. Do NOT give PlayerX permission node essentials.sethome.multiple.
  3. Attempt to set 3 homes.

Expected behaviour

When the above steps are attempted, PlayerX should be given an error that they cannot set more than 1 home as they do not have essentials.sethome.multiple which is required for multiple homes, even when they have essentials.sethome.multiple.test.

This expected behaviour may have been removed from essentials years ago. Some may not even consider it a bug. There is certainly an argument to be made that the current behaviour may actually be superior to the original previous behaviour. I would think it's safe to say that for most, the requirement to give the node essentials.sethome.multiple when giving essentials.sethome.multiple.[set] is not very intuitive and seems redundant.

I have been givingessentials.sethome.multiple along with essentials.sethome.multiple.[set] for MANY years. I only stumbled upon the fact that essentials.sethome.multiple is no longer required today, when I finally had a use for the distinction.

For understanding I will specify a simple example of how the previous/expected behaviour was useful. A server admin sets up a series of 10 permission groups which ALL players progress through as they spend more time online the server, being rewarded for their online hours. Each of these groups has additional perks rewarding players who spend time on their server. The admin wants to give staff an extra perk of extra homes as they progress through the previously mentioned 10 hour based groups. With the previous/expected behaviour the admin could give the hour based roles permissions using the sets established in the essentialsX config essentials.sethome.multiple.[set]. The admin then gives the staff group essentials.sethome.multiple. With the previous/expected behaviour, this would grand the additional homes ONLY to staff who have node essentials.sethome.multiple.

When discussing this in the discord support channel, there was some debate on how long ago this behaviour was lost or if it was ever truly as I described in the first place. I will provide links to and info on documentation showing that my specified expected behaviour was in-fact the reality of how the permission system of setting multiple homes was configured:

Documentation Signifying Expected Behaviour

latest config.yml
Refer to relevant lines ending in "< < < < < <"

# Allow players to have multiple homes.
# Players need essentials.sethome.multiple before they can have more than 1 home. < < < < < <
# You can set the default number of multiple homes using the 'default' rank below.
# To remove the home limit entirely, give people 'essentials.sethome.multiple.unlimited'.
# To grant different home amounts to different people, you need to define a 'home-rank' below.
# Create the 'home-rank' below, and give the matching permission: essentials.sethome.multiple.<home-rank>
# For more information, visit http://wiki.ess3.net/wiki/Multihome
sethome-multiple:
  default: 3
  vip: 5
  staff: 10

# In this example someone with 'essentials.sethome.multiple' and 'essentials.sethome.multiple.vip' will have 5 homes. < < < < < <
# Remember, they MUST have both permission nodes in order to be able to set multiple homes. < < < < < <

Legacy Essentials Site
Although this page has not been update since September 21 2012 and likely is not in control of current EssentialsX devs, it is still linked to in discord as a reference.
Legacy Site

Current Essentials Site
Current Site
image

Discord Command /essp sethome.multiple
Seems to pull info from the above reference
image

Actual behaviour

When the above steps are attempted, PlayerX is able to set up to 3 homes even though they do NOT have permission node essentials.sethome.multiple which is required to have multiple homes.

It seems EssentialsX no longer requires essentials.sethome.multiple to set multiple homes.
PlayerX having permission node essentials.sethome.multiple.test seems to sufficient alone contrary to previous behaviour and documentation.

commented

Discussed on Discord -- need to dig deeper

commented

Any Update on this @pop4959?

commented

Is the intention here to revert back to requiring essentials.sethome.multiple for a user to have multiple homes?