pterodactyl / panel

Pterodactyl® is a free, open-source game server management panel built with PHP, React, and Go. Designed with security in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to end users.
https://pterodactyl.io
Other
6.66k stars 1.68k forks source link

[Feature Request] Add groups management #326

Open jffz opened 7 years ago

jffz commented 7 years ago

Would be really nice if we could do servers or users group to easily assign servers administration.

DaneEveritt commented 7 years ago

Could you expand/explain this a little more?

jffz commented 7 years ago

This would allow easy management of multiple servers / users, this would be really useful for community with multiple servers.

We could create a user group and then associate servers to it or even servers group to easily manage team access

jffz commented 6 years ago

Really needed for real users / servers / management. I don't know how someone can handle 50 servers and a 10 man staff without groups :/

sorbanbela commented 6 years ago

it would be also a great idea to have ability to sort servers in a given order

schrej commented 6 years ago

@Raideerke how is that related to Groups management?

lancepioch commented 6 years ago

Example database migration:

<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddTeams extends Migration
{
    /**
     * Run the migrations.
     */
    public function up()
    {
        Schema::create('teams', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            // $table->tinyInteger('use_totp')->unsigned(); // optional, require all users on team to have 2FA
            $table->timestamps();
        });

        // Many to Many Relationship Table
        Schema::create('team_user', function (Blueprint $table) {
            // Optional PK both team_id and user_id but maybe not because of poor Laravel support
            $table->integer('team_id')->unsigned()->nullable();
            $table->foreign('team_id')->references('id')->on('teams')->onDelete('cascade');
            $table->integer('user_id')->unsigned()->nullable();
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->timestamps();
        });
    }
    /**
     * Reverse the migrations.
     */
    public function down()
    {
        Schema::dropIfExists('teams');
        Schema::dropIfExists('team_user');
    }
}
DaneEveritt commented 6 years ago

So would teams be similar to organizations on Github where one user is the owner, and then you go from there.

So in this case you have a server, and Bob is the owner. Bob can create a team on that server, and then any other servers he is a member of now have that team applied to them? We should probably think this one through a bit more to make it work in the best fashion.

Regardless I don't think its a good fir for 0.7 given the deadlines I've set for it already, and the changes that we probably need to make. Would be best to save it for another release cycle.

jffz commented 6 years ago

I think it should need to be implemented at all levels. The idea is to implement group for all 'objects' in ptero:

And from there link any usergroup to any nodegroup/servegroup or even a single node/server.

Iwhite67 commented 6 years ago

Hello, is possible to make this ? Because i have one panel for manage a multiple serv

ex : I have two people from FDJ Esport, he need to manage just the node with FDJ server but in side, i have my own serv with one other admin.

so, node groups with the node fdj serv with admin fdj and node with my own server and admin with this

BrainStone commented 6 years ago

I'd love to bring this up again.

A basic group feature that would allow assigning server permissions to a group instead of a user. So then you could have several users in that group and assign that group the server specific permissions instead of a per user basis. This should also apply correctly to new users added to the group. And the user should lose permissions if they are removed from the group.

Next level would be server groups, so you can assign the permissions to users/groups of multiple servers at once.

Of course individual permissions would override the group permissions.

0xC1A551C commented 5 years ago

I need this.

Mrs-Feathers commented 4 years ago

someone asked what LDAP has to do with groups: the answer is simple LDAP is a lookup directory of linux users on a system. users have groups. groups are able to be looked up by LDAP as well. any kind of LDAP login system say for your website or anywhere else can then be translated to pterodactyl... making everything a lot smoother for server owners and people who use them. groups in pterodactyl would be assigned via LDAP as linux usergroups.

i use puffer panel right now for my needs, hosting a "game server, server farm" and tbh id LDAP was put into pterodactyl, i would switch in a heartbeat. i really honestly would donate to see this happen. i have a SSO running on my website.. i've got kanboard and wordpress and a tonne of other stuff running lime survey.. they all have LDAP. so i only have to make a staff member a single account to give them the keys to where they need to go to do their work.

and being that we're a game server server farm... the staff need to interact with the servers they're assgined to.. making me have to create multiple accounts for each staff just for the servers. while everything else is just one account via LDAP.

DaneEveritt commented 4 years ago

This is super low on my priority list, and likely will not happen in any meaningful amount of time.

redstonedesigner commented 4 years ago

For at-scale uses, this is definitely a necessary requirement for usage of Pterodactyl.

Currently, adding a user to a server takes around 2 minutes per server. This would be significantly reduced if this were implemented.

Mechite commented 3 years ago

image

Honestly, in my opinion a feature we really honestly need first is to be able to JUST ORGANIZE servers, with the form of something like a tag, etc. As you can see on my panel, there is no organization though I have ordered everything nicely so I just get this huge bundle of servers to look at. If it was possible for each user to be able to tag their servers to organize them it would be so much nicer. [I have modified the panel as you can see clearly, and I also mean tags being stored per user, not per server. If someone gets added to a server, they should be able to tag it how they like on THEIR account. Tag should have subusers in the future, so I can add my friend to the Databases tag for example, and he'll be added to every server in the tag, along with having them tagged on his account with the same name (though that tag is owned by him on his side, so can be modified by him without affecting me)

Here's an example of what I would like the panel to eventually look like:

image

DrWackyBob commented 2 years ago

This would be an amazing feature if it was added. Being able to organise servers and users into groups would help with the way people use the panel alot. Making it much easier and quicker to add users to servers and find servers in the list of servers which can sometimes be quite long.

Proximity77 commented 2 years ago

bump

baticag commented 2 years ago

This feature for server grouping is a must! :D

timecraftno commented 2 years ago

would have liked to see this feature added

Johandrex commented 2 years ago

when