gitextract_7le1g290/ ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── 1-bug-report.yml │ │ ├── 2-approved.yml │ │ └── config.yml │ ├── docker/ │ │ ├── README.md │ │ ├── default.conf │ │ ├── default_ssl.conf │ │ ├── entrypoint.sh │ │ ├── supervisord.conf │ │ └── www.conf │ └── workflows/ │ ├── build.yaml │ ├── ci.yaml │ ├── docker.yaml │ └── release.yaml ├── .gitignore ├── .php-cs-fixer.dist.php ├── .prettierrc.json ├── BUILDING.md ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE.md ├── README.md ├── SECURITY.md ├── app/ │ ├── Console/ │ │ ├── Commands/ │ │ │ ├── Environment/ │ │ │ │ ├── AppSettingsCommand.php │ │ │ │ ├── DatabaseSettingsCommand.php │ │ │ │ └── EmailSettingsCommand.php │ │ │ ├── InfoCommand.php │ │ │ ├── Location/ │ │ │ │ ├── DeleteLocationCommand.php │ │ │ │ └── MakeLocationCommand.php │ │ │ ├── Maintenance/ │ │ │ │ ├── CleanServiceBackupFilesCommand.php │ │ │ │ └── PruneOrphanedBackupsCommand.php │ │ │ ├── Node/ │ │ │ │ ├── MakeNodeCommand.php │ │ │ │ ├── NodeConfigurationCommand.php │ │ │ │ └── NodeListCommand.php │ │ │ ├── Overrides/ │ │ │ │ ├── KeyGenerateCommand.php │ │ │ │ ├── SeedCommand.php │ │ │ │ └── UpCommand.php │ │ │ ├── Schedule/ │ │ │ │ └── ProcessRunnableCommand.php │ │ │ ├── Server/ │ │ │ │ └── BulkPowerActionCommand.php │ │ │ ├── TelemetryCommand.php │ │ │ ├── UpgradeCommand.php │ │ │ └── User/ │ │ │ ├── DeleteUserCommand.php │ │ │ ├── DisableTwoFactorCommand.php │ │ │ └── MakeUserCommand.php │ │ ├── Kernel.php │ │ └── RequiresDatabaseMigrations.php │ ├── Contracts/ │ │ ├── Core/ │ │ │ └── ReceivesEvents.php │ │ ├── Criteria/ │ │ │ └── CriteriaInterface.php │ │ ├── Extensions/ │ │ │ └── HashidsInterface.php │ │ ├── Http/ │ │ │ └── ClientPermissionsRequest.php │ │ ├── Models/ │ │ │ └── Identifiable.php │ │ └── Repository/ │ │ ├── AllocationRepositoryInterface.php │ │ ├── ApiKeyRepositoryInterface.php │ │ ├── ApiPermissionRepositoryInterface.php │ │ ├── DatabaseHostRepositoryInterface.php │ │ ├── DatabaseRepositoryInterface.php │ │ ├── EggRepositoryInterface.php │ │ ├── EggVariableRepositoryInterface.php │ │ ├── LocationRepositoryInterface.php │ │ ├── NestRepositoryInterface.php │ │ ├── NodeRepositoryInterface.php │ │ ├── PermissionRepositoryInterface.php │ │ ├── RepositoryInterface.php │ │ ├── ScheduleRepositoryInterface.php │ │ ├── ServerRepositoryInterface.php │ │ ├── ServerVariableRepositoryInterface.php │ │ ├── SessionRepositoryInterface.php │ │ ├── SettingsRepositoryInterface.php │ │ ├── SubuserRepositoryInterface.php │ │ ├── TaskRepositoryInterface.php │ │ └── UserRepositoryInterface.php │ ├── Enum/ │ │ └── ResourceLimit.php │ ├── Events/ │ │ ├── ActivityLogged.php │ │ ├── Auth/ │ │ │ ├── DirectLogin.php │ │ │ ├── FailedCaptcha.php │ │ │ ├── FailedPasswordReset.php │ │ │ └── ProvidedAuthenticationToken.php │ │ ├── Event.php │ │ ├── Server/ │ │ │ ├── Created.php │ │ │ ├── Creating.php │ │ │ ├── Deleted.php │ │ │ ├── Deleting.php │ │ │ ├── Installed.php │ │ │ ├── Saved.php │ │ │ ├── Saving.php │ │ │ ├── Updated.php │ │ │ └── Updating.php │ │ ├── Subuser/ │ │ │ ├── Created.php │ │ │ ├── Creating.php │ │ │ ├── Deleted.php │ │ │ └── Deleting.php │ │ └── User/ │ │ ├── Created.php │ │ ├── Creating.php │ │ ├── Deleted.php │ │ ├── Deleting.php │ │ └── PasswordChanged.php │ ├── Exceptions/ │ │ ├── AccountNotFoundException.php │ │ ├── AutoDeploymentException.php │ │ ├── DisplayException.php │ │ ├── Handler.php │ │ ├── Http/ │ │ │ ├── Base/ │ │ │ │ └── InvalidPasswordProvidedException.php │ │ │ ├── Connection/ │ │ │ │ └── DaemonConnectionException.php │ │ │ ├── HttpForbiddenException.php │ │ │ ├── Server/ │ │ │ │ ├── FileSizeTooLargeException.php │ │ │ │ ├── FileTypeNotEditableException.php │ │ │ │ └── ServerStateConflictException.php │ │ │ └── TwoFactorAuthRequiredException.php │ │ ├── ManifestDoesNotExistException.php │ │ ├── Model/ │ │ │ └── DataValidationException.php │ │ ├── PterodactylException.php │ │ ├── Repository/ │ │ │ ├── Daemon/ │ │ │ │ └── InvalidPowerSignalException.php │ │ │ ├── DuplicateDatabaseNameException.php │ │ │ ├── RecordNotFoundException.php │ │ │ └── RepositoryException.php │ │ ├── Service/ │ │ │ ├── Allocation/ │ │ │ │ ├── AllocationDoesNotBelongToServerException.php │ │ │ │ ├── AutoAllocationNotEnabledException.php │ │ │ │ ├── CidrOutOfRangeException.php │ │ │ │ ├── InvalidPortMappingException.php │ │ │ │ ├── NoAutoAllocationSpaceAvailableException.php │ │ │ │ ├── PortOutOfRangeException.php │ │ │ │ ├── ServerUsingAllocationException.php │ │ │ │ └── TooManyPortsInRangeException.php │ │ │ ├── Backup/ │ │ │ │ ├── BackupLockedException.php │ │ │ │ └── TooManyBackupsException.php │ │ │ ├── Database/ │ │ │ │ ├── DatabaseClientFeatureNotEnabledException.php │ │ │ │ ├── NoSuitableDatabaseHostException.php │ │ │ │ └── TooManyDatabasesException.php │ │ │ ├── Deployment/ │ │ │ │ ├── NoViableAllocationException.php │ │ │ │ └── NoViableNodeException.php │ │ │ ├── Egg/ │ │ │ │ ├── BadJsonFormatException.php │ │ │ │ ├── HasChildrenException.php │ │ │ │ ├── InvalidCopyFromException.php │ │ │ │ ├── NoParentConfigurationFoundException.php │ │ │ │ └── Variable/ │ │ │ │ ├── BadValidationRuleException.php │ │ │ │ └── ReservedVariableNameException.php │ │ │ ├── HasActiveServersException.php │ │ │ ├── Helper/ │ │ │ │ └── CdnVersionFetchingException.php │ │ │ ├── InvalidFileUploadException.php │ │ │ ├── Location/ │ │ │ │ └── HasActiveNodesException.php │ │ │ ├── Node/ │ │ │ │ └── ConfigurationNotPersistedException.php │ │ │ ├── Schedule/ │ │ │ │ └── Task/ │ │ │ │ └── TaskIntervalTooLongException.php │ │ │ ├── Server/ │ │ │ │ └── RequiredVariableMissingException.php │ │ │ ├── ServiceLimitExceededException.php │ │ │ ├── Subuser/ │ │ │ │ ├── ServerSubuserExistsException.php │ │ │ │ └── UserIsServerOwnerException.php │ │ │ └── User/ │ │ │ └── TwoFactorAuthenticationTokenInvalid.php │ │ ├── Solutions/ │ │ │ └── ManifestDoesNotExistSolution.php │ │ └── Transformer/ │ │ └── InvalidTransformerLevelException.php │ ├── Extensions/ │ │ ├── Backups/ │ │ │ └── BackupManager.php │ │ ├── DynamicDatabaseConnection.php │ │ ├── Facades/ │ │ │ └── Theme.php │ │ ├── Filesystem/ │ │ │ └── S3Filesystem.php │ │ ├── Hashids.php │ │ ├── Illuminate/ │ │ │ ├── Database/ │ │ │ │ └── Eloquent/ │ │ │ │ └── Builder.php │ │ │ └── Events/ │ │ │ └── Contracts/ │ │ │ └── SubscribesToEvents.php │ │ ├── Laravel/ │ │ │ └── Sanctum/ │ │ │ └── NewAccessToken.php │ │ ├── Lcobucci/ │ │ │ └── JWT/ │ │ │ └── Encoding/ │ │ │ └── TimestampDates.php │ │ ├── League/ │ │ │ └── Fractal/ │ │ │ └── Serializers/ │ │ │ └── PterodactylSerializer.php │ │ ├── Spatie/ │ │ │ └── Fractalistic/ │ │ │ └── Fractal.php │ │ └── Themes/ │ │ └── Theme.php │ ├── Facades/ │ │ ├── Activity.php │ │ ├── LogBatch.php │ │ └── LogTarget.php │ ├── Helpers/ │ │ ├── Time.php │ │ └── Utilities.php │ ├── Http/ │ │ ├── Controllers/ │ │ │ ├── Admin/ │ │ │ │ ├── ApiController.php │ │ │ │ ├── BaseController.php │ │ │ │ ├── DatabaseController.php │ │ │ │ ├── LocationController.php │ │ │ │ ├── MountController.php │ │ │ │ ├── Nests/ │ │ │ │ │ ├── EggController.php │ │ │ │ │ ├── EggScriptController.php │ │ │ │ │ ├── EggShareController.php │ │ │ │ │ ├── EggVariableController.php │ │ │ │ │ └── NestController.php │ │ │ │ ├── NodeAutoDeployController.php │ │ │ │ ├── Nodes/ │ │ │ │ │ ├── NodeController.php │ │ │ │ │ ├── NodeViewController.php │ │ │ │ │ └── SystemInformationController.php │ │ │ │ ├── NodesController.php │ │ │ │ ├── Servers/ │ │ │ │ │ ├── CreateServerController.php │ │ │ │ │ ├── ServerController.php │ │ │ │ │ ├── ServerTransferController.php │ │ │ │ │ └── ServerViewController.php │ │ │ │ ├── ServersController.php │ │ │ │ ├── Settings/ │ │ │ │ │ ├── AdvancedController.php │ │ │ │ │ ├── IndexController.php │ │ │ │ │ └── MailController.php │ │ │ │ └── UserController.php │ │ │ ├── Api/ │ │ │ │ ├── Application/ │ │ │ │ │ ├── ApplicationApiController.php │ │ │ │ │ ├── Locations/ │ │ │ │ │ │ └── LocationController.php │ │ │ │ │ ├── Nests/ │ │ │ │ │ │ ├── EggController.php │ │ │ │ │ │ └── NestController.php │ │ │ │ │ ├── Nodes/ │ │ │ │ │ │ ├── AllocationController.php │ │ │ │ │ │ ├── NodeConfigurationController.php │ │ │ │ │ │ ├── NodeController.php │ │ │ │ │ │ └── NodeDeploymentController.php │ │ │ │ │ ├── Servers/ │ │ │ │ │ │ ├── DatabaseController.php │ │ │ │ │ │ ├── ExternalServerController.php │ │ │ │ │ │ ├── ServerController.php │ │ │ │ │ │ ├── ServerDetailsController.php │ │ │ │ │ │ ├── ServerManagementController.php │ │ │ │ │ │ └── StartupController.php │ │ │ │ │ └── Users/ │ │ │ │ │ ├── ExternalUserController.php │ │ │ │ │ └── UserController.php │ │ │ │ ├── Client/ │ │ │ │ │ ├── AccountController.php │ │ │ │ │ ├── ActivityLogController.php │ │ │ │ │ ├── ApiKeyController.php │ │ │ │ │ ├── ClientApiController.php │ │ │ │ │ ├── ClientController.php │ │ │ │ │ ├── SSHKeyController.php │ │ │ │ │ ├── Servers/ │ │ │ │ │ │ ├── ActivityLogController.php │ │ │ │ │ │ ├── BackupController.php │ │ │ │ │ │ ├── CommandController.php │ │ │ │ │ │ ├── DatabaseController.php │ │ │ │ │ │ ├── FileController.php │ │ │ │ │ │ ├── FileUploadController.php │ │ │ │ │ │ ├── NetworkAllocationController.php │ │ │ │ │ │ ├── PowerController.php │ │ │ │ │ │ ├── ResourceUtilizationController.php │ │ │ │ │ │ ├── ScheduleController.php │ │ │ │ │ │ ├── ScheduleTaskController.php │ │ │ │ │ │ ├── ServerController.php │ │ │ │ │ │ ├── SettingsController.php │ │ │ │ │ │ ├── StartupController.php │ │ │ │ │ │ ├── SubuserController.php │ │ │ │ │ │ └── WebsocketController.php │ │ │ │ │ └── TwoFactorController.php │ │ │ │ └── Remote/ │ │ │ │ ├── ActivityProcessingController.php │ │ │ │ ├── Backups/ │ │ │ │ │ ├── BackupRemoteUploadController.php │ │ │ │ │ └── BackupStatusController.php │ │ │ │ ├── EggInstallController.php │ │ │ │ ├── Servers/ │ │ │ │ │ ├── ServerDetailsController.php │ │ │ │ │ ├── ServerInstallController.php │ │ │ │ │ └── ServerTransferController.php │ │ │ │ └── SftpAuthenticationController.php │ │ │ ├── Auth/ │ │ │ │ ├── AbstractLoginController.php │ │ │ │ ├── ForgotPasswordController.php │ │ │ │ ├── LoginCheckpointController.php │ │ │ │ ├── LoginController.php │ │ │ │ └── ResetPasswordController.php │ │ │ ├── Base/ │ │ │ │ ├── IndexController.php │ │ │ │ └── LocaleController.php │ │ │ └── Controller.php │ │ ├── Kernel.php │ │ ├── Middleware/ │ │ │ ├── Activity/ │ │ │ │ ├── AccountSubject.php │ │ │ │ ├── ServerSubject.php │ │ │ │ └── TrackAPIKey.php │ │ │ ├── Admin/ │ │ │ │ └── Servers/ │ │ │ │ └── ServerInstalled.php │ │ │ ├── AdminAuthenticate.php │ │ │ ├── Api/ │ │ │ │ ├── Application/ │ │ │ │ │ └── AuthenticateApplicationUser.php │ │ │ │ ├── AuthenticateIPAccess.php │ │ │ │ ├── Client/ │ │ │ │ │ ├── RequireClientApiKey.php │ │ │ │ │ ├── Server/ │ │ │ │ │ │ ├── AuthenticateServerAccess.php │ │ │ │ │ │ └── ResourceBelongsToServer.php │ │ │ │ │ └── SubstituteClientBindings.php │ │ │ │ ├── Daemon/ │ │ │ │ │ └── DaemonAuthenticate.php │ │ │ │ └── IsValidJson.php │ │ │ ├── EncryptCookies.php │ │ │ ├── EnsureStatefulRequests.php │ │ │ ├── LanguageMiddleware.php │ │ │ ├── MaintenanceMiddleware.php │ │ │ ├── RedirectIfAuthenticated.php │ │ │ ├── RequireTwoFactorAuthentication.php │ │ │ ├── SetSecurityHeaders.php │ │ │ ├── TrimStrings.php │ │ │ ├── VerifyCsrfToken.php │ │ │ └── VerifyReCaptcha.php │ │ ├── Requests/ │ │ │ ├── Admin/ │ │ │ │ ├── AdminFormRequest.php │ │ │ │ ├── Api/ │ │ │ │ │ └── StoreApplicationApiKeyRequest.php │ │ │ │ ├── BaseFormRequest.php │ │ │ │ ├── DatabaseHostFormRequest.php │ │ │ │ ├── Egg/ │ │ │ │ │ ├── EggFormRequest.php │ │ │ │ │ ├── EggImportFormRequest.php │ │ │ │ │ ├── EggScriptFormRequest.php │ │ │ │ │ └── EggVariableFormRequest.php │ │ │ │ ├── LocationFormRequest.php │ │ │ │ ├── MountFormRequest.php │ │ │ │ ├── Nest/ │ │ │ │ │ └── StoreNestFormRequest.php │ │ │ │ ├── NewUserFormRequest.php │ │ │ │ ├── Node/ │ │ │ │ │ ├── AllocationAliasFormRequest.php │ │ │ │ │ ├── AllocationFormRequest.php │ │ │ │ │ └── NodeFormRequest.php │ │ │ │ ├── ServerFormRequest.php │ │ │ │ ├── Servers/ │ │ │ │ │ └── Databases/ │ │ │ │ │ └── StoreServerDatabaseRequest.php │ │ │ │ ├── Settings/ │ │ │ │ │ ├── AdvancedSettingsFormRequest.php │ │ │ │ │ ├── BaseSettingsFormRequest.php │ │ │ │ │ └── MailSettingsFormRequest.php │ │ │ │ └── UserFormRequest.php │ │ │ ├── Api/ │ │ │ │ ├── Application/ │ │ │ │ │ ├── Allocations/ │ │ │ │ │ │ ├── DeleteAllocationRequest.php │ │ │ │ │ │ ├── GetAllocationsRequest.php │ │ │ │ │ │ └── StoreAllocationRequest.php │ │ │ │ │ ├── ApplicationApiRequest.php │ │ │ │ │ ├── Locations/ │ │ │ │ │ │ ├── DeleteLocationRequest.php │ │ │ │ │ │ ├── GetLocationRequest.php │ │ │ │ │ │ ├── GetLocationsRequest.php │ │ │ │ │ │ ├── StoreLocationRequest.php │ │ │ │ │ │ └── UpdateLocationRequest.php │ │ │ │ │ ├── Nests/ │ │ │ │ │ │ ├── Eggs/ │ │ │ │ │ │ │ ├── GetEggRequest.php │ │ │ │ │ │ │ └── GetEggsRequest.php │ │ │ │ │ │ └── GetNestsRequest.php │ │ │ │ │ ├── Nodes/ │ │ │ │ │ │ ├── DeleteNodeRequest.php │ │ │ │ │ │ ├── GetDeployableNodesRequest.php │ │ │ │ │ │ ├── GetNodeRequest.php │ │ │ │ │ │ ├── GetNodesRequest.php │ │ │ │ │ │ ├── StoreNodeRequest.php │ │ │ │ │ │ └── UpdateNodeRequest.php │ │ │ │ │ ├── Servers/ │ │ │ │ │ │ ├── Databases/ │ │ │ │ │ │ │ ├── GetServerDatabaseRequest.php │ │ │ │ │ │ │ ├── GetServerDatabasesRequest.php │ │ │ │ │ │ │ ├── ServerDatabaseWriteRequest.php │ │ │ │ │ │ │ └── StoreServerDatabaseRequest.php │ │ │ │ │ │ ├── GetExternalServerRequest.php │ │ │ │ │ │ ├── GetServerRequest.php │ │ │ │ │ │ ├── GetServersRequest.php │ │ │ │ │ │ ├── ServerWriteRequest.php │ │ │ │ │ │ ├── StoreServerRequest.php │ │ │ │ │ │ ├── UpdateServerBuildConfigurationRequest.php │ │ │ │ │ │ ├── UpdateServerDetailsRequest.php │ │ │ │ │ │ └── UpdateServerStartupRequest.php │ │ │ │ │ └── Users/ │ │ │ │ │ ├── DeleteUserRequest.php │ │ │ │ │ ├── GetExternalUserRequest.php │ │ │ │ │ ├── GetUsersRequest.php │ │ │ │ │ ├── StoreUserRequest.php │ │ │ │ │ └── UpdateUserRequest.php │ │ │ │ ├── Client/ │ │ │ │ │ ├── Account/ │ │ │ │ │ │ ├── StoreApiKeyRequest.php │ │ │ │ │ │ ├── StoreSSHKeyRequest.php │ │ │ │ │ │ ├── UpdateEmailRequest.php │ │ │ │ │ │ └── UpdatePasswordRequest.php │ │ │ │ │ ├── ClientApiRequest.php │ │ │ │ │ ├── GetServersRequest.php │ │ │ │ │ └── Servers/ │ │ │ │ │ ├── Backups/ │ │ │ │ │ │ ├── RestoreBackupRequest.php │ │ │ │ │ │ └── StoreBackupRequest.php │ │ │ │ │ ├── Databases/ │ │ │ │ │ │ ├── DeleteDatabaseRequest.php │ │ │ │ │ │ ├── GetDatabasesRequest.php │ │ │ │ │ │ ├── RotatePasswordRequest.php │ │ │ │ │ │ └── StoreDatabaseRequest.php │ │ │ │ │ ├── Files/ │ │ │ │ │ │ ├── ChmodFilesRequest.php │ │ │ │ │ │ ├── CompressFilesRequest.php │ │ │ │ │ │ ├── CopyFileRequest.php │ │ │ │ │ │ ├── CreateFolderRequest.php │ │ │ │ │ │ ├── DecompressFilesRequest.php │ │ │ │ │ │ ├── DeleteFileRequest.php │ │ │ │ │ │ ├── DownloadFileRequest.php │ │ │ │ │ │ ├── GetFileContentsRequest.php │ │ │ │ │ │ ├── ListFilesRequest.php │ │ │ │ │ │ ├── PullFileRequest.php │ │ │ │ │ │ ├── RenameFileRequest.php │ │ │ │ │ │ ├── UploadFileRequest.php │ │ │ │ │ │ └── WriteFileContentRequest.php │ │ │ │ │ ├── GetServerRequest.php │ │ │ │ │ ├── Network/ │ │ │ │ │ │ ├── DeleteAllocationRequest.php │ │ │ │ │ │ ├── GetNetworkRequest.php │ │ │ │ │ │ ├── NewAllocationRequest.php │ │ │ │ │ │ ├── SetPrimaryAllocationRequest.php │ │ │ │ │ │ └── UpdateAllocationRequest.php │ │ │ │ │ ├── Schedules/ │ │ │ │ │ │ ├── DeleteScheduleRequest.php │ │ │ │ │ │ ├── StoreScheduleRequest.php │ │ │ │ │ │ ├── StoreTaskRequest.php │ │ │ │ │ │ ├── TriggerScheduleRequest.php │ │ │ │ │ │ ├── UpdateScheduleRequest.php │ │ │ │ │ │ └── ViewScheduleRequest.php │ │ │ │ │ ├── SendCommandRequest.php │ │ │ │ │ ├── SendPowerRequest.php │ │ │ │ │ ├── Settings/ │ │ │ │ │ │ ├── ReinstallServerRequest.php │ │ │ │ │ │ ├── RenameServerRequest.php │ │ │ │ │ │ └── SetDockerImageRequest.php │ │ │ │ │ ├── Startup/ │ │ │ │ │ │ ├── GetStartupRequest.php │ │ │ │ │ │ ├── UpdateEggRequest.php │ │ │ │ │ │ └── UpdateStartupVariableRequest.php │ │ │ │ │ └── Subusers/ │ │ │ │ │ ├── DeleteSubuserRequest.php │ │ │ │ │ ├── GetSubuserRequest.php │ │ │ │ │ ├── StoreSubuserRequest.php │ │ │ │ │ ├── SubuserRequest.php │ │ │ │ │ └── UpdateSubuserRequest.php │ │ │ │ └── Remote/ │ │ │ │ ├── ActivityEventRequest.php │ │ │ │ ├── AuthenticateWebsocketDetailsRequest.php │ │ │ │ ├── InstallationDataRequest.php │ │ │ │ ├── ReportBackupCompleteRequest.php │ │ │ │ └── SftpAuthenticationFormRequest.php │ │ │ ├── Auth/ │ │ │ │ ├── LoginCheckpointRequest.php │ │ │ │ ├── LoginRequest.php │ │ │ │ └── ResetPasswordRequest.php │ │ │ ├── Base/ │ │ │ │ └── LocaleRequest.php │ │ │ └── FrontendUserFormRequest.php │ │ ├── Resources/ │ │ │ └── Wings/ │ │ │ └── ServerConfigurationCollection.php │ │ └── ViewComposers/ │ │ └── AssetComposer.php │ ├── Jobs/ │ │ ├── RevokeSftpAccessJob.php │ │ └── Schedule/ │ │ └── RunTaskJob.php │ ├── Listeners/ │ │ ├── AuthenticationListener.php │ │ ├── RevocationListener.php │ │ └── TwoFactorListener.php │ ├── Models/ │ │ ├── APILog.php │ │ ├── ActivityLog.php │ │ ├── ActivityLogSubject.php │ │ ├── Allocation.php │ │ ├── ApiKey.php │ │ ├── Attributes/ │ │ │ └── Identifiable.php │ │ ├── AuditLog.php │ │ ├── Backup.php │ │ ├── Database.php │ │ ├── DatabaseHost.php │ │ ├── Egg.php │ │ ├── EggMount.php │ │ ├── EggVariable.php │ │ ├── Filters/ │ │ │ ├── AdminServerFilter.php │ │ │ └── MultiFieldServerFilter.php │ │ ├── Location.php │ │ ├── Model.php │ │ ├── Mount.php │ │ ├── MountNode.php │ │ ├── MountServer.php │ │ ├── Nest.php │ │ ├── Node.php │ │ ├── Objects/ │ │ │ └── DeploymentObject.php │ │ ├── Permission.php │ │ ├── RecoveryToken.php │ │ ├── Schedule.php │ │ ├── Server.php │ │ ├── ServerTransfer.php │ │ ├── ServerVariable.php │ │ ├── Session.php │ │ ├── Setting.php │ │ ├── Subuser.php │ │ ├── Task.php │ │ ├── TaskLog.php │ │ ├── Traits/ │ │ │ ├── HasAccessTokens.php │ │ │ └── HasRealtimeIdentifier.php │ │ ├── User.php │ │ └── UserSSHKey.php │ ├── Notifications/ │ │ ├── AccountCreated.php │ │ ├── AddedToServer.php │ │ ├── MailTested.php │ │ ├── RemovedFromServer.php │ │ ├── SendPasswordReset.php │ │ └── ServerInstalled.php │ ├── Observers/ │ │ ├── EggVariableObserver.php │ │ ├── ServerObserver.php │ │ ├── SubuserObserver.php │ │ └── UserObserver.php │ ├── Policies/ │ │ ├── .gitkeep │ │ └── ServerPolicy.php │ ├── Providers/ │ │ ├── ActivityLogServiceProvider.php │ │ ├── AppServiceProvider.php │ │ ├── AuthServiceProvider.php │ │ ├── BackupsServiceProvider.php │ │ ├── BladeServiceProvider.php │ │ ├── BroadcastServiceProvider.php │ │ ├── EventServiceProvider.php │ │ ├── HashidsServiceProvider.php │ │ ├── RepositoryServiceProvider.php │ │ ├── RouteServiceProvider.php │ │ ├── SettingsServiceProvider.php │ │ └── ViewComposerServiceProvider.php │ ├── Repositories/ │ │ ├── Eloquent/ │ │ │ ├── AllocationRepository.php │ │ │ ├── ApiKeyRepository.php │ │ │ ├── BackupRepository.php │ │ │ ├── DatabaseHostRepository.php │ │ │ ├── DatabaseRepository.php │ │ │ ├── EggRepository.php │ │ │ ├── EggVariableRepository.php │ │ │ ├── EloquentRepository.php │ │ │ ├── LocationRepository.php │ │ │ ├── MountRepository.php │ │ │ ├── NestRepository.php │ │ │ ├── NodeRepository.php │ │ │ ├── PermissionRepository.php │ │ │ ├── RecoveryTokenRepository.php │ │ │ ├── ScheduleRepository.php │ │ │ ├── ServerRepository.php │ │ │ ├── ServerVariableRepository.php │ │ │ ├── SessionRepository.php │ │ │ ├── SettingsRepository.php │ │ │ ├── SubuserRepository.php │ │ │ ├── TaskRepository.php │ │ │ └── UserRepository.php │ │ ├── Repository.php │ │ └── Wings/ │ │ ├── DaemonBackupRepository.php │ │ ├── DaemonCommandRepository.php │ │ ├── DaemonConfigurationRepository.php │ │ ├── DaemonFileRepository.php │ │ ├── DaemonPowerRepository.php │ │ ├── DaemonRepository.php │ │ ├── DaemonRevocationRepository.php │ │ ├── DaemonServerRepository.php │ │ └── DaemonTransferRepository.php │ ├── Rules/ │ │ ├── Fqdn.php │ │ └── Username.php │ ├── Services/ │ │ ├── Acl/ │ │ │ └── Api/ │ │ │ └── AdminAcl.php │ │ ├── Activity/ │ │ │ ├── ActivityLogBatchService.php │ │ │ ├── ActivityLogService.php │ │ │ └── ActivityLogTargetableService.php │ │ ├── Allocations/ │ │ │ ├── AllocationDeletionService.php │ │ │ ├── AssignmentService.php │ │ │ └── FindAssignableAllocationService.php │ │ ├── Api/ │ │ │ └── KeyCreationService.php │ │ ├── Backups/ │ │ │ ├── DeleteBackupService.php │ │ │ ├── DownloadLinkService.php │ │ │ └── InitiateBackupService.php │ │ ├── Databases/ │ │ │ ├── DatabaseManagementService.php │ │ │ ├── DatabasePasswordService.php │ │ │ ├── DeployServerDatabaseService.php │ │ │ └── Hosts/ │ │ │ ├── HostCreationService.php │ │ │ ├── HostDeletionService.php │ │ │ └── HostUpdateService.php │ │ ├── Deployment/ │ │ │ ├── AllocationSelectionService.php │ │ │ └── FindViableNodesService.php │ │ ├── Eggs/ │ │ │ ├── EggConfigurationService.php │ │ │ ├── EggCreationService.php │ │ │ ├── EggDeletionService.php │ │ │ ├── EggParserService.php │ │ │ ├── EggUpdateService.php │ │ │ ├── Scripts/ │ │ │ │ └── InstallScriptService.php │ │ │ ├── Sharing/ │ │ │ │ ├── EggExporterService.php │ │ │ │ ├── EggImporterService.php │ │ │ │ └── EggUpdateImporterService.php │ │ │ └── Variables/ │ │ │ ├── VariableCreationService.php │ │ │ └── VariableUpdateService.php │ │ ├── Helpers/ │ │ │ ├── AssetHashService.php │ │ │ └── SoftwareVersionService.php │ │ ├── Locations/ │ │ │ ├── LocationCreationService.php │ │ │ ├── LocationDeletionService.php │ │ │ └── LocationUpdateService.php │ │ ├── Nests/ │ │ │ ├── NestCreationService.php │ │ │ ├── NestDeletionService.php │ │ │ └── NestUpdateService.php │ │ ├── Nodes/ │ │ │ ├── NodeCreationService.php │ │ │ ├── NodeDeletionService.php │ │ │ ├── NodeJWTService.php │ │ │ └── NodeUpdateService.php │ │ ├── Schedules/ │ │ │ └── ProcessScheduleService.php │ │ ├── Servers/ │ │ │ ├── BuildModificationService.php │ │ │ ├── DetailsModificationService.php │ │ │ ├── EnvironmentService.php │ │ │ ├── GetUserPermissionsService.php │ │ │ ├── ReinstallServerService.php │ │ │ ├── ServerConfigurationStructureService.php │ │ │ ├── ServerCreationService.php │ │ │ ├── ServerDeletionService.php │ │ │ ├── StartupCommandService.php │ │ │ ├── StartupModificationService.php │ │ │ ├── SuspensionService.php │ │ │ └── VariableValidatorService.php │ │ ├── Subusers/ │ │ │ └── SubuserCreationService.php │ │ ├── Telemetry/ │ │ │ └── TelemetryCollectionService.php │ │ └── Users/ │ │ ├── ToggleTwoFactorService.php │ │ ├── TwoFactorSetupService.php │ │ ├── UserCreationService.php │ │ ├── UserDeletionService.php │ │ └── UserUpdateService.php │ ├── Traits/ │ │ ├── Commands/ │ │ │ └── EnvironmentWriterTrait.php │ │ ├── Controllers/ │ │ │ └── JavascriptInjection.php │ │ ├── Helpers/ │ │ │ └── AvailableLanguages.php │ │ └── Services/ │ │ ├── HasUserLevels.php │ │ ├── ReturnsUpdatedModels.php │ │ └── ValidatesValidationRules.php │ ├── Transformers/ │ │ └── Api/ │ │ ├── Application/ │ │ │ ├── AllocationTransformer.php │ │ │ ├── BaseTransformer.php │ │ │ ├── DatabaseHostTransformer.php │ │ │ ├── EggTransformer.php │ │ │ ├── EggVariableTransformer.php │ │ │ ├── LocationTransformer.php │ │ │ ├── NestTransformer.php │ │ │ ├── NodeTransformer.php │ │ │ ├── ServerDatabaseTransformer.php │ │ │ ├── ServerTransformer.php │ │ │ ├── ServerVariableTransformer.php │ │ │ ├── SubuserTransformer.php │ │ │ └── UserTransformer.php │ │ └── Client/ │ │ ├── AccountTransformer.php │ │ ├── ActivityLogTransformer.php │ │ ├── AllocationTransformer.php │ │ ├── ApiKeyTransformer.php │ │ ├── BackupTransformer.php │ │ ├── BaseClientTransformer.php │ │ ├── DatabaseTransformer.php │ │ ├── EggTransformer.php │ │ ├── EggVariableTransformer.php │ │ ├── FileObjectTransformer.php │ │ ├── ScheduleTransformer.php │ │ ├── ServerTransformer.php │ │ ├── StatsTransformer.php │ │ ├── SubuserTransformer.php │ │ ├── TaskTransformer.php │ │ ├── UserSSHKeyTransformer.php │ │ └── UserTransformer.php │ └── helpers.php ├── artisan ├── babel.config.js ├── bootstrap/ │ ├── app.php │ ├── cache/ │ │ └── .gitignore │ └── tests.php ├── composer.json ├── config/ │ ├── activity.php │ ├── app.php │ ├── auth.php │ ├── backups.php │ ├── broadcasting.php │ ├── cache.php │ ├── compile.php │ ├── cors.php │ ├── database.php │ ├── egg_features/ │ │ └── eula.php │ ├── filesystems.php │ ├── fractal.php │ ├── hashids.php │ ├── hashing.php │ ├── http.php │ ├── icp.php │ ├── ide-helper.php │ ├── javascript.php │ ├── logging.php │ ├── logo.php │ ├── mail.php │ ├── prologue/ │ │ └── alerts.php │ ├── pterodactyl.php │ ├── queue.php │ ├── recaptcha.php │ ├── sanctum.php │ ├── services.php │ ├── session.php │ ├── trustedproxy.php │ └── view.php ├── database/ │ ├── .gitignore │ ├── Factories/ │ │ ├── AllocationFactory.php │ │ ├── ApiKeyFactory.php │ │ ├── BackupFactory.php │ │ ├── DatabaseFactory.php │ │ ├── DatabaseHostFactory.php │ │ ├── EggFactory.php │ │ ├── EggVariableFactory.php │ │ ├── LocationFactory.php │ │ ├── NestFactory.php │ │ ├── NodeFactory.php │ │ ├── ScheduleFactory.php │ │ ├── ServerFactory.php │ │ ├── ServerTransferFactory.php │ │ ├── SubuserFactory.php │ │ ├── TaskFactory.php │ │ ├── UserFactory.php │ │ └── UserSSHKeyFactory.php │ ├── Seeders/ │ │ ├── .gitkeep │ │ ├── DatabaseSeeder.php │ │ ├── EggSeeder.php │ │ ├── NestSeeder.php │ │ └── eggs/ │ │ ├── minecraft/ │ │ │ ├── egg-bungeecord.json │ │ │ ├── egg-forge-minecraft.json │ │ │ ├── egg-paper.json │ │ │ ├── egg-sponge--sponge-vanilla.json │ │ │ └── egg-vanilla-minecraft.json │ │ ├── rust/ │ │ │ └── egg-rust.json │ │ ├── source-engine/ │ │ │ ├── egg-ark--survival-evolved.json │ │ │ ├── egg-counter--strike--global-offensive.json │ │ │ ├── egg-custom-source-engine-game.json │ │ │ ├── egg-garrys-mod.json │ │ │ ├── egg-insurgency.json │ │ │ └── egg-team-fortress2.json │ │ └── voice-servers/ │ │ ├── egg-mumble-server.json │ │ └── egg-teamspeak3-server.json │ ├── migrations/ │ │ ├── 2016_01_23_195641_add_allocations_table.php │ │ ├── 2016_01_23_195851_add_api_keys.php │ │ ├── 2016_01_23_200044_add_api_permissions.php │ │ ├── 2016_01_23_200159_add_downloads.php │ │ ├── 2016_01_23_200421_create_failed_jobs_table.php │ │ ├── 2016_01_23_200440_create_jobs_table.php │ │ ├── 2016_01_23_200528_add_locations.php │ │ ├── 2016_01_23_200648_add_nodes.php │ │ ├── 2016_01_23_201433_add_password_resets.php │ │ ├── 2016_01_23_201531_add_permissions.php │ │ ├── 2016_01_23_201649_add_server_variables.php │ │ ├── 2016_01_23_201748_add_servers.php │ │ ├── 2016_01_23_202544_add_service_options.php │ │ ├── 2016_01_23_202731_add_service_varibles.php │ │ ├── 2016_01_23_202943_add_services.php │ │ ├── 2016_01_23_203119_create_settings_table.php │ │ ├── 2016_01_23_203150_add_subusers.php │ │ ├── 2016_01_23_203159_add_users.php │ │ ├── 2016_01_23_203947_create_sessions_table.php │ │ ├── 2016_01_25_234418_rename_permissions_column.php │ │ ├── 2016_02_07_172148_add_databases_tables.php │ │ ├── 2016_02_07_181319_add_database_servers_table.php │ │ ├── 2016_02_13_154306_add_service_option_default_startup.php │ │ ├── 2016_02_20_155318_add_unique_service_field.php │ │ ├── 2016_02_27_163411_add_tasks_table.php │ │ ├── 2016_02_27_163447_add_tasks_log_table.php │ │ ├── 2016_03_18_155649_add_nullable_field_lastrun.php │ │ ├── 2016_08_30_212718_add_ip_alias.php │ │ ├── 2016_08_30_213301_modify_ip_storage_method.php │ │ ├── 2016_09_01_193520_add_suspension_for_servers.php │ │ ├── 2016_09_01_211924_remove_active_column.php │ │ ├── 2016_09_02_190647_add_sftp_password_storage.php │ │ ├── 2016_09_04_171338_update_jobs_tables.php │ │ ├── 2016_09_04_172028_update_failed_jobs_table.php │ │ ├── 2016_09_04_182835_create_notifications_table.php │ │ ├── 2016_09_07_163017_add_unique_identifier.php │ │ ├── 2016_09_14_145945_allow_longer_regex_field.php │ │ ├── 2016_09_17_194246_add_docker_image_column.php │ │ ├── 2016_09_21_165554_update_servers_column_name.php │ │ ├── 2016_09_29_213518_rename_double_insurgency.php │ │ ├── 2016_10_07_152117_build_api_log_table.php │ │ ├── 2016_10_14_164802_update_api_keys.php │ │ ├── 2016_10_23_181719_update_misnamed_bungee.php │ │ ├── 2016_10_23_193810_add_foreign_keys_servers.php │ │ ├── 2016_10_23_201624_add_foreign_allocations.php │ │ ├── 2016_10_23_202222_add_foreign_api_keys.php │ │ ├── 2016_10_23_202703_add_foreign_api_permissions.php │ │ ├── 2016_10_23_202953_add_foreign_database_servers.php │ │ ├── 2016_10_23_203105_add_foreign_databases.php │ │ ├── 2016_10_23_203335_add_foreign_nodes.php │ │ ├── 2016_10_23_203522_add_foreign_permissions.php │ │ ├── 2016_10_23_203857_add_foreign_server_variables.php │ │ ├── 2016_10_23_204157_add_foreign_service_options.php │ │ ├── 2016_10_23_204321_add_foreign_service_variables.php │ │ ├── 2016_10_23_204454_add_foreign_subusers.php │ │ ├── 2016_10_23_204610_add_foreign_tasks.php │ │ ├── 2016_11_04_000949_add_ark_service_option_fixed.php │ │ ├── 2016_11_11_220649_add_pack_support.php │ │ ├── 2016_11_11_231731_set_service_name_unique.php │ │ ├── 2016_11_27_142519_add_pack_column.php │ │ ├── 2016_12_01_173018_add_configurable_upload_limit.php │ │ ├── 2016_12_02_185206_correct_service_variables.php │ │ ├── 2017_01_03_150436_fix_misnamed_option_tag.php │ │ ├── 2017_01_07_154228_create_node_configuration_tokens_table.php │ │ ├── 2017_01_12_135449_add_more_user_data.php │ │ ├── 2017_02_02_175548_UpdateColumnNames.php │ │ ├── 2017_02_03_140948_UpdateNodesTable.php │ │ ├── 2017_02_03_155554_RenameColumns.php │ │ ├── 2017_02_05_164123_AdjustColumnNames.php │ │ ├── 2017_02_05_164516_AdjustColumnNamesForServicePacks.php │ │ ├── 2017_02_09_174834_SetupPermissionsPivotTable.php │ │ ├── 2017_02_10_171858_UpdateAPIKeyColumnNames.php │ │ ├── 2017_03_03_224254_UpdateNodeConfigTokensColumns.php │ │ ├── 2017_03_05_212803_DeleteServiceExecutableOption.php │ │ ├── 2017_03_10_162934_AddNewServiceOptionsColumns.php │ │ ├── 2017_03_10_173607_MigrateToNewServiceSystem.php │ │ ├── 2017_03_11_215455_ChangeServiceVariablesValidationRules.php │ │ ├── 2017_03_12_150648_MoveFunctionsFromFileToDatabase.php │ │ ├── 2017_03_14_175631_RenameServicePacksToSingluarPacks.php │ │ ├── 2017_03_14_200326_AddLockedStatusToTable.php │ │ ├── 2017_03_16_181109_ReOrganizeDatabaseServersToDatabaseHost.php │ │ ├── 2017_03_16_181515_CleanupDatabasesDatabase.php │ │ ├── 2017_03_18_204953_AddForeignKeyToPacks.php │ │ ├── 2017_03_31_221948_AddServerDescriptionColumn.php │ │ ├── 2017_04_02_163232_DropDeletedAtColumnFromServers.php │ │ ├── 2017_04_15_125021_UpgradeTaskSystem.php │ │ ├── 2017_04_20_171943_AddScriptsToServiceOptions.php │ │ ├── 2017_04_21_151432_AddServiceScriptTrackingToServers.php │ │ ├── 2017_04_27_145300_AddCopyScriptFromColumn.php │ │ ├── 2017_04_27_223629_AddAbilityToDefineConnectionOverSSLWithDaemonBehindProxy.php │ │ ├── 2017_05_01_141528_DeleteDownloadTable.php │ │ ├── 2017_05_01_141559_DeleteNodeConfigurationTable.php │ │ ├── 2017_06_10_152951_add_external_id_to_users.php │ │ ├── 2017_06_25_133923_ChangeForeignKeyToBeOnCascadeDelete.php │ │ ├── 2017_07_08_152806_ChangeUserPermissionsToDeleteOnUserDeletion.php │ │ ├── 2017_07_08_154416_SetAllocationToReferenceNullOnServerDelete.php │ │ ├── 2017_07_08_154650_CascadeDeletionWhenAServerOrVariableIsDeleted.php │ │ ├── 2017_07_24_194433_DeleteTaskWhenParentServerIsDeleted.php │ │ ├── 2017_08_05_115800_CascadeNullValuesForDatabaseHostWhenNodeIsDeleted.php │ │ ├── 2017_08_05_144104_AllowNegativeValuesForOverallocation.php │ │ ├── 2017_08_05_174811_SetAllocationUnqiueUsingMultipleFields.php │ │ ├── 2017_08_15_214555_CascadeDeletionWhenAParentServiceIsDeleted.php │ │ ├── 2017_08_18_215428_RemovePackWhenParentServiceOptionIsDeleted.php │ │ ├── 2017_09_10_225749_RenameTasksTableForStructureRefactor.php │ │ ├── 2017_09_10_225941_CreateSchedulesTable.php │ │ ├── 2017_09_10_230309_CreateNewTasksTableForSchedules.php │ │ ├── 2017_09_11_002938_TransferOldTasksToNewScheduler.php │ │ ├── 2017_09_13_211810_UpdateOldPermissionsToPointToNewScheduleSystem.php │ │ ├── 2017_09_23_170933_CreateDaemonKeysTable.php │ │ ├── 2017_09_23_173628_RemoveDaemonSecretFromServersTable.php │ │ ├── 2017_09_23_185022_RemoveDaemonSecretFromSubusersTable.php │ │ ├── 2017_10_02_202000_ChangeServicesToUseAMoreUniqueIdentifier.php │ │ ├── 2017_10_02_202007_ChangeToABetterUniqueServiceConfiguration.php │ │ ├── 2017_10_03_233202_CascadeDeletionWhenServiceOptionIsDeleted.php │ │ ├── 2017_10_06_214026_ServicesToNestsConversion.php │ │ ├── 2017_10_06_214053_ServiceOptionsToEggsConversion.php │ │ ├── 2017_10_06_215741_ServiceVariablesToEggVariablesConversion.php │ │ ├── 2017_10_24_222238_RemoveLegacySFTPInformation.php │ │ ├── 2017_11_11_161922_Add2FaLastAuthorizationTimeColumn.php │ │ ├── 2017_11_19_122708_MigratePubPrivFormatToSingleKey.php │ │ ├── 2017_12_04_184012_DropAllocationsWhenNodeIsDeleted.php │ │ ├── 2017_12_12_220426_MigrateSettingsTableToNewFormat.php │ │ ├── 2018_01_01_122821_AllowNegativeValuesForServerSwap.php │ │ ├── 2018_01_11_213943_AddApiKeyPermissionColumns.php │ │ ├── 2018_01_13_142012_SetupTableForKeyEncryption.php │ │ ├── 2018_01_13_145209_AddLastUsedAtColumn.php │ │ ├── 2018_02_04_145617_AllowTextInUserExternalId.php │ │ ├── 2018_02_10_151150_remove_unique_index_on_external_id_column.php │ │ ├── 2018_02_17_134254_ensure_unique_allocation_id_on_servers_table.php │ │ ├── 2018_02_24_112356_add_external_id_column_to_servers_table.php │ │ ├── 2018_02_25_160152_remove_default_null_value_on_table.php │ │ ├── 2018_02_25_160604_define_unique_index_on_users_external_id.php │ │ ├── 2018_03_01_192831_add_database_and_port_limit_columns_to_servers_table.php │ │ ├── 2018_03_15_124536_add_description_to_nodes.php │ │ ├── 2018_05_04_123826_add_maintenance_to_nodes.php │ │ ├── 2018_09_03_143756_allow_egg_variables_to_have_longer_values.php │ │ ├── 2018_09_03_144005_allow_server_variables_to_have_longer_values.php │ │ ├── 2019_03_02_142328_set_allocation_limit_default_null.php │ │ ├── 2019_03_02_151321_fix_unique_index_to_account_for_host.php │ │ ├── 2020_03_22_163911_merge_permissions_table_into_subusers.php │ │ ├── 2020_03_22_164814_drop_permissions_table.php │ │ ├── 2020_04_03_203624_add_threads_column_to_servers_table.php │ │ ├── 2020_04_03_230614_create_backups_table.php │ │ ├── 2020_04_04_131016_add_table_server_transfers.php │ │ ├── 2020_04_10_141024_store_node_tokens_as_encrypted_value.php │ │ ├── 2020_04_17_203438_allow_nullable_descriptions.php │ │ ├── 2020_04_22_055500_add_max_connections_column.php │ │ ├── 2020_04_26_111208_add_backup_limit_to_servers.php │ │ ├── 2020_05_20_234655_add_mounts_table.php │ │ ├── 2020_05_21_192756_add_mount_server_table.php │ │ ├── 2020_07_02_213612_create_user_recovery_tokens_table.php │ │ ├── 2020_07_09_201845_add_notes_column_for_allocations.php │ │ ├── 2020_08_20_205533_add_backup_state_column_to_backups.php │ │ ├── 2020_08_22_132500_update_bytes_to_unsigned_bigint.php │ │ ├── 2020_08_23_175331_modify_checksums_column_for_backups.php │ │ ├── 2020_09_13_110007_drop_packs_from_servers.php │ │ ├── 2020_09_13_110021_drop_packs_from_api_key_permissions.php │ │ ├── 2020_09_13_110047_drop_packs_table.php │ │ ├── 2020_09_13_113503_drop_daemon_key_table.php │ │ ├── 2020_10_10_165437_change_unique_database_name_to_account_for_server.php │ │ ├── 2020_10_26_194904_remove_nullable_from_schedule_name_field.php │ │ ├── 2020_11_02_201014_add_features_column_to_eggs.php │ │ ├── 2020_12_12_102435_support_multiple_docker_images_and_updates.php │ │ ├── 2020_12_14_013707_make_successful_nullable_in_server_transfers.php │ │ ├── 2020_12_17_014330_add_archived_field_to_server_transfers_table.php │ │ ├── 2020_12_24_092449_make_allocation_fields_json.php │ │ ├── 2020_12_26_184914_add_upload_id_column_to_backups_table.php │ │ ├── 2021_01_10_153937_add_file_denylist_to_egg_configs.php │ │ ├── 2021_01_13_013420_add_cron_month.php │ │ ├── 2021_01_17_102401_create_audit_logs_table.php │ │ ├── 2021_01_17_152623_add_generic_server_status_column.php │ │ ├── 2021_01_26_210502_update_file_denylist_to_json.php │ │ ├── 2021_02_23_205021_add_index_for_server_and_action.php │ │ ├── 2021_02_23_212657_make_sftp_port_unsigned_int.php │ │ ├── 2021_03_21_104718_force_cron_month_field_to_have_value_if_missing.php │ │ ├── 2021_05_01_092457_add_continue_on_failure_option_to_tasks.php │ │ ├── 2021_05_01_092523_add_only_run_when_server_online_option_to_schedules.php │ │ ├── 2021_05_03_201016_add_support_for_locking_a_backup.php │ │ ├── 2021_07_12_013420_remove_userinteraction.php │ │ ├── 2021_07_17_211512_create_user_ssh_keys_table.php │ │ ├── 2021_08_03_210600_change_successful_field_to_default_to_false_on_backups_table.php │ │ ├── 2021_08_21_175111_add_foreign_keys_to_mount_node_table.php │ │ ├── 2021_08_21_175118_add_foreign_keys_to_mount_server_table.php │ │ ├── 2021_08_21_180921_add_foreign_keys_to_egg_mount_table.php │ │ ├── 2022_01_25_030847_drop_google_analytics.php │ │ ├── 2022_05_07_165334_migrate_egg_images_array_to_new_format.php │ │ ├── 2022_05_28_135717_create_activity_logs_table.php │ │ ├── 2022_05_29_140349_create_activity_log_actors_table.php │ │ ├── 2022_06_18_112822_track_api_key_usage_for_activity_events.php │ │ ├── 2022_08_16_214400_add_force_outgoing_ip_column_to_eggs_table.php │ │ ├── 2022_08_16_230204_add_installed_at_column_to_servers_table.php │ │ ├── 2022_12_12_213937_update_mail_settings_to_new_format.php │ │ ├── 2023_01_24_210051_add_uuid_column_to_failed_jobs_table.php │ │ ├── 2023_02_23_191004_add_expires_at_column_to_api_keys_table.php │ │ └── 2024_07_13_091852_clear_unused_allocation_notes.php │ └── schema/ │ └── mysql-schema.sql ├── docker-compose.example.yml ├── flake.nix ├── index.html ├── jest.config.js ├── package.json ├── phpstan.neon ├── phpunit.xml ├── postcss.config.js ├── public/ │ ├── .gitignore │ ├── .htaccess │ ├── favicons/ │ │ ├── browserconfig.xml │ │ └── manifest.json │ ├── index.php │ ├── js/ │ │ ├── autocomplete.js │ │ ├── keyboard.polyfill.js │ │ └── laroute.js │ ├── robots.txt │ └── themes/ │ └── pterodactyl/ │ ├── css/ │ │ ├── checkbox.css │ │ ├── pterodactyl.css │ │ └── terminal.css │ ├── js/ │ │ ├── admin/ │ │ │ ├── functions.js │ │ │ ├── new-server.js │ │ │ └── server/ │ │ │ └── transfer.js │ │ └── plugins/ │ │ └── minecraft/ │ │ └── eula.js │ └── vendor/ │ ├── ace/ │ │ ├── ace.js │ │ ├── ext-elastic_tabstops_lite.js │ │ ├── ext-error_marker.js │ │ ├── ext-linking.js │ │ ├── ext-modelist.js │ │ ├── ext-old_ie.js │ │ ├── ext-searchbox.js │ │ ├── ext-settings_menu.js │ │ ├── ext-spellcheck.js │ │ ├── ext-split.js │ │ ├── ext-static_highlight.js │ │ ├── ext-textarea.js │ │ ├── ext-themelist.js │ │ ├── ext-whitespace.js │ │ ├── keybinding-emacs.js │ │ ├── keybinding-vim.js │ │ ├── mode-assembly_x86.js │ │ ├── mode-c_cpp.js │ │ ├── mode-coffee.js │ │ ├── mode-csharp.js │ │ ├── mode-css.js │ │ ├── mode-golang.js │ │ ├── mode-haml.js │ │ ├── mode-html.js │ │ ├── mode-ini.js │ │ ├── mode-java.js │ │ ├── mode-javascript.js │ │ ├── mode-json.js │ │ ├── mode-kotlin.js │ │ ├── mode-lua.js │ │ ├── mode-markdown.js │ │ ├── mode-mysql.js │ │ ├── mode-objectivec.js │ │ ├── mode-perl.js │ │ ├── mode-php.js │ │ ├── mode-plain_text.js │ │ ├── mode-properties.js │ │ ├── mode-python.js │ │ ├── mode-ruby.js │ │ ├── mode-rust.js │ │ ├── mode-sh.js │ │ ├── mode-smarty.js │ │ ├── mode-sql.js │ │ ├── mode-xml.js │ │ ├── mode-yaml.js │ │ ├── theme-chrome.js │ │ ├── worker-css.js │ │ ├── worker-html.js │ │ ├── worker-javascript.js │ │ ├── worker-json.js │ │ ├── worker-lua.js │ │ ├── worker-php.js │ │ └── worker-xml.js │ ├── ansi/ │ │ └── ansi_up.js │ ├── jquery/ │ │ └── jquery.js │ ├── lodash/ │ │ └── lodash.js │ ├── mousewheel/ │ │ └── jquery.mousewheel-min.js │ └── particlesjs/ │ └── particles.json ├── resources/ │ ├── lang/ │ │ ├── en/ │ │ │ ├── activity.php │ │ │ ├── admin/ │ │ │ │ ├── nests.php │ │ │ │ ├── node.php │ │ │ │ ├── server.php │ │ │ │ └── user.php │ │ │ ├── auth.php │ │ │ ├── command/ │ │ │ │ └── messages.php │ │ │ ├── dashboard/ │ │ │ │ ├── account.php │ │ │ │ └── index.php │ │ │ ├── exceptions.php │ │ │ ├── pagination.php │ │ │ ├── passwords.php │ │ │ ├── server/ │ │ │ │ └── users.php │ │ │ ├── strings.php │ │ │ └── validation.php │ │ └── zh/ │ │ ├── activity.php │ │ ├── admin/ │ │ │ ├── nests.php │ │ │ ├── node.php │ │ │ ├── server.php │ │ │ └── user.php │ │ ├── auth.php │ │ ├── command/ │ │ │ └── messages.php │ │ ├── dashboard/ │ │ │ ├── account.php │ │ │ └── index.php │ │ ├── exceptions.php │ │ ├── pagination.php │ │ ├── passwords.php │ │ ├── server/ │ │ │ └── users.php │ │ ├── strings.php │ │ └── validation.php │ ├── scripts/ │ │ ├── TransitionRouter.tsx │ │ ├── __mocks__/ │ │ │ └── file.ts │ │ ├── api/ │ │ │ ├── account/ │ │ │ │ ├── activity.ts │ │ │ │ ├── createApiKey.ts │ │ │ │ ├── deleteApiKey.ts │ │ │ │ ├── disableAccountTwoFactor.ts │ │ │ │ ├── enableAccountTwoFactor.ts │ │ │ │ ├── getApiKeys.ts │ │ │ │ ├── getTwoFactorTokenData.ts │ │ │ │ ├── ssh-keys.ts │ │ │ │ ├── updateAccountEmail.ts │ │ │ │ └── updateAccountPassword.ts │ │ │ ├── auth/ │ │ │ │ ├── login.ts │ │ │ │ ├── loginCheckpoint.ts │ │ │ │ ├── performPasswordReset.ts │ │ │ │ └── requestPasswordResetEmail.ts │ │ │ ├── definitions/ │ │ │ │ ├── helpers.ts │ │ │ │ ├── index.d.ts │ │ │ │ └── user/ │ │ │ │ ├── index.ts │ │ │ │ ├── models.d.ts │ │ │ │ └── transformers.ts │ │ │ ├── getServers.ts │ │ │ ├── getSystemPermissions.ts │ │ │ ├── http.ts │ │ │ ├── interceptors.ts │ │ │ ├── server/ │ │ │ │ ├── activity.ts │ │ │ │ ├── backups/ │ │ │ │ │ ├── createServerBackup.ts │ │ │ │ │ ├── deleteBackup.ts │ │ │ │ │ ├── getBackupDownloadUrl.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── databases/ │ │ │ │ │ ├── createServerDatabase.ts │ │ │ │ │ ├── deleteServerDatabase.ts │ │ │ │ │ ├── getServerDatabases.ts │ │ │ │ │ └── rotateDatabasePassword.ts │ │ │ │ ├── files/ │ │ │ │ │ ├── chmodFiles.ts │ │ │ │ │ ├── compressFiles.ts │ │ │ │ │ ├── copyFile.ts │ │ │ │ │ ├── createDirectory.ts │ │ │ │ │ ├── decompressFiles.ts │ │ │ │ │ ├── deleteFiles.ts │ │ │ │ │ ├── getFileContents.ts │ │ │ │ │ ├── getFileDownloadUrl.ts │ │ │ │ │ ├── getFileUploadUrl.ts │ │ │ │ │ ├── loadDirectory.ts │ │ │ │ │ ├── renameFiles.ts │ │ │ │ │ └── saveFileContents.ts │ │ │ │ ├── getServer.ts │ │ │ │ ├── getServerResourceUsage.ts │ │ │ │ ├── getWebsocketToken.ts │ │ │ │ ├── network/ │ │ │ │ │ ├── createServerAllocation.ts │ │ │ │ │ ├── deleteServerAllocation.ts │ │ │ │ │ ├── setPrimaryServerAllocation.ts │ │ │ │ │ └── setServerAllocationNotes.ts │ │ │ │ ├── reinstallServer.ts │ │ │ │ ├── renameServer.ts │ │ │ │ ├── schedules/ │ │ │ │ │ ├── createOrUpdateSchedule.ts │ │ │ │ │ ├── createOrUpdateScheduleTask.ts │ │ │ │ │ ├── deleteSchedule.ts │ │ │ │ │ ├── deleteScheduleTask.ts │ │ │ │ │ ├── getServerSchedule.ts │ │ │ │ │ ├── getServerSchedules.ts │ │ │ │ │ └── triggerScheduleExecution.ts │ │ │ │ ├── setSelectedDockerImage.ts │ │ │ │ ├── types.d.ts │ │ │ │ ├── updateStartupEgg.ts │ │ │ │ ├── updateStartupVariable.ts │ │ │ │ └── users/ │ │ │ │ ├── createOrUpdateSubuser.ts │ │ │ │ ├── deleteSubuser.ts │ │ │ │ └── getServerSubusers.ts │ │ │ ├── swr/ │ │ │ │ ├── getServerAllocations.ts │ │ │ │ ├── getServerBackups.ts │ │ │ │ └── getServerStartup.ts │ │ │ └── transformers.ts │ │ ├── assets/ │ │ │ ├── css/ │ │ │ │ └── GlobalStylesheet.ts │ │ │ └── tailwind.css │ │ ├── components/ │ │ │ ├── App.tsx │ │ │ ├── Avatar.tsx │ │ │ ├── FlashMessageRender.tsx │ │ │ ├── MessageBox.tsx │ │ │ ├── NavigationBar.tsx │ │ │ ├── auth/ │ │ │ │ ├── ForgotPasswordContainer.tsx │ │ │ │ ├── LoginCheckpointContainer.tsx │ │ │ │ ├── LoginContainer.tsx │ │ │ │ ├── LoginFormContainer.tsx │ │ │ │ └── ResetPasswordContainer.tsx │ │ │ ├── dashboard/ │ │ │ │ ├── AccountApiContainer.tsx │ │ │ │ ├── AccountOverviewContainer.tsx │ │ │ │ ├── ApiKeyModal.tsx │ │ │ │ ├── DashboardContainer.tsx │ │ │ │ ├── ServerRow.tsx │ │ │ │ ├── activity/ │ │ │ │ │ └── ActivityLogContainer.tsx │ │ │ │ ├── forms/ │ │ │ │ │ ├── ConfigureTwoFactorForm.tsx │ │ │ │ │ ├── CreateApiKeyForm.tsx │ │ │ │ │ ├── DisableTOTPDialog.tsx │ │ │ │ │ ├── RecoveryTokensDialog.tsx │ │ │ │ │ ├── SetupTOTPDialog.tsx │ │ │ │ │ ├── UpdateEmailAddressForm.tsx │ │ │ │ │ └── UpdatePasswordForm.tsx │ │ │ │ ├── search/ │ │ │ │ │ ├── SearchContainer.tsx │ │ │ │ │ └── SearchModal.tsx │ │ │ │ └── ssh/ │ │ │ │ ├── AccountSSHContainer.tsx │ │ │ │ ├── CreateSSHKeyForm.tsx │ │ │ │ └── DeleteSSHKeyButton.tsx │ │ │ ├── elements/ │ │ │ │ ├── AuthenticatedRoute.tsx │ │ │ │ ├── Button.tsx │ │ │ │ ├── Can.tsx │ │ │ │ ├── Checkbox.tsx │ │ │ │ ├── Code.tsx │ │ │ │ ├── CodemirrorEditor.tsx │ │ │ │ ├── ConfirmationModal.tsx │ │ │ │ ├── ContentBox.tsx │ │ │ │ ├── ContentContainer.tsx │ │ │ │ ├── CopyOnClick.tsx │ │ │ │ ├── DropdownMenu.tsx │ │ │ │ ├── ErrorBoundary.tsx │ │ │ │ ├── Fade.tsx │ │ │ │ ├── Field.tsx │ │ │ │ ├── FormikFieldWrapper.tsx │ │ │ │ ├── FormikSwitch.tsx │ │ │ │ ├── GreyRowBox.tsx │ │ │ │ ├── Icon.tsx │ │ │ │ ├── Input.tsx │ │ │ │ ├── InputError.tsx │ │ │ │ ├── InputSpinner.tsx │ │ │ │ ├── Label.tsx │ │ │ │ ├── Modal.tsx │ │ │ │ ├── PageContentBlock.tsx │ │ │ │ ├── Pagination.tsx │ │ │ │ ├── PermissionRoute.tsx │ │ │ │ ├── Portal.tsx │ │ │ │ ├── ProgressBar.tsx │ │ │ │ ├── ScreenBlock.tsx │ │ │ │ ├── Select.tsx │ │ │ │ ├── ServerContentBlock.tsx │ │ │ │ ├── Spinner.tsx │ │ │ │ ├── SpinnerOverlay.tsx │ │ │ │ ├── SubNavigation.tsx │ │ │ │ ├── Switch.tsx │ │ │ │ ├── TitledGreyBox.tsx │ │ │ │ ├── Translate.tsx │ │ │ │ ├── activity/ │ │ │ │ │ ├── ActivityLogEntry.tsx │ │ │ │ │ ├── ActivityLogMetaButton.tsx │ │ │ │ │ └── style.module.css │ │ │ │ ├── alert/ │ │ │ │ │ ├── Alert.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── button/ │ │ │ │ │ ├── Button.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── style.module.css │ │ │ │ │ └── types.ts │ │ │ │ ├── dialog/ │ │ │ │ │ ├── ConfirmationDialog.tsx │ │ │ │ │ ├── Dialog.tsx │ │ │ │ │ ├── DialogFooter.tsx │ │ │ │ │ ├── DialogIcon.tsx │ │ │ │ │ ├── context.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── style.module.css │ │ │ │ │ └── types.d.ts │ │ │ │ ├── dropdown/ │ │ │ │ │ ├── Dropdown.tsx │ │ │ │ │ ├── DropdownButton.tsx │ │ │ │ │ ├── DropdownItem.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── style.module.css │ │ │ │ ├── inputs/ │ │ │ │ │ ├── Checkbox.tsx │ │ │ │ │ ├── InputField.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── styles.module.css │ │ │ │ ├── table/ │ │ │ │ │ └── PaginationFooter.tsx │ │ │ │ ├── tooltip/ │ │ │ │ │ └── Tooltip.tsx │ │ │ │ └── transitions/ │ │ │ │ ├── FadeTransition.tsx │ │ │ │ └── index.ts │ │ │ ├── history.ts │ │ │ ├── server/ │ │ │ │ ├── ConflictStateRenderer.tsx │ │ │ │ ├── InstallListener.tsx │ │ │ │ ├── ServerActivityLogContainer.tsx │ │ │ │ ├── TransferListener.tsx │ │ │ │ ├── UptimeDuration.tsx │ │ │ │ ├── WebsocketHandler.tsx │ │ │ │ ├── backups/ │ │ │ │ │ ├── BackupContainer.tsx │ │ │ │ │ ├── BackupContextMenu.tsx │ │ │ │ │ ├── BackupRow.tsx │ │ │ │ │ └── CreateBackupButton.tsx │ │ │ │ ├── console/ │ │ │ │ │ ├── ChartBlock.tsx │ │ │ │ │ ├── Console.tsx │ │ │ │ │ ├── PowerButtons.tsx │ │ │ │ │ ├── ServerConsoleContainer.tsx │ │ │ │ │ ├── ServerDetailsBlock.tsx │ │ │ │ │ ├── StatBlock.tsx │ │ │ │ │ ├── StatGraphs.tsx │ │ │ │ │ ├── chart.ts │ │ │ │ │ └── style.module.css │ │ │ │ ├── databases/ │ │ │ │ │ ├── CreateDatabaseButton.tsx │ │ │ │ │ ├── DatabaseRow.tsx │ │ │ │ │ ├── DatabasesContainer.tsx │ │ │ │ │ └── RotatePasswordButton.tsx │ │ │ │ ├── events.ts │ │ │ │ ├── features/ │ │ │ │ │ ├── Features.tsx │ │ │ │ │ ├── GSLTokenModalFeature.tsx │ │ │ │ │ ├── HytaleOauthRequireFeature.tsx │ │ │ │ │ ├── JavaVersionModalFeature.tsx │ │ │ │ │ ├── PIDLimitModalFeature.tsx │ │ │ │ │ ├── SteamDiskSpaceFeature.tsx │ │ │ │ │ ├── eula/ │ │ │ │ │ │ └── EulaModalFeature.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── files/ │ │ │ │ │ ├── ChmodFileModal.tsx │ │ │ │ │ ├── FileDropdownMenu.tsx │ │ │ │ │ ├── FileEditContainer.tsx │ │ │ │ │ ├── FileManagerBreadcrumbs.tsx │ │ │ │ │ ├── FileManagerContainer.tsx │ │ │ │ │ ├── FileManagerStatus.tsx │ │ │ │ │ ├── FileNameModal.tsx │ │ │ │ │ ├── FileObjectRow.tsx │ │ │ │ │ ├── MassActionsBar.tsx │ │ │ │ │ ├── NewDirectoryButton.tsx │ │ │ │ │ ├── RenameFileModal.tsx │ │ │ │ │ ├── SelectFileCheckbox.tsx │ │ │ │ │ ├── UploadButton.tsx │ │ │ │ │ └── style.module.css │ │ │ │ ├── network/ │ │ │ │ │ ├── AllocationRow.tsx │ │ │ │ │ ├── DeleteAllocationButton.tsx │ │ │ │ │ └── NetworkContainer.tsx │ │ │ │ ├── schedules/ │ │ │ │ │ ├── DeleteScheduleButton.tsx │ │ │ │ │ ├── EditScheduleModal.tsx │ │ │ │ │ ├── NewTaskButton.tsx │ │ │ │ │ ├── RunScheduleButton.tsx │ │ │ │ │ ├── ScheduleCheatsheetCards.tsx │ │ │ │ │ ├── ScheduleContainer.tsx │ │ │ │ │ ├── ScheduleCronRow.tsx │ │ │ │ │ ├── ScheduleEditContainer.tsx │ │ │ │ │ ├── ScheduleRow.tsx │ │ │ │ │ ├── ScheduleSimpleForm.tsx │ │ │ │ │ ├── ScheduleTaskRow.tsx │ │ │ │ │ └── TaskDetailsModal.tsx │ │ │ │ ├── settings/ │ │ │ │ │ ├── ReinstallServerBox.tsx │ │ │ │ │ ├── RenameServerBox.tsx │ │ │ │ │ └── SettingsContainer.tsx │ │ │ │ ├── startup/ │ │ │ │ │ ├── StartupContainer.tsx │ │ │ │ │ └── VariableBox.tsx │ │ │ │ └── users/ │ │ │ │ ├── AddSubuserButton.tsx │ │ │ │ ├── EditSubuserModal.tsx │ │ │ │ ├── PermissionRow.tsx │ │ │ │ ├── PermissionTitleBox.tsx │ │ │ │ ├── RemoveSubuserButton.tsx │ │ │ │ ├── UserRow.tsx │ │ │ │ └── UsersContainer.tsx │ │ │ └── types.ts │ │ ├── context/ │ │ │ └── ModalContext.ts │ │ ├── easy-peasy.d.ts │ │ ├── globals.d.ts │ │ ├── helpers.ts │ │ ├── hoc/ │ │ │ ├── RequireServerPermission.tsx │ │ │ ├── asDialog.tsx │ │ │ └── asModal.tsx │ │ ├── i18n.ts │ │ ├── index.tsx │ │ ├── lib/ │ │ │ ├── formatters.spec.ts │ │ │ ├── formatters.ts │ │ │ ├── helpers.spec.ts │ │ │ ├── helpers.ts │ │ │ ├── objects.spec.ts │ │ │ ├── objects.ts │ │ │ ├── strings.spec.ts │ │ │ └── strings.ts │ │ ├── macros.d.ts │ │ ├── modes.ts │ │ ├── plugins/ │ │ │ ├── Websocket.ts │ │ │ ├── XtermScrollDownHelperAddon.ts │ │ │ ├── useDeepCompareEffect.ts │ │ │ ├── useDeepCompareMemo.ts │ │ │ ├── useDeepMemoize.ts │ │ │ ├── useEventListener.ts │ │ │ ├── useFileManagerSwr.ts │ │ │ ├── useFilteredObject.ts │ │ │ ├── useFlash.ts │ │ │ ├── useLocationHash.ts │ │ │ ├── usePermissions.ts │ │ │ ├── usePersistedState.ts │ │ │ ├── useSWRKey.ts │ │ │ └── useWebsocketEvent.ts │ │ ├── routers/ │ │ │ ├── AuthenticationRouter.tsx │ │ │ ├── DashboardRouter.tsx │ │ │ ├── ServerRouter.tsx │ │ │ └── routes.ts │ │ ├── setup-tests.ts │ │ ├── state/ │ │ │ ├── flashes.ts │ │ │ ├── hooks.ts │ │ │ ├── index.ts │ │ │ ├── permissions.ts │ │ │ ├── progress.ts │ │ │ ├── server/ │ │ │ │ ├── databases.ts │ │ │ │ ├── files.ts │ │ │ │ ├── index.ts │ │ │ │ ├── schedules.ts │ │ │ │ ├── socket.ts │ │ │ │ └── subusers.ts │ │ │ ├── settings.ts │ │ │ └── user.ts │ │ └── theme.ts │ └── views/ │ ├── admin/ │ │ ├── api/ │ │ │ ├── index.blade.php │ │ │ └── new.blade.php │ │ ├── databases/ │ │ │ ├── index.blade.php │ │ │ └── view.blade.php │ │ ├── eggs/ │ │ │ ├── new.blade.php │ │ │ ├── scripts.blade.php │ │ │ ├── variables.blade.php │ │ │ └── view.blade.php │ │ ├── index.blade.php │ │ ├── locations/ │ │ │ ├── index.blade.php │ │ │ └── view.blade.php │ │ ├── mounts/ │ │ │ ├── index.blade.php │ │ │ └── view.blade.php │ │ ├── nests/ │ │ │ ├── index.blade.php │ │ │ ├── new.blade.php │ │ │ └── view.blade.php │ │ ├── nodes/ │ │ │ ├── index.blade.php │ │ │ ├── new.blade.php │ │ │ └── view/ │ │ │ ├── allocation.blade.php │ │ │ ├── configuration.blade.php │ │ │ ├── index.blade.php │ │ │ ├── servers.blade.php │ │ │ └── settings.blade.php │ │ ├── servers/ │ │ │ ├── index.blade.php │ │ │ ├── new.blade.php │ │ │ ├── partials/ │ │ │ │ └── navigation.blade.php │ │ │ └── view/ │ │ │ ├── build.blade.php │ │ │ ├── database.blade.php │ │ │ ├── delete.blade.php │ │ │ ├── details.blade.php │ │ │ ├── index.blade.php │ │ │ ├── manage.blade.php │ │ │ ├── mounts.blade.php │ │ │ └── startup.blade.php │ │ ├── settings/ │ │ │ ├── advanced.blade.php │ │ │ ├── index.blade.php │ │ │ └── mail.blade.php │ │ └── users/ │ │ ├── index.blade.php │ │ ├── new.blade.php │ │ └── view.blade.php │ ├── layouts/ │ │ ├── admin.blade.php │ │ └── scripts.blade.php │ ├── partials/ │ │ ├── admin/ │ │ │ └── settings/ │ │ │ ├── nav.blade.php │ │ │ └── notice.blade.php │ │ └── schedules/ │ │ └── task-template.blade.php │ ├── templates/ │ │ ├── auth/ │ │ │ └── core.blade.php │ │ ├── base/ │ │ │ └── core.blade.php │ │ └── wrapper.blade.php │ └── vendor/ │ ├── notifications/ │ │ ├── email-plain.blade.php │ │ └── email.blade.php │ └── pagination/ │ └── default.blade.php ├── routes/ │ ├── admin.php │ ├── api-application.php │ ├── api-client.php │ ├── api-remote.php │ ├── auth.php │ └── base.php ├── shell.nix ├── storage/ │ ├── app/ │ │ └── .gitignore │ ├── clockwork/ │ │ └── .gitignore │ └── logs/ │ └── .gitignore ├── tailwind.config.js ├── tests/ │ ├── Assertions/ │ │ ├── AssertsActivityLogged.php │ │ └── MiddlewareAttributeAssertionsTrait.php │ ├── Integration/ │ │ ├── Api/ │ │ │ ├── Application/ │ │ │ │ ├── ApplicationApiIntegrationTestCase.php │ │ │ │ ├── Location/ │ │ │ │ │ └── LocationControllerTest.php │ │ │ │ ├── Nests/ │ │ │ │ │ ├── EggControllerTest.php │ │ │ │ │ └── NestControllerTest.php │ │ │ │ ├── Nodes/ │ │ │ │ │ └── NodeController/ │ │ │ │ │ └── UpdateNodeTest.php │ │ │ │ └── Users/ │ │ │ │ ├── ExternalUserControllerTest.php │ │ │ │ └── UserControllerTest.php │ │ │ ├── Client/ │ │ │ │ ├── AccountControllerTest.php │ │ │ │ ├── ApiKeyControllerTest.php │ │ │ │ ├── ClientApiIntegrationTestCase.php │ │ │ │ ├── ClientControllerTest.php │ │ │ │ ├── SSHKeyControllerTest.php │ │ │ │ ├── Server/ │ │ │ │ │ ├── Allocation/ │ │ │ │ │ │ ├── AllocationAuthorizationTest.php │ │ │ │ │ │ ├── CreateNewAllocationTest.php │ │ │ │ │ │ └── DeleteAllocationTest.php │ │ │ │ │ ├── Backup/ │ │ │ │ │ │ ├── BackupAuthorizationTest.php │ │ │ │ │ │ └── DeleteBackupTest.php │ │ │ │ │ ├── CommandControllerTest.php │ │ │ │ │ ├── Database/ │ │ │ │ │ │ └── DatabaseAuthorizationTest.php │ │ │ │ │ ├── Files/ │ │ │ │ │ │ └── CompressFilesTest.php │ │ │ │ │ ├── NetworkAllocationControllerTest.php │ │ │ │ │ ├── PowerControllerTest.php │ │ │ │ │ ├── ResourceUtilizationControllerTest.php │ │ │ │ │ ├── Schedule/ │ │ │ │ │ │ ├── CreateServerScheduleTest.php │ │ │ │ │ │ ├── DeleteServerScheduleTest.php │ │ │ │ │ │ ├── ExecuteScheduleTest.php │ │ │ │ │ │ ├── GetServerSchedulesTest.php │ │ │ │ │ │ ├── ScheduleAuthorizationTest.php │ │ │ │ │ │ └── UpdateServerScheduleTest.php │ │ │ │ │ ├── ScheduleTask/ │ │ │ │ │ │ ├── CreateServerScheduleTaskTest.php │ │ │ │ │ │ └── DeleteScheduleTaskTest.php │ │ │ │ │ ├── SettingsControllerTest.php │ │ │ │ │ ├── Startup/ │ │ │ │ │ │ ├── GetStartupAndVariablesTest.php │ │ │ │ │ │ └── UpdateStartupVariableTest.php │ │ │ │ │ ├── Subuser/ │ │ │ │ │ │ ├── CreateServerSubuserTest.php │ │ │ │ │ │ ├── DeleteSubuserTest.php │ │ │ │ │ │ ├── SubuserAuthorizationTest.php │ │ │ │ │ │ └── UpdateSubuserTest.php │ │ │ │ │ └── WebsocketControllerTest.php │ │ │ │ └── TwoFactorControllerTest.php │ │ │ └── Remote/ │ │ │ ├── ServerTransferControllerTest.php │ │ │ └── SftpAuthenticationControllerTest.php │ │ ├── Http/ │ │ │ ├── Controllers/ │ │ │ │ ├── Admin/ │ │ │ │ │ └── UserController/ │ │ │ │ │ └── DeleteUserTest.php │ │ │ │ └── Auth/ │ │ │ │ └── LoginCheckpointControllerTest.php │ │ │ └── HttpTestCase.php │ │ ├── IntegrationTestCase.php │ │ ├── Jobs/ │ │ │ ├── RevokeSftpAccessJobTest.php │ │ │ └── Schedule/ │ │ │ └── RunTaskJobTest.php │ │ ├── Services/ │ │ │ ├── Allocations/ │ │ │ │ └── FindAssignableAllocationServiceTest.php │ │ │ ├── Backups/ │ │ │ │ └── DeleteBackupServiceTest.php │ │ │ ├── Databases/ │ │ │ │ ├── DatabaseManagementServiceTest.php │ │ │ │ └── DeployServerDatabaseServiceTest.php │ │ │ ├── Deployment/ │ │ │ │ └── FindViableNodesServiceTest.php │ │ │ ├── Schedules/ │ │ │ │ └── ProcessScheduleServiceTest.php │ │ │ ├── Servers/ │ │ │ │ ├── BuildModificationServiceTest.php │ │ │ │ ├── ServerCreationServiceTest.php │ │ │ │ ├── ServerDeletionServiceTest.php │ │ │ │ ├── StartupModificationServiceTest.php │ │ │ │ ├── SuspensionServiceTest.php │ │ │ │ └── VariableValidatorServiceTest.php │ │ │ └── Users/ │ │ │ └── UserDeletionServiceTest.php │ │ └── TestResponse.php │ ├── TestCase.php │ ├── Traits/ │ │ ├── Http/ │ │ │ ├── IntegrationJsonRequestAssertions.php │ │ │ ├── MocksMiddlewareClosure.php │ │ │ └── RequestMockHelpers.php │ │ ├── Integration/ │ │ │ └── CreatesTestModels.php │ │ ├── MocksPdoConnection.php │ │ ├── MocksRequestException.php │ │ └── MocksUuids.php │ └── Unit/ │ ├── Helpers/ │ │ ├── EnvironmentWriterTraitTest.php │ │ └── IsDigitTest.php │ ├── Http/ │ │ └── Middleware/ │ │ ├── AdminAuthenticateTest.php │ │ ├── Api/ │ │ │ ├── Application/ │ │ │ │ └── AuthenticateUserTest.php │ │ │ └── Daemon/ │ │ │ └── DaemonAuthenticateTest.php │ │ ├── LanguageMiddlewareTest.php │ │ ├── MaintenanceMiddlewareTest.php │ │ ├── MiddlewareTestCase.php │ │ └── RedirectIfAuthenticatedTest.php │ ├── Rules/ │ │ └── UsernameTest.php │ └── Services/ │ └── Acl/ │ └── Api/ │ └── AdminAclTest.php ├── tsconfig.json └── webpack.config.js