Ctrlpanel-gg / panel

CtrlPanel offers an easy-to-use and free billing solution for all starting and experienced hosting providers that seamlessly integrates with the Pterodactyl panel.
https://ctrlpanel.gg/
MIT License
390 stars 141 forks source link

[Bug]: Panel is not checking all allocation pages #922

Closed boomerangBS closed 5 months ago

boomerangBS commented 6 months ago

What is your request about?

When creating a server,the panel is only checking the first page of the api, so when the first page is full on used allocation, i got an error that says there is not allocation available

Branch

main

Solution idea

Use the ["meta"]["pagination"]["total_pages"] to see how much page there are and check all the pages

Controlpanel Logs

#10 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(753): Illuminate\Database\Connection->Illuminate\Database\{closure}()
#11 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(899): Illuminate\Database\Connection->runQueryCallback()
#12 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(879): Illuminate\Database\Connection->tryAgainIfCausedByLostConnection()
#13 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(723): Illuminate\Database\Connection->handleQueryException()
#14 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(422): Illuminate\Database\Connection->run()
#15 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2656): Illuminate\Database\Connection->select()
#16 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2644): Illuminate\Database\Query\Builder->runSelect()
#17 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3180): Illuminate\Database\Query\Builder->Illuminate\Database\Query\{closure}()
#18 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2645): Illuminate\Database\Query\Builder->onceWithColumns()
#19 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(710): Illuminate\Database\Query\Builder->get()
#20 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(694): Illuminate\Database\Eloquent\Builder->getModels()
#21 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(674): Illuminate\Database\Eloquent\Builder->get()
#22 /var/www/controlpanel/app/Providers/AppServiceProvider.php(68): Illuminate\Database\Eloquent\Model::all()
#23 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Providers\AppServiceProvider->boot()
#24 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#25 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
#26 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\Container\BoundMethod::callBoundMethod()
#27 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/Container.php(663): Illuminate\Container\BoundMethod::call()
#28 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(933): Illuminate\Container\Container->call()
#29 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(914): Illuminate\Foundation\Application->bootProvider()
#30 [internal function]: Illuminate\Foundation\Application->Illuminate\Foundation\{closure}()
#31 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(915): array_walk()
#32 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php(17): Illuminate\Foundation\Application->boot()
#33 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(242): Illuminate\Foundation\Bootstrap\BootProviders->bootstrap()
#34 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(383): Illuminate\Foundation\Application->bootstrapWith()
#35 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(153): Illuminate\Foundation\Console\Kernel->bootstrap()
#36 /var/www/controlpanel/artisan(37): Illuminate\Foundation\Console\Kernel->handle()
#37 {main}

Next Illuminate\Database\QueryException: SQLSTATE[HY000] [2002] Connection refused (SQL: select * from `settings`) in /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:760
Stack trace:
#0 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(899): Illuminate\Database\Connection->runQueryCallback()
#1 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(879): Illuminate\Database\Connection->tryAgainIfCausedByLostConnection()
#2 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(723): Illuminate\Database\Connection->handleQueryException()
#3 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(422): Illuminate\Database\Connection->run()
#4 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2656): Illuminate\Database\Connection->select()
#5 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2644): Illuminate\Database\Query\Builder->runSelect()
#6 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3180): Illuminate\Database\Query\Builder->Illuminate\Database\Query\{closure}()
#7 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2645): Illuminate\Database\Query\Builder->onceWithColumns()
#8 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(710): Illuminate\Database\Query\Builder->get()
#9 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(694): Illuminate\Database\Eloquent\Builder->getModels()
#10 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(674): Illuminate\Database\Eloquent\Builder->get()
#11 /var/www/controlpanel/app/Providers/AppServiceProvider.php(68): Illuminate\Database\Eloquent\Model::all()
#12 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Providers\AppServiceProvider->boot()
#13 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#14 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
#15 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\Container\BoundMethod::callBoundMethod()
#16 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/Container.php(663): Illuminate\Container\BoundMethod::call()
#17 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(933): Illuminate\Container\Container->call()
#18 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(914): Illuminate\Foundation\Application->bootProvider()
#19 [internal function]: Illuminate\Foundation\Application->Illuminate\Foundation\{closure}()
#20 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(915): array_walk()
#21 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php(17): Illuminate\Foundation\Application->boot()
#22 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(242): Illuminate\Foundation\Bootstrap\BootProviders->bootstrap()
#23 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(383): Illuminate\Foundation\Application->bootstrapWith()
#24 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(153): Illuminate\Foundation\Console\Kernel->bootstrap()
#25 /var/www/controlpanel/artisan(37): Illuminate\Foundation\Console\Kernel->handle()
#26 {main}  
[2023-12-12 20:40:21] production.ERROR: SQLSTATE[HY000] [2002] Connection refused {"exception":"[object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70)
[stacktrace]
#0 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(70): PDO->__construct()
#1 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(100): Illuminate\\Database\\Connectors\\Connector->createPdoConnection()
#2 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(50): Illuminate\\Database\\Connectors\\Connector->tryAgainIfCausedByLostConnection()
#3 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php(24): Illuminate\\Database\\Connectors\\Connector->createConnection()
#4 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(184): Illuminate\\Database\\Connectors\\MySqlConnector->connect()
#5 [internal function]: Illuminate\\Database\\Connectors\\ConnectionFactory->Illuminate\\Database\\Connectors\\{closure}()
#6 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(1181): call_user_func()
#7 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php(177): Illuminate\\Database\\Connection->getPdo()
#8 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php(143): Illuminate\\Database\\Connection->handleBeginTransactionException()
#9 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php(117): Illuminate\\Database\\Connection->createTransaction()
#10 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php(24): Illuminate\\Database\\Connection->beginTransaction()
#11 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Queue/DatabaseQueue.php(227): Illuminate\\Database\\Connection->transaction()
#12 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(342): Illuminate\\Queue\\DatabaseQueue->pop()
#13 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(351): Illuminate\\Queue\\Worker->Illuminate\\Queue\\{closure}()
#14 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(160): Illuminate\\Queue\\Worker->getNextJob()
#15 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(147): Illuminate\\Queue\\Worker->daemon()
#16 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(130): Illuminate\\Queue\\Console\\WorkCommand->runWorker()
#17 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Queue\\Console\\WorkCommand->handle()
#18 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#19 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure()
#20 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\\Container\\BoundMethod::callBoundMethod()
#21 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Container/Container.php(663): Illuminate\\Container\\BoundMethod::call()
#22 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Illuminate\\Container\\Container->call()
#23 /var/www/controlpanel/vendor/symfony/console/Command/Command.php(312): Illuminate\\Console\\Command->execute()
#24 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Console/Command.php(152): Symfony\\Component\\Console\\Command\\Command->run()
#25 /var/www/controlpanel/vendor/symfony/console/Application.php(1022): Illuminate\\Console\\Command->run()
#26 /var/www/controlpanel/vendor/symfony/console/Application.php(314): Symfony\\Component\\Console\\Application->doRunCommand()
#27 /var/www/controlpanel/vendor/symfony/console/Application.php(168): Symfony\\Component\\Console\\Application->doRun()
#28 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Console/Application.php(102): Symfony\\Component\\Console\\Application->run()
#29 /var/www/controlpanel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(155): Illuminate\\Console\\Application->run()
#30 /var/www/controlpanel/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle()
#31 {main}
"} 
[2023-12-14 01:36:09] production.INFO: array (
  0 => 
  array (
    'column' => '6',
    'dir' => 'desc',
  ),
)

Additional Info

No response

boomerangBS commented 6 months ago

i am not really good in english, sorry :(

Ferks-FK commented 6 months ago

Hi, it's not exactly a bug, but rather a lazy way they've found to get around it xD. For now you can simply increase the number of server allocations and everything will be fine.

image

boomerangBS commented 5 months ago

ok thanks