Merge branch 'develop' into feature/server-mounts
This commit is contained in:
commit
29876e023b
166 changed files with 5482 additions and 4130 deletions
|
@ -20,9 +20,7 @@ use Pterodactyl\Models\ApiKey;
|
|||
|
||||
$factory->define(Pterodactyl\Models\Server::class, function (Faker $faker) {
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'node_id' => $faker->randomNumber(),
|
||||
'uuid' => $faker->unique()->uuid,
|
||||
'uuid' => Uuid::uuid4()->toString(),
|
||||
'uuidShort' => str_random(8),
|
||||
'name' => $faker->firstName,
|
||||
'description' => implode(' ', $faker->sentences()),
|
||||
|
@ -34,9 +32,6 @@ $factory->define(Pterodactyl\Models\Server::class, function (Faker $faker) {
|
|||
'io' => 500,
|
||||
'cpu' => 0,
|
||||
'oom_disabled' => 0,
|
||||
'allocation_id' => $faker->randomNumber(),
|
||||
'nest_id' => $faker->randomNumber(),
|
||||
'egg_id' => $faker->randomNumber(),
|
||||
'pack_id' => null,
|
||||
'installed' => 1,
|
||||
'database_limit' => null,
|
||||
|
@ -50,7 +45,6 @@ $factory->define(Pterodactyl\Models\User::class, function (Faker $faker) {
|
|||
static $password;
|
||||
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'external_id' => $faker->unique()->isbn10,
|
||||
'uuid' => $faker->uuid,
|
||||
'username' => $faker->userName,
|
||||
|
@ -74,15 +68,13 @@ $factory->state(Pterodactyl\Models\User::class, 'admin', function () {
|
|||
|
||||
$factory->define(Pterodactyl\Models\Location::class, function (Faker $faker) {
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'short' => $faker->unique()->domainWord,
|
||||
'short' => Str::random(8),
|
||||
'long' => $faker->catchPhrase,
|
||||
];
|
||||
});
|
||||
|
||||
$factory->define(Pterodactyl\Models\Node::class, function (Faker $faker) {
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'uuid' => Uuid::uuid4()->toString(),
|
||||
'public' => true,
|
||||
'name' => $faker->firstName,
|
||||
|
@ -95,7 +87,7 @@ $factory->define(Pterodactyl\Models\Node::class, function (Faker $faker) {
|
|||
'disk_overallocate' => 0,
|
||||
'upload_size' => 100,
|
||||
'daemon_token_id' => Str::random(Node::DAEMON_TOKEN_ID_LENGTH),
|
||||
'daemon_token' => Str::random(Node::DAEMON_TOKEN_LENGTH),
|
||||
'daemon_token' => encrypt(Str::random(Node::DAEMON_TOKEN_LENGTH)),
|
||||
'daemonListen' => 8080,
|
||||
'daemonSFTP' => 2022,
|
||||
'daemonBase' => '/var/lib/pterodactyl/volumes',
|
||||
|
@ -104,7 +96,6 @@ $factory->define(Pterodactyl\Models\Node::class, function (Faker $faker) {
|
|||
|
||||
$factory->define(Pterodactyl\Models\Nest::class, function (Faker $faker) {
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'uuid' => $faker->unique()->uuid,
|
||||
'author' => 'testauthor@example.com',
|
||||
'name' => $faker->word,
|
||||
|
@ -114,9 +105,7 @@ $factory->define(Pterodactyl\Models\Nest::class, function (Faker $faker) {
|
|||
|
||||
$factory->define(Pterodactyl\Models\Egg::class, function (Faker $faker) {
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'uuid' => $faker->unique()->uuid,
|
||||
'nest_id' => $faker->unique()->randomNumber(),
|
||||
'name' => $faker->name,
|
||||
'description' => implode(' ', $faker->sentences(3)),
|
||||
'startup' => 'java -jar test.jar',
|
||||
|
@ -125,7 +114,6 @@ $factory->define(Pterodactyl\Models\Egg::class, function (Faker $faker) {
|
|||
|
||||
$factory->define(Pterodactyl\Models\EggVariable::class, function (Faker $faker) {
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'name' => $faker->firstName,
|
||||
'description' => $faker->sentence(),
|
||||
'env_variable' => strtoupper(str_replace(' ', '_', $faker->words(2, true))),
|
||||
|
@ -146,8 +134,6 @@ $factory->state(Pterodactyl\Models\EggVariable::class, 'editable', function () {
|
|||
|
||||
$factory->define(Pterodactyl\Models\Pack::class, function (Faker $faker) {
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'egg_id' => $faker->randomNumber(),
|
||||
'uuid' => $faker->uuid,
|
||||
'name' => $faker->word,
|
||||
'description' => null,
|
||||
|
@ -159,17 +145,11 @@ $factory->define(Pterodactyl\Models\Pack::class, function (Faker $faker) {
|
|||
});
|
||||
|
||||
$factory->define(Pterodactyl\Models\Subuser::class, function (Faker $faker) {
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'user_id' => $faker->randomNumber(),
|
||||
'server_id' => $faker->randomNumber(),
|
||||
];
|
||||
return [];
|
||||
});
|
||||
|
||||
$factory->define(Pterodactyl\Models\Allocation::class, function (Faker $faker) {
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'node_id' => $faker->randomNumber(),
|
||||
'ip' => $faker->ipv4,
|
||||
'port' => $faker->randomNumber(5),
|
||||
];
|
||||
|
@ -177,13 +157,11 @@ $factory->define(Pterodactyl\Models\Allocation::class, function (Faker $faker) {
|
|||
|
||||
$factory->define(Pterodactyl\Models\DatabaseHost::class, function (Faker $faker) {
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'name' => $faker->colorName,
|
||||
'host' => $faker->unique()->ipv4,
|
||||
'port' => 3306,
|
||||
'username' => $faker->colorName,
|
||||
'password' => Crypt::encrypt($faker->word),
|
||||
'node_id' => $faker->randomNumber(),
|
||||
];
|
||||
});
|
||||
|
||||
|
@ -191,9 +169,6 @@ $factory->define(Pterodactyl\Models\Database::class, function (Faker $faker) {
|
|||
static $password;
|
||||
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'server_id' => $faker->randomNumber(),
|
||||
'database_host_id' => $faker->randomNumber(),
|
||||
'database' => str_random(10),
|
||||
'username' => str_random(10),
|
||||
'remote' => '%',
|
||||
|
@ -205,16 +180,12 @@ $factory->define(Pterodactyl\Models\Database::class, function (Faker $faker) {
|
|||
|
||||
$factory->define(Pterodactyl\Models\Schedule::class, function (Faker $faker) {
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'server_id' => $faker->randomNumber(),
|
||||
'name' => $faker->firstName(),
|
||||
];
|
||||
});
|
||||
|
||||
$factory->define(Pterodactyl\Models\Task::class, function (Faker $faker) {
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'schedule_id' => $faker->randomNumber(),
|
||||
'sequence_id' => $faker->randomNumber(1),
|
||||
'action' => 'command',
|
||||
'payload' => 'test command',
|
||||
|
@ -225,9 +196,6 @@ $factory->define(Pterodactyl\Models\Task::class, function (Faker $faker) {
|
|||
|
||||
$factory->define(Pterodactyl\Models\DaemonKey::class, function (Faker $faker) {
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'server_id' => $faker->randomNumber(),
|
||||
'user_id' => $faker->randomNumber(),
|
||||
'secret' => 'i_' . str_random(40),
|
||||
'expires_at' => \Carbon\Carbon::now()->addMinutes(10)->toDateTimeString(),
|
||||
];
|
||||
|
@ -237,8 +205,6 @@ $factory->define(Pterodactyl\Models\ApiKey::class, function (Faker $faker) {
|
|||
static $token;
|
||||
|
||||
return [
|
||||
'id' => $faker->unique()->randomNumber(),
|
||||
'user_id' => $faker->randomNumber(),
|
||||
'key_type' => ApiKey::TYPE_APPLICATION,
|
||||
'identifier' => str_random(Pterodactyl\Models\ApiKey::IDENTIFIER_LENGTH),
|
||||
'token' => $token ?: $token = encrypt(str_random(Pterodactyl\Models\ApiKey::KEY_LENGTH)),
|
||||
|
|
|
@ -23,6 +23,5 @@ class DeleteTaskWhenParentServerIsDeleted extends Migration
|
|||
*/
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AllowNullableDescriptions extends Migration
|
||||
{
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AddMaxConnectionsColumn extends Migration
|
||||
{
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AddBackupLimitToServers extends Migration
|
||||
{
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateUserRecoveryTokensTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('recovery_tokens', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->unsignedInteger('user_id');
|
||||
$table->string('token');
|
||||
$table->timestamp('created_at')->nullable();
|
||||
|
||||
$table->foreign('user_id')->references('id')->on('users')->cascadeOnDelete();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('recovery_tokens');
|
||||
}
|
||||
}
|
|
@ -112,14 +112,16 @@ class EggSeeder extends Seeder
|
|||
$files = $this->filesystem->allFiles(database_path('seeds/eggs/' . kebab_case($nest->name)));
|
||||
|
||||
$this->command->alert('Updating Eggs for Nest: ' . $nest->name);
|
||||
collect($files)->each(function ($file) use ($nest) {
|
||||
Collection::make($files)->each(function ($file) use ($nest) {
|
||||
/* @var \Symfony\Component\Finder\SplFileInfo $file */
|
||||
$decoded = json_decode($file->getContents());
|
||||
if (json_last_error() !== JSON_ERROR_NONE) {
|
||||
return $this->command->error('JSON decode exception for ' . $file->getFilename() . ': ' . json_last_error_msg());
|
||||
$this->command->error('JSON decode exception for ' . $file->getFilename() . ': ' . json_last_error_msg());
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$file = new UploadedFile($file->getPathname(), $file->getFilename(), 'application/json', $file->getSize());
|
||||
$file = new UploadedFile($file->getPathname(), $file->getFilename(), 'application/json');
|
||||
|
||||
try {
|
||||
$egg = $this->repository->setColumns('id')->findFirstWhere([
|
||||
|
@ -130,11 +132,11 @@ class EggSeeder extends Seeder
|
|||
|
||||
$this->updateImporterService->handle($egg->id, $file);
|
||||
|
||||
return $this->command->info('Updated ' . $decoded->name);
|
||||
$this->command->info('Updated ' . $decoded->name);
|
||||
} catch (RecordNotFoundException $exception) {
|
||||
$this->importerService->handle($file, $nest->id);
|
||||
|
||||
return $this->command->comment('Created ' . $decoded->name);
|
||||
$this->command->comment('Created ' . $decoded->name);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
"name": "Server Version",
|
||||
"description": "Version of Mumble Server to download and use.",
|
||||
"env_variable": "MUMBLE_VERSION",
|
||||
"default_value": "1.2.19",
|
||||
"default_value": "1.3.1",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|regex:\/^([0-9_\\.-]{5,8})$\/"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue