Skip to content

Commit edeaa69

Browse files
authored
Merge pull request pterodactyl#3 from pterodactyl/develop
Pull from upstream
2 parents f54d4f9 + dffc392 commit edeaa69

File tree

168 files changed

+1270
-4344
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

168 files changed

+1270
-4344
lines changed

README.md

Lines changed: 34 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,44 @@
11
[![Logo Image](https://cdn.pterodactyl.io/logos/new/pterodactyl_logo.png)](https://pterodactyl.io)
22

33
[![Build status](https://img.shields.io/travis/pterodactyl/panel/develop.svg?style=flat-square)](https://travis-ci.org/pterodactyl/panel)
4-
[![StyleCI](https://styleci.io/repos/47508644/shield?branch=develop)](https://styleci.io/repos/47508644)
54
[![Codecov](https://img.shields.io/codecov/c/github/pterodactyl/panel/develop.svg?style=flat-square)](https://codecov.io/gh/Pterodactyl/Panel)
65
[![Discord](https://img.shields.io/discord/122900397965705216.svg?style=flat-square&label=Discord)](https://pterodactyl.io/discord)
76

87
# Pterodactyl Panel
8+
Pterodactyl is an open-source game server management panel built with PHP 7, React, and Go. Designed with security
9+
in mind, Pterodactyl runs all game servers in isolated Docker container while exposing a beautiful and intuitive
10+
UI to end users.
911

10-
Pterodactyl is the open-source game server management panel built with PHP7, Nodejs, and Go. Designed with security in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to administrators and users.
11-
What more are you waiting for? Make game servers a first class citizen on your platform today.
12+
Stop settling for less. Make game servers a first class citizen on your platform.
1213

13-
![Image](https://cdn.pterodactyl.io/site-assets/mockup-macbook-grey.png)
14+
![Image](https://cdn.pterodactyl.io/site-assets/pterodactyl_v1_demo.gif)
1415

1516
## Sponsors
16-
I would like to extend my sincere thanks to the following sponsors for funding Pterodactyl's developement. [Interested
17-
in becoming a sponsor?](https://github.com/sponsors/DaneEveritt)
18-
19-
#### [BloomVPS](https://bloomvps.com)
20-
> BloomVPS offers dedicated core VPS and Minecraft hosting with Ryzen 9 processors. With owned-hardware, we offer truly
21-
> unbeatable prices on high-performance hosting.
22-
23-
#### [VersatileNode](https://versatilenode.com/)
24-
> Looking to host a minecraft server, vps, or a website? VersatileNode is one of the most affordable hosting providers
25-
> to provide quality yet cheap services with incredible support.
26-
27-
#### [MineStrator](https://minestrator.com/)
28-
> Looking for a French highend hosting company for you minecraft server? More than 14,000 members on our discord
29-
> trust us.
30-
31-
#### [DedicatedMC](https://dedicatedmc.io/)
32-
> DedicatedMC provides Raw Power hosting at affordable pricing, making sure to never compromise on your performance
33-
> and giving you the best performance money can buy.
34-
35-
#### [Skynode](https://www.skynode.pro/)
36-
> Skynode provides blazing fast game servers along with a top notch user experience. Whatever our clients are looking
37-
> for, we're able to provide it!
38-
39-
#### [XCORE-SERVER.de](https://xcore-server.de)
40-
> XCORE-SERVER.de offers High-End Servers for hosting and gaming since 2012. Fast, excellent and well known for eSports Gaming.
41-
42-
## Support & Documentation
43-
Support for using Pterodactyl can be found on our [Documentation Website](https://pterodactyl.io/project/introduction.html), [Guides Website](https://pterodactyl.io/community/about.html), or via our [Discord Chat](https://discord.gg/QRDZvVm).
17+
I would like to extend my sincere thanks to the following sponsors for helping find Pterodactyl's developement.
18+
[Interested in becoming a sponsor?](https://github.com/sponsors/DaneEveritt)
19+
20+
| Company | About |
21+
| ------- | ----- |
22+
| [**Bloom.host**](https://bloom.host) | Bloom.host offers dedicated core VPS and Minecraft hosting with Ryzen 9 processors. With owned-hardware, we offer truly unbeatable prices on high-performance hosting. |
23+
| [**VersatileNode**](https://versatilenode.com/) | Looking to host a minecraft server, vps, or a website? VersatileNode is one of the most affordable hosting providers to provide quality yet cheap services with incredible support. |
24+
| [**MineStrator**](https://minestrator.com/) | Looking for a French highend hosting company for you minecraft server? More than 14,000 members on our discord, trust us. |
25+
| [**DedicatedMC**](https://dedicatedmc.io/) | DedicatedMC provides Raw Power hosting at affordable pricing, making sure to never compromise on your performance and giving you the best performance money can buy. |
26+
| [**Skynode**](https://www.skynode.pro/) | Skynode provides blazing fast game servers along with a top-notch user experience. Whatever our clients are looking for, we're able to provide it! |
27+
| [**XCORE-SERVER.de**](https://xcore-server.de/) | XCORE-SERVER.de offers High-End Servers for hosting and gaming since 2012. Fast, excellent and well-known for eSports Gaming. |
28+
29+
## Documentation
30+
* [Panel Documentation](https://pterodactyl.io/panel/1.0/getting_started.html)
31+
* [Wings Documentation](https://pterodactyl.io/wings/1.0/installing.html)
32+
* [Community Guides](https://pterodactyl.io/community/about.html)
33+
* Or, get additional help [via Discord](https://discord.gg/pterodactyl)
4434

4535
### Supported Games
46-
We support a huge variety of games by utilizing Docker containers to isolate each instance, giving you the power to host your games across the world without having to bloat each physical machine with additional dependencies.
36+
We support a huge variety of games by utilizing Docker containers to isolate each instance, giving you the power to
37+
host your games across the world without having to bloat each physical machine with additional dependencies.
4738

4839
Some of our core supported games include:
4940

50-
* Minecraft — including Spigot, Sponge, Bungeecord, Waterfall, and more
41+
* Minecraft — including Paper, Sponge, Bungeecord, Waterfall, and more
5142
* Rust
5243
* Terraria
5344
* Teamspeak
@@ -57,30 +48,22 @@ Some of our core supported games include:
5748
* Garry's Mod
5849
* ARK: Survival Evolved
5950

60-
In addition to our standard nest of supported games, our community is constantly pushing the limits of this software and there are plenty more games available provided by the community. Some of these games include:
51+
In addition to our standard nest of supported games, our community is constantly pushing the limits of this software
52+
and there are plenty more games available provided by the community. Some of these games include:
6153

6254
* Factorio
6355
* San Andreas: MP
6456
* Pocketmine MP
6557
* Squad
6658
* FiveM
6759
* Xonotic
68-
* Discord ATLBot
69-
70-
## Credits
71-
This software would not be possible without the work of other open-source authors who provide tools such as:
72-
73-
[Ace Editor](https://ace.c9.io), [AdminLTE](https://adminlte.io), [Animate.css](http://daneden.github.io/animate.css/), [AnsiUp](https://github.com/drudru/ansi_up), [Async.js](https://github.com/caolan/async),
74-
[Bootstrap](http://getbootstrap.com), [Bootstrap Notify](http://bootstrap-notify.remabledesigns.com), [Chart.js](http://www.chartjs.org), [FontAwesome](http://fontawesome.io),
75-
[FontAwesome Animations](https://github.com/l-lin/font-awesome-animation), [jQuery](http://jquery.com), [Laravel](https://laravel.com), [Lodash](https://lodash.com),
76-
[Select2](https://select2.github.io), [Socket.io](http://socket.io), [Socket.io File Upload](https://github.com/vote539/socketio-file-upload), [SweetAlert](http://t4t5.github.io/sweetalert),
77-
[Typeahead](https://github.com/bassjobsen/Bootstrap-3-Typeahead), and [Particles.js](http://vincentgarreau.com/particles.js).
78-
79-
Some Javascript and CSS used within the panel is licensed under a `MIT` or `Apache 2.0` license. Please check their respective header files for more information.
60+
* Starmade
61+
* Discord ATLBot, and most other Node.js/Python discord bots
62+
* [and many more...](https://github.com/parkervcp/eggs)
8063

8164
## License
8265
```
83-
Copyright (c) 2015 - 2018 Dane Everitt <dane@daneeveritt.com>.
66+
Copyright (c) 2015 - 2020 Dane Everitt <dane@daneeveritt.com> & Contributors
8467
8568
Permission is hereby granted, free of charge, to any person obtaining a copy
8669
of this software and associated documentation files (the "Software"), to deal
@@ -100,3 +83,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
10083
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
10184
SOFTWARE.
10285
```
86+
87+
Some Javascript and CSS used within the panel are licensed under a `MIT` or `Apache 2.0` license. Please check their
88+
respective header files for more information.

app/Console/Commands/User/DeleteUserCommand.php

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
namespace Pterodactyl\Console\Commands\User;
1111

1212
use Webmozart\Assert\Assert;
13+
use Pterodactyl\Models\User;
1314
use Illuminate\Console\Command;
1415
use Pterodactyl\Services\Users\UserDeletionService;
1516
use Pterodactyl\Contracts\Repository\UserRepositoryInterface;
@@ -40,16 +41,11 @@ class DeleteUserCommand extends Command
4041
* DeleteUserCommand constructor.
4142
*
4243
* @param \Pterodactyl\Services\Users\UserDeletionService $deletionService
43-
* @param \Pterodactyl\Contracts\Repository\UserRepositoryInterface $repository
4444
*/
45-
public function __construct(
46-
UserDeletionService $deletionService,
47-
UserRepositoryInterface $repository
48-
) {
45+
public function __construct(UserDeletionService $deletionService) {
4946
parent::__construct();
5047

5148
$this->deletionService = $deletionService;
52-
$this->repository = $repository;
5349
}
5450

5551
/**
@@ -59,9 +55,13 @@ public function __construct(
5955
public function handle()
6056
{
6157
$search = $this->option('user') ?? $this->ask(trans('command/messages.user.search_users'));
62-
Assert::notEmpty($search, 'Search term must be a non-null value, received %s.');
58+
Assert::notEmpty($search, 'Search term should be an email address, got: %s.');
59+
60+
$results = User::query()
61+
->where('email', 'LIKE', "$search%")
62+
->where('username', 'LIKE', "$search%")
63+
->get();
6364

64-
$results = $this->repository->setSearchTerm($search)->all();
6565
if (count($results) < 1) {
6666
$this->error(trans('command/messages.user.no_users_found'));
6767
if ($this->input->isInteractive()) {
@@ -95,5 +95,7 @@ public function handle()
9595
$this->deletionService->handle($deleteUser);
9696
$this->info(trans('command/messages.user.deleted'));
9797
}
98+
99+
return;
98100
}
99101
}

app/Contracts/Repository/AllocationRepositoryInterface.php

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,6 @@
66

77
interface AllocationRepositoryInterface extends RepositoryInterface
88
{
9-
/**
10-
* Return all of the unique IPs that exist for a given node.
11-
*
12-
* @param int $node
13-
* @return \Illuminate\Support\Collection
14-
*/
15-
public function getUniqueAllocationIpsForNode(int $node): Collection;
16-
179
/**
1810
* Return all of the allocations that exist for a node that are not currently
1911
* allocated.
@@ -23,27 +15,6 @@ public function getUniqueAllocationIpsForNode(int $node): Collection;
2315
*/
2416
public function getUnassignedAllocationIds(int $node): array;
2517

26-
/**
27-
* Get an array of all allocations that are currently assigned to a given server.
28-
*
29-
* @param int $server
30-
* @return array
31-
*/
32-
public function getAssignedAllocationIds(int $server): array;
33-
34-
/**
35-
* Return a concatenated result set of node ips that already have at least one
36-
* server assigned to that IP. This allows for filtering out sets for
37-
* dedicated allocation IPs.
38-
*
39-
* If an array of nodes is passed the results will be limited to allocations
40-
* in those nodes.
41-
*
42-
* @param array $nodes
43-
* @return array
44-
*/
45-
public function getDiscardableDedicatedAllocations(array $nodes = []): array;
46-
4718
/**
4819
* Return a single allocation from those meeting the requirements.
4920
*

app/Contracts/Repository/Attributes/SearchableInterface.php

Lines changed: 0 additions & 38 deletions
This file was deleted.

app/Contracts/Repository/DaemonKeyRepositoryInterface.php

Lines changed: 0 additions & 52 deletions
This file was deleted.

app/Contracts/Repository/LocationRepositoryInterface.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@
44

55
use Pterodactyl\Models\Location;
66
use Illuminate\Support\Collection;
7-
use Pterodactyl\Contracts\Repository\Attributes\SearchableInterface;
87

9-
interface LocationRepositoryInterface extends RepositoryInterface, SearchableInterface
8+
interface LocationRepositoryInterface extends RepositoryInterface
109
{
1110
/**
1211
* Return locations with a count of nodes and servers attached to it.

app/Contracts/Repository/NestRepositoryInterface.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
interface NestRepositoryInterface extends RepositoryInterface
1515
{
1616
/**
17-
* Return a nest or all nests with their associated eggs, variables, and packs.
17+
* Return a nest or all nests with their associated eggs and variables.
1818
*
1919
* @param int $id
2020
* @return \Illuminate\Database\Eloquent\Collection|\Pterodactyl\Models\Nest
@@ -24,7 +24,7 @@ interface NestRepositoryInterface extends RepositoryInterface
2424
public function getWithEggs(int $id = null);
2525

2626
/**
27-
* Return a nest or all nests and the count of eggs, packs, and servers for that nest.
27+
* Return a nest or all nests and the count of eggs and servers for that nest.
2828
*
2929
* @param int|null $id
3030
* @return \Pterodactyl\Models\Nest|\Illuminate\Database\Eloquent\Collection

app/Contracts/Repository/NodeRepositoryInterface.php

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
99
use Pterodactyl\Contracts\Repository\Attributes\SearchableInterface;
1010

11-
interface NodeRepositoryInterface extends RepositoryInterface, SearchableInterface
11+
interface NodeRepositoryInterface extends RepositoryInterface
1212
{
1313
const THRESHOLD_PERCENTAGE_LOW = 75;
1414
const THRESHOLD_PERCENTAGE_MEDIUM = 90;
@@ -29,13 +29,6 @@ public function getUsageStats(Node $node): array;
2929
*/
3030
public function getUsageStatsRaw(Node $node): array;
3131

32-
/**
33-
* Return all available nodes with a searchable interface.
34-
*
35-
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
36-
*/
37-
public function getNodeListingData(): LengthAwarePaginator;
38-
3932
/**
4033
* Return a single node with location and server information.
4134
*

app/Contracts/Repository/PackRepositoryInterface.php

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)