GithubHelp home page GithubHelp logo

luckperms / luckpermsweb Goto Github PK

View Code? Open in Web Editor NEW
163.0 163.0 65.0 6.82 MB

Website & online apps for LuckPerms.

Home Page: https://luckperms.net/

License: MIT License

JavaScript 20.14% HTML 0.89% Vue 76.80% Shell 0.05% SCSS 2.11%
luckperms minecraft permissions vue

luckpermsweb's Introduction

LuckPerms

Build Status javadoc Maven Central Discord

LuckPerms is a permissions plugin for Minecraft servers. It allows server admins to control what features players can use by creating groups and assigning permissions.

The latest downloads, wiki & other useful links can be found on the project homepage at luckperms.net.

It is:

  • fast - written with performance and scalability in mind.
  • reliable - trusted by thousands of server admins, and the largest of server networks.
  • easy to use - setup permissions using commands, directly in config files, or using the web editor.
  • flexible - supports a variety of data storage options, and works on lots of different server types.
  • extensive - a plethora of customization options and settings which can be changed to suit your server.
  • free - available for download and usage at no cost, and permissively licensed so it can remain free forever.

For more information, see the wiki article on Why LuckPerms?

Building

LuckPerms uses Gradle to handle dependencies & building.

Requirements

  • Java 21 JDK or newer
  • Git

Compiling from source

git clone https://github.com/LuckPerms/LuckPerms.git
cd LuckPerms/
./gradlew build

You can find the output jars in the loader/build/libs or build/libs directories.

Tests

There are some automated tests which run during each build.

Contributing

Pull Requests

If you make any changes or improvements to the plugin which you think would be beneficial to others, please consider making a pull request to merge your changes back into the upstream project. (especially if your changes are bug fixes!)

LuckPerms loosely follows the Google Java Style Guide. Generally, try to copy the style of code found in the class you're editing.

Project Layout

The project is split up into a few separate modules.

  • API - The public, semantically versioned API used by other plugins wishing to integrate with and retrieve data from LuckPerms. This module (for the most part) does not contain any implementation itself, and is provided by the plugin.
  • Common - The common module contains most of the code which implements the respective LuckPerms plugins. This abstract module reduces duplicated code throughout the project.
  • Bukkit, BungeeCord, Fabric, Forge, Nukkit, Sponge & Velocity - Each use the common module to implement plugins on the respective server platforms.

License

LuckPerms is licensed under the permissive MIT license. Please see LICENSE.txt for more info.

luckpermsweb's People

Contributors

adminhcat avatar andre601 avatar aperturedevelopment avatar brainstone avatar codingjwilliams avatar darbyjack avatar dependabot[bot] avatar diamkil avatar evidentsinger14 avatar falceso avatar jaren8r avatar jorddn avatar laarryy avatar lucko avatar minacle avatar mrmicky-fr avatar nklyshko avatar powercasgamer avatar realbauhd avatar tadhgboyle avatar tobi406 avatar turbotailz avatar underscore11code avatar venlious avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

luckpermsweb's Issues

Web editor don't work for me

Hello,
When i click on the link after have do this command lp group editor, the web page is empty. there is just a sympbol of luckperms. Yesterday it worked.

List of all permissions

Can you add list of all permissions to the web intefrace of Luck Perms plugin?

Like it has Pex Builder plugin - https://www.spigotmc.org/resources/pexbuilder-gui.42248/

On that gift https://proxy.spigotmc.org/b3425bf1ae70ea9e335dc4624ec4cce370a93b5b?url=https%3A%2F%2Fgyazo.com%2Fea1a8474fbd796c151f158bc6c11c487.gif you can see, there is list of ALL permissions and you can simply drag them to active. Can you also make some like list of all permissions list and way to choose some from there and give there to a specific group?

Add ability to edit more options and group setup

Currently the web editor only seems to have the ability to (easily) edit the permissions, it would also be nice to have the ability to add/remove groups or easily edit other options (like meta/parents/weight/etc., some of these are already possibly by defining the permission directly but not as obvious to inexperienced users).

In-Game Command Enhancement

With my prefixes I like to have a space at the end of them.
Example: [Owner] StormyIceLeopard
But with in-game editing you can only achieve this: [Owner]StormyIceLeopard

I suggest to add a StringReplace statement that looks for a key, like '&s', and it will replace it with a space.
Doing this will allow us to include spaces at the beginning or end of parameters with in-game commands.

Editing the prefix, breaks the prefix.

Hey,

I just found out this bug that if you edit the prefix or suffix in the web UI it changes it to the HTML code & instead of just leaving it as just &.

Output:
webUI

This only happens if you select the prefix node. If you don't touch it, it wont break.

Show visual indicator for changed permissions

The web-editor shows a little green line on the site of a permission if it was added through the editor.

A small issue, that could be annoying when editing large amounts of permissions is, that changed permissions (like for example changing essentials.* from true to false) don't have such a visual indicator and those changes could get lost when you edit a lot of them.

For that case it would be useful, to have a similar indicator like for adding a permission, just with another colour (an orange perhaps?)

Add help button

  • Small ? button on the page somewhere - perhaps in the footer?
  • Should either link to or display a small help window, which explains how to use the editor.

Display the kind of error when loading fails

The kind of error should be displayed. To allow to differentiate between rate limit errors and typos. If an error occurs the JSON document contains an error message. If no such message could be found it should say "Generic Error".

Api Question..

Hello, I want to do their api in my plugin, but somehow this does not work the way I want. It's about a chat prefix plugin, which should be queried about the groups, PermissionEx is a light query like this: if(PermissionsEx.getUser(p).inGroup("Owner")) { e.setFormat("§7[§4Owner§7] §4"+ p.getName() + " §8» §7" + Message);

My question is now how can I do that with LuckPerms?

Side by side view

Tabs: A feature where we can have two "group/user" tabs side by side for the web editor [This can be more than one if you want]
Permission Dragging: To support the suggestion above, a feature where you can "drag" a permission from one group/user to another for convenience.

Taken from LuckPerms/LuckPerms#916

Organize displayed groups by tracks

It would be great to have tracks as a drop down list instead of the whole groups in random order.
That way, you can find out the group easly. If a group is not in a track, show it as usual but order by name (track first by name, then group by name).
The drop down list should also be ordered by hierarchy from the track

If you have 2 tracks with given groups:

  1. Staff
    1. Visitor
    2. Player
    3. Modo
    4. Admin
  2. VIP
    1. VIP
    2. VIP+
    3. MVP

It would be printed as 2 drop down list called "Staff" and "VIP" with their respective groups in the right order.
Meaning that Staff will have (top to bottom): Visitor, Player, Modo, Admin and VIP will have: VIP, VIP+, and MVP.

Thank you in advance ❤️ !

Better expiry handling

If you go into the Web Editor (For Players or Groups) and you want to add a Permission with an Expiry time, it wont work. If you leave the Expiry box empty, it works fine.

Ability to drag or sort groups / users in WebEditor

Just a suggestion to add the ability to reorganize groups / users when we open a web session. I see that everything is currently listed by when the group was created (I was an idiot and created my mod group MUCH later and now it's buried in the middle of my groups).

permission can save with a blank and then it won't work

If I add to a permission a blank character at the end, luckperms get a new permission definition with this character and the permission don't work after this at normal.

Can you remove all blank characters before the website give a save-link for the change-import?

Running LuckPerms v4.2.98 (Bungeecord installation)

Odd cut-off bug?

Description
If I scroll down on the editor to view a list of permissions, it gets cut off by one permission and when clicking on it all hell breaks loose.

Reproduce-ability
I was able to cause this to occur by doing the following commands:

  1. lp creategroup owner
  2. nucleus setupperms ADMIN owner
  3. lp group owner editor

Or... just use this link!
https://lpedit.lucko.me/?ffb0e08f39e7f4520e16e855dcbc0b7f

Versions
Nucleus: v1.2.0-PR5-S7.0
LuckPerms: v4.0.72
LuckPermsWebEditor: 56db620

Images
Before the click.

After the click.

Add footer

  • Small copyright notice
  • Link back to this GitHub page
  • Include a version tag - probably just a short commit hash? idk

Permission Optimisation Suggester

About

For this, a list of all known servers needs to be compiled and send with the data if it that information is not already available. A list of all known servers should be able to be found by iterating through all permission nodes and storing them in a Set, except global. This could possibly be a yellow bulb which would show information-boxes with tips on how to clean-up the permission data.

  • If a group has the same permission for all known servers, and that all those permissions have the same world, context and expire, then suggest to replace all of them with one permission entry which has global as server.

  • If a group has the same permission for both global and an another server, and both have the same world, context and expire, then suggest to remove the redundant server-specific permission as the global permission already grants that.

I am sure these rules could be expanded/optimized to fix even more of these scenarios.

Design Suggestion

I am not a designer.

ekrankopio de 2018-04-08 21-47-01

Use case

For example for us this would help us removing redundant permission nodes. We have about 15 groups and after migrating from PermissionsEX we often see this:
ekrankopio de 2018-04-08 20-37-52

Double click to change value

Would it be possible if you double click a value that it will be changed to a textbox so you can change the value directly?
This would be really helpful, then you don't need to remove the permission and add it back again with another value.

Permission selection for mass action

Basically, just a check box to the left of each permission to be able to select multiple permissions for actions such as:

  • Delete
  • toggle values (true/false, server, world, etc) all at once
  • Copy to group (sometimes multiple groups use the same permissions in different ways)

lp editor links from console

I'm unsure if this belongs to LuckPerms or LuckPermsWeb, as I've no idea where the error actually is coming from. As such, I'm posting to the exact same message to both. By all means remove or notify me to remove as necessary :)

Running the command "lp editor" (or any alternate version, e.g. for group or user, et cetera) via console does generate a link as expected, but when copied and pasted to a web browser it's a 404 error. I've already noticed that the link doesn't have the normal "?" after "editor/", so I tried adding that, at which point it then gives the "incorrectly copied or session expired, please try again" page.

I've tried with a few different browsers, no change, and it's happened on two different servers, both running 4.3.8. The command, and the link, work fine from in-game, on both servers. Screenshots to follow.

https://snag.gy/qHgyQI.jpg
https://snag.gy/UubWck.jpg

editor/tree/ verbose -> Own version

How can i use my own verion of the newest version from the webeditor?

example
Domain.de/ <- main folder
Domain.de/editor <- editor folder
Domain.de/tree <- <- tree folder
Domain.de/verbose <- verbose folder

i can only the editor when i add this line
web-editor-url: "https://Domain.de/editor/"

how can i use the other stuff. i mean tree and verbose

Mark newly added permission

Currently the only way to see which permission was added is by remembering which the last one was and see which are below it. It would be nice to indicate this a bit better, e.g. via a different colored background or some icon?

Better editor for large # of groups.

For those of us who have 300 groups or more... editing groups is hell :(

It's absolutely impossible to scroll, unless you do so with extreme slow precision, and even then, oh my lord. Id gladly show you a luckperms editor link (in private) to see what I mean.

https://image.ibb.co/gHfgcT/asd.png

This is genuinely the one thing I dislike with LuckPerms, even though I love the damn project so much so never really brought it up. If you could somehow do some magic for us in this department, <3

Idea I've had in the past:

Regex support:
/lp editor groups main_*
(would find all groups starting with main)
this was turned down by Luck however.

New idea would be to maybe give us a vertical scroll:
https://image.ibb.co/iisNj8/asd.png

Or, give us a search bar which we can use to type in a group name.

Yes, I absolutely understand the command /lp editor groupname exists, however, working in bulk, efficiently, dealing with MANY groups of the same prefix, while having 300 groups, is RIP lol.

Anyways, thought I've give this request a shot on github, if web editor is simply not a priority for you at all close it off, all good. Again I love this project very much and this is just something that would give us that final blessing lol.

Editor not working on Google Chrome

The following error is displayed in the console of the browser when trying to load the editor using Chrome Version 64.0.3282.186 (Official Build) (64-bit):
image

The editor works without problems on other browsers, such as Edge and Firefox.

Undo/redo

Would be kinda neat - not an essential feature tho.

Editor doesn't list all the permission nodes or indicate "enabled/disabled"

The LuckPerms editor provides all the permissions in an ordered way by priority which is not ideal for an editor, but it does work.

The top header where you can search for Permission, Expiry etc can be used to get a true sorted list of permissions or find one in the list. However, there appears to be two problems with using drop down.

The list is showing permissions (I'm assuming) that the list is both available to set, and already set which makes it a bit more difficult to know by looking which is or isn't set. Adding a visual indicator (*, color or even a second column in the results) clearly showing which permission node is already set would be a plus!

The second problem with the Permission drop down is it does not list all the results for servers that use a lot of plugins. One of my servers has 51 plugins from A - W, but there must be some limit restriction being imposed on the results. For mine, it stopped in the M's and I have many more after that. It's possible that the query is limited to 500 results, which is fairly common for database apps but this list should always show all of them or include some pagination for performance reasons.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.