Giter Club home page Giter Club logo

ranksystem's Introduction

👑 RankSystem 🔧

An amazing Rank and Permissions Manager

Description:

An amazing Rank and Permissions Manager. The best ranks manager for PocketMine-MP.

For Developers

Examples and tutorials can be found on the RankSystem Wiki.

Features

  • Multi-language support
  • Multiple Ranks per user support
  • Data migrator from other ranks/groups plugins (PurePerms)
  • An easy to use User Interface
  • Multi-rank inheritance system to allow you to inherit rank permissions
  • Temp-ranks
  • Temp-permissions
  • SQLite3 Provider Support
  • MySQL Provider Support
  • Easy Rank Creation / Edit System
  • Ranks inheritance system to allow inherit other ranks permissions
  • Permissions per User
  • Provides simple and flexible API for plugin developers
  • ScoreHud Integration
  • And more...!

Commands

Command Description Permission
/ranksystem manage Open a form to manage RankSystem ranksystem.command.manage
/ranksystem create Create a Rank ranksystem.command.create
/ranksystem delete <rank> Delete a Rank. ranksystem.command.delete
/ranksystem edit <rank> Edit a Rank ranksystem.command.edit
/ranksystem list Show all ranks list. ranksystem.command.list
/ranksystem setrank <user> <rank> [expTime] Set a Rank to a User ranksystem.command.setrank
/ranksystem removerank <user> <rank> Remove a Rank of a User ranksystem.command.removerank
/ranksystem setpermission <user> <permission> [expTime] Set a Permission to a User ranksystem.command.setpermission
/ranksystem removepermission <user> <permission> Remove a Permission of a User ranksystem.commands.removepermission
/ranksystem permissions <plugin> Show a list of all plugin permissions ranksystem.command.permissions
/ranksystem rankinfo <rank> Show info about a rank ranksystem.command.rankinfo
/ranksystem userinfo <user> Show info about a user ranksystem.command.userinfo
/ranksystem help Show avaible RankSystem commands ranksystem.command.help
/ranksystem credits Show RankSystem Credits ranksystem.command.credits

ScoreHud Integration

This plugin supports ScoreHud plugin.

Tag Description
{ranksystem.ranks} The ranks of the player
{ranksystem.highest_rank} The player's highest rank
{ranksystem.nametag} NameTag assigned by RankSystem to the player

Project information

Version Pocketmine API PHP Status
1.1.2 PM5 8 Functional

ranksystem's People

Contributors

blusterys avatar borvn avatar dependabot[bot] avatar ivancraft623 avatar justj0rd4n avatar lunarelly avatar poggit-bot avatar supercrafter333 avatar trinitrotoluen0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ranksystem's Issues

Error

[Server thread/CRITICAL]: TypeError: "IvanCraft623\RankSystem\form\SelectRankForm::IvanCraft623\RankSystem\form{closure}(): Argument #2 ($rank
) must be of type ?IvanCraft623\RankSystem\rank\Rank, string given, called in C:\Users\LENOVO\OneDrive\Documents\project\AraaNetwork\survival\plugins\FormAPI\src\jojoe77777\FormAPI\Form.php on line 46" (EXCEPTION) in "plugins/RankSystem/src/IvanCraft623/RankSystem/form/SelectRankForm" at line 42
--- Stack trace ---
#0 plugins/FormAPI/src/jojoe77777/FormAPI/Form(46): IvanCraft623\RankSystem\form\SelectRankForm->IvanCraft623\RankSystem\form{closure}(object pocketmine\player\Player#150626, string[5] Owner)
#1 pmsrc/src/player/Player(2141): jojoe77777\FormAPI\Form->handleResponse(object pocketmine\player\Player#150626, string[5] Owner)
#2 pmsrc/src/network/mcpe/handler/InGamePacketHandler(984): pocketmine\player\Player->onFormSubmit(int 5, int 2)
#3 pmsrc/vendor/nethergamesmc/bedrock-protocol/src/ModalFormResponsePacket(63): pocketmine\network\mcpe\handler\InGamePacketHandler->handleModalFormResponse(object pocketmine\network\mcpe\protocol\ModalFormResponsePacket#150150)
#4 pmsrc/src/network/mcpe/NetworkSession(498): pocketmine\network\mcpe\protocol\ModalFormResponsePacket->handle(object pocketmine\network\mcpe\handler\InGamePacketHandler#133548)
#5 pmsrc/src/network/mcpe/NetworkSession(436): pocketmine\network\mcpe\NetworkSession->handleDataPacket(object pocketmine\network\mcpe\protocol\ModalFormResponsePacket#150150, string[7] e...2..)
#6 pmsrc/src/network/mcpe/raklib/RakLibInterface(219): pocketmine\network\mcpe\NetworkSession->handleEncoded(string[10] cOeed2.b..)
#7 pmsrc/vendor/pocketmine/raklib-ipc/src/RakLibToUserThreadMessageReceiver(40): pocketmine\network\mcpe\raklib\RakLibInterface->onPacketReceive(int 0, string[19] .4...9.......U..3..)
#8 pmsrc/src/network/mcpe/raklib/RakLibInterface(111): raklib\server\ipc\RakLibToUserThreadMessageReceiver->handle(object pocketmine\network\mcpe\raklib\RakLibInterface#193345)
#9 pmsrc/src/TimeTrackingSleeperHandler(58): pocketmine\network\mcpe\raklib\RakLibInterface->pocketmine\network\mcpe\raklib{closure}()
#10 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(120): pocketmine\TimeTrackingSleeperHandler->pocketmine{closure}()
#11 pmsrc/src/TimeTrackingSleeperHandler(77): pocketmine\snooze\SleeperHandler->processNotifications()
#12 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(79): pocketmine\TimeTrackingSleeperHandler->processNotifications()
#13 pmsrc/src/Server(1718): pocketmine\snooze\SleeperHandler->sleepUntil(float 1705154860.5535)
#14 pmsrc/src/Server(1092): pocketmine\Server->tickProcessor()
#15 pmsrc/src/PocketMine(341): pocketmine\Server->__construct(object pocketmine\thread\ThreadSafeClassLoader#5, object pocketmine\utils\MainLogger#4, string[64] C:\Users\LENOVO\OneDrive\Documents\project\AraaNetwork\survival, string[72] C:\Users\LENOVO\OneDrive\Documents\project\AraaNetwork\survival\plugins)
#16 pmsrc/src/PocketMine(364): pocketmine\server()
#17 pmsrc(11): require(string[108] phar://C:/Users/LENOVO/OneDrive/Documents/project/AraaNetwork/survival/PocketMin)
--- End of exception information ---

PurePerms migration doesn't work for user.json files

PurePerms mistakenly saved the config as YML with a .json extension:
https://github.com/poggit-orphanage/PurePerms/blob/16e796ca96eb58dd3aa0a6edea0be2ca14688478/src/_64FF00/PurePerms/DataProviders/JsonProvider.php#L86

But the migrator goes by the file extension by using DETECT:

$playerData = new Config($playersFolder . $entry, Config::DETECT);

Which will of course cause a JSON syntax error exception:

[18:57:59.734] [Server thread/CRITICAL]: pocketmine\utils\ConfigLoadException: "Failed to parse config D:\Himbeer\PMMP\plugin_data\PurePerms\players\himbeersaftlp.json: Syntax error" (EXCEPTION) in "pmsrc/src/utils/ConfigLoadException" at line 29

This is what the himbeersaftlp.json file contains:

---
userName: HimbeersaftLP
group: Owner
permissions: []
worlds: []
time: -1
expTime: -1
...

Also I'd prefer it if the data wasn't migrated without asking first.

add WaterdogPE support

Please can you support WaterdogPE as a new platform as WaterdogPE currently does not have a proper ranking system

Enlever la couleur dans le chat

Je m'explique, en gros faire en sorte que après le préfixe=grade et après le pseudo donc en gros enlever la possibilité de mettre de la couleur exemple : §4§Bonjour le chat, voilà juste si c'était possible pour vous de mettre une autorisation en toute cas il faudrait path sa.

Merci | Discord : Soso2612

Please Fix Permissions

Why is it that when a player exits the server, their Permissions are lost? please fix this...

[Suggest] Two Suggestions

Hello! Welcome to two different suggestions!
First off, add an option to disable multiple ranks, some people dont use it!

Second off, make the Hierarchy act as PurePerm's inheritance feature as filling up ranks with unneeded perms is insanely annoying while the rank behind the other rank already has the perms.

Bug op

Sometimes everything is frozen for op people.

Pureperms data not migrating

[05:56:20.538] [Server thread/INFO]: Enabling RankSystem v1.1.0
[05:56:20.569] [Server thread/INFO]: [RankSystem] User provider was set to: sqlite
[05:56:20.572] [Server thread/NOTICE]: [RankSystem] Migrating data from: PurePerms
[05:56:20.572] [Server thread/WARNING]: [RankSystem] Failed to migrate data from PurePerms

I removed 2 ranks from a player and when I try to join back it gave me this error.

[15:09:43] [Server thread/CRITICAL]: ErrorException: "Undefined offset: 0" (EXCEPTION) in "plugins/RankSystem.phar/src/IvanCraft623/RankSystem/session/Session" at line 116
[15:09:43] [Server thread/CRITICAL]: #0 plugins/RankSystem.phar/src/IvanCraft623/RankSystem/session/Session(116): pocketmine\utils\Utils::errorExceptionHandler(integer 8, string[19] Undefined offset: 0, string[107] phar://E:/Desktop/DevServer/archive/plugins/RankSystem.phar/src/IvanCraft623/Ran, integer 116, array[0])
[15:09:43] [Server thread/CRITICAL]: #1 plugins/RankSystem.phar/src/IvanCraft623/RankSystem/session/Session(283): IvanCraft623\RankSystem\session\Session->getNameTagFormat()
[15:09:43] [Server thread/CRITICAL]: #2 plugins/RankSystem.phar/src/IvanCraft623/RankSystem/session/Session(217): IvanCraft623\RankSystem\session\Session->updateRanks()
[15:09:43] [Server thread/CRITICAL]: #3 plugins/RankSystem.phar/src/IvanCraft623/RankSystem/command/RanksCommand(187): IvanCraft623\RankSystem\session\Session->removeRank(object IvanCraft623\RankSystem\rank\Rank)
[15:09:43] [Server thread/CRITICAL]: #4 pmsrc/src/pocketmine/command/SimpleCommandMap(248): IvanCraft623\RankSystem\command\RanksCommand->execute(object pocketmine\Player, string[5] ranks, array[3])
[15:09:43] [Server thread/CRITICAL]: #5 pmsrc/src/pocketmine/Server(1809): pocketmine\command\SimpleCommandMap->dispatch(object pocketmine\Player, string[33] ranks remove TitaniumLB5671 Admin)
[15:09:43] [Server thread/CRITICAL]: #6 pmsrc/src/pocketmine/Player(2353): pocketmine\Server->dispatchCommand(object pocketmine\Player, string[33] ranks remove TitaniumLB5671 Admin)
[15:09:43] [Server thread/CRITICAL]: #7 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(239): pocketmine\Player->chat(string[34] /ranks remove TitaniumLB5671 Admin)
[15:09:43] [Server thread/CRITICAL]: #8 pmsrc/src/pocketmine/network/mcpe/protocol/CommandRequestPacket(54): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleCommandRequest(object pocketmine\network\mcpe\protocol\CommandRequestPacket)
[15:09:43] [Server thread/CRITICAL]: #9 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(109): pocketmine\network\mcpe\protocol\CommandRequestPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter)
[15:09:43] [Server thread/CRITICAL]: #10 pmsrc/src/pocketmine/network/mcpe/protocol/BatchPacket(130): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\CommandRequestPacket)
[15:09:43] [Server thread/CRITICAL]: #11 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(109): pocketmine\network\mcpe\protocol\BatchPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter)
[15:09:43] [Server thread/CRITICAL]: #12 pmsrc/src/pocketmine/Player(3325): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
[15:09:43] [Server thread/CRITICAL]: #13 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(169): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
[15:09:43] [Server thread/CRITICAL]: #14 pmsrc/vendor/pocketmine/raklib/src/server/ServerHandler(95): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string[15] 127.0.0.1 59173, object raklib\protocol\EncapsulatedPacket, integer 0)
[15:09:43] [Server thread/CRITICAL]: #15 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(109): raklib\server\ServerHandler->handlePacket()
[15:09:43] [Server thread/CRITICAL]: #16 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(99): pocketmine\network\mcpe\RakLibInterface->process()
[15:09:43] [Server thread/CRITICAL]: #17 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(113): pocketmine\network\mcpe\RakLibInterface->pocketmine\network\mcpe{closure}()
[15:09:43] [Server thread/CRITICAL]: #18 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(75): pocketmine\snooze\SleeperHandler->processNotifications()
[15:09:43] [Server thread/CRITICAL]: #19 pmsrc/src/pocketmine/Server(2155): pocketmine\snooze\SleeperHandler->sleepUntil(double 1626793783.8164)
[15:09:43] [Server thread/CRITICAL]: #20 pmsrc/src/pocketmine/Server(1992): pocketmine\Server->tickProcessor()
[15:09:43] [Server thread/CRITICAL]: #21 pmsrc/src/pocketmine/Server(1586): pocketmine\Server->start()
[15:09:43] [Server thread/CRITICAL]: #22 pmsrc/src/pocketmine/PocketMine(291): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[29] E:\Desktop\DevServer\archive, string[37] E:\Desktop\DevServer\archive\plugins)
[15:09:43] [Server thread/CRITICAL]: #23 pmsrc/src/pocketmine/PocketMine(321): pocketmine\server()
[15:09:43] [Server thread/CRITICAL]: #24 pmsrc(11): require(string[84] phar://E:/Desktop/DevServer/archive/PocketMine-MP.phar/src/pocketmine/PocketMine)

Rank reset

Hello,

your plugin is really good, but there is a big bug that should be fixed quickly! The ranks are often reset when no one is online or after a restart and to give the ranks back, you always have to restart the server and so that is not good. It would be very good if you could fix it.

Mfg,
Leo

Error

Actualiza el plugin a la versión más actual pues da este error
IvanCraft623\RankSystem\libs\poggit\libasynql\generic\GenericStatementImpl::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/container/plugins/Ranks/src/IvanCraft623/RankSystem/libs/poggit/libasynql/generic/GenericStatementImpl.php:233

public function jsonSerialize(){
return [
"name" => $this->name,
"query" => $this->query,
"doc" => $this->doc,
"variables" => $this->variables,
"file" => $this->file,
"lineNo" => $this->lineNo,
];

Ranks mysql sync

I don't understand why ranks don't sync between 2 servers with exactly the same connection to the same database.
But the ranks register independently between the 2 servers, even though they are on the same database.

Custom tags?

Does this plugin Provide Custom api tags? because I really need

I want to make Tag Integration against Clans, Factions, and more

Changing ranks

I set my rank to Admin but now when I try setting it to default rank it doesn't show in chat that I'm newcomer
Screenshot_20220603-233951_Minecraft

Как решить

У меня проблема , как сделать так чтобы при выдаче ранга старый ранг убирался и заменялся новым ,типо был Админ а стал Флай и в чате был только Флай

Server crash

When u press Save & Exit the Server crashes.
Please fix it! Thank u very much and its an very nice plugin

[Migration]

  • Any Tool For Migration From PurePerms To RankSystem

Suffix

Hi, I just have an idea it will be soo cool to have a suffix option too.
I mean if we can manage ranks directly from the game(or inside the ranks.yml), we have an option to edit prefix and I think it will be great if we'll be able to change player's suffix too.
Thanks and I appreciate all work that you've put into this plugin, I LOVE IT!

MySQL Error

Hello good evening, I have a small problem.

I explain my problem a bit: I have 2 servers and one of the two is already connected and does not give an error, but the second is the one that gives me that error. I would greatly appreciate your help.
And Excuse the English, but I'm using the google translator.

This is what crashdumps tells me:

Error: json_decode(): Argument #1 ($json) must be of type string, null given
File: plugins/RankSystem_dev-30.phar/src/IvanCraft623/RankSystem/provider/UserData
Line: 88
Type: TypeError
Backtrace:
#0 plugins/RankSystem_dev-30.phar/src/IvanCraft623/RankSystem/provider/UserData(88): json_decode(null, true)
#1 plugins/RankSystem_dev-30.phar/src/IvanCraft623/RankSystem/provider/libasynql(73): IvanCraft623\RankSystem\provider\UserData::jsonDeserialize(array[3])
#2 plugins/RankSystem_dev-30.phar/src/IvanCraft623/RankSystem/libs/poggit/libasynql/base/DataConnectorImpl(174): IvanCraft623\RankSystem\provider\libasynql->IvanCraft623\RankSystem\provider{closure}(array[1], array[3])
#3 plugins/RankSystem_dev-30.phar/src/IvanCraft623/RankSystem/libs/poggit/libasynql/base/DataConnectorImpl(181): IvanCraft623\RankSystem\libs\poggit\libasynql\base\DataConnectorImpl::IvanCraft623\RankSystem\libs\poggit\libasynql\base{closure}(object IvanCraft623\RankSystem\libs\poggit\libasynql\result\SqlSelectResult#30592)
#4 plugins/RankSystem_dev-30.phar/src/IvanCraft623/RankSystem/libs/poggit/libasynql/base/DataConnectorImpl(239): IvanCraft623\RankSystem\libs\poggit\libasynql\base\DataConnectorImpl::IvanCraft623\RankSystem\libs\poggit\libasynql\base{closure}(array[1])
#5 plugins/RankSystem_dev-30.phar/src/IvanCraft623/RankSystem/libs/poggit/libasynql/base/SqlThreadPool(112): IvanCraft623\RankSystem\libs\poggit\libasynql\base\DataConnectorImpl->IvanCraft623\RankSystem\libs\poggit\libasynql\base{closure}(array[1])
#6 plugins/RankSystem_dev-30.phar/src/IvanCraft623/RankSystem/libs/poggit/libasynql/base/DataConnectorImpl(323): IvanCraft623\RankSystem\libs\poggit\libasynql\base\SqlThreadPool->readResults(array[1])
#7 plugins/RankSystem_dev-30.phar/src/IvanCraft623/RankSystem/libs/poggit/libasynql/base/SqlThreadPool(65): IvanCraft623\RankSystem\libs\poggit\libasynql\base\DataConnectorImpl->checkResults()
#8 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(123): IvanCraft623\RankSystem\libs\poggit\libasynql\base\SqlThreadPool->IvanCraft623\RankSystem\libs\poggit\libasynql\base{closure}()
#9 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(82): pocketmine\snooze\SleeperHandler->processNotifications()
#10 pmsrc/src/Server(1703): pocketmine\snooze\SleeperHandler->sleepUntil(float 1655364152.709)
#11 pmsrc/src/Server(1063): pocketmine\Server->tickProcessor()
#12 pmsrc/src/PocketMine(304): pocketmine\Server->__construct(object BaseClassLoader#2, object pocketmine\utils\MainLogger#3, string[23] D:\1-Helorum_1VS1Games, string[31] D:\1-Helorum_1VS1Games\plugins)
#13 pmsrc/src/PocketMine(327): pocketmine\server()
#14 pmsrc(11): require(string[67] phar://D:/1-Helorum_1VS1Games/PocketMine-MP.phar/src/PocketMine.php)

Code:
[79] * ranks: string,
[80] * permissions: string,
[81] * generationTime: ?int
[82] * } $data
[83] */
[84] public static function jsonDeserialize(array $data) : UserData {
[85] return new UserData(
[86] (string) $data["name"],
[87] (array) (json_decode($data["ranks"], true)),
[88] (array) (json_decode($data["permissions"], true)),
[89] (int) ($data["generationTime"] ?? time())
[90] );
[91] }
[92] }

Crash

Crash on startup, not updated COMMANDOO

Call to a member function getParameters() on array
File: pmsrc/vendor/pocketmine/bedrock-protocol/src/AvailableCommandsPacket
Line: 533
Type: Error
Backtrace:
#0 pmsrc/vendor/pocketmine/bedrock-protocol/src/DataPacket(84): pocketmine\network\mcpe\protocol\AvailableCommandsPacket->encodePayload(object pocketmine\network\mcpe\protocol\serializer\PacketSerializer#141022)
#1 pmsrc/src/network/mcpe/NetworkSession(489): pocketmine\network\mcpe\protocol\DataPacket->encode(object pocketmine\network\mcpe\protocol\serializer\PacketSerializer#141022)
#2 pmsrc/src/network/mcpe/NetworkSession(470): pocketmine\network\mcpe\NetworkSession::encodePacketTimed(object pocketmine\network\mcpe\protocol\serializer\PacketSerializer#141022, object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#140978)
#3 plugins/RankSystem_dev-71.phar/src/IvanCraft623/RankSystem/libs/CortexPE/Commando/PacketHooker(81): pocketmine\network\mcpe\NetworkSession->sendDataPacket(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#140978)
#4 plugins/RankSystem_dev-71.phar/src/IvanCraft623/RankSystem/libs/CortexPE/Commando/libs/muqsit/simplepackethandler/interceptor/PacketInterceptorListener(83): IvanCraft623\RankSystem\libs\CortexPE\Commando\PacketHooker::IvanCraft623\RankSystem\libs\CortexPE\Commando{closure}(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#140978, object pocketmine\network\mcpe\NetworkSession#166449)
#5 pmsrc/src/event/RegisteredListener(61): IvanCraft623\RankSystem\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor\PacketInterceptorListener->IvanCraft623\RankSystem\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor{closure}(object pocketmine\event\server\DataPacketSendEvent#141441)
#6 pmsrc/src/event/Event(62): pocketmine\event\RegisteredListener->callEvent(object pocketmine\event\server\DataPacketSendEvent#141441)
#7 pmsrc/src/network/mcpe/NetworkSession(463): pocketmine\event\Event->call()
#8 plugins/EnderChest.phar/src/fernanACM/EnderChest/libs/CortexPE/Commando/PacketHooker(81): pocketmine\network\mcpe\NetworkSession->sendDataPacket(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#140978)
#9 plugins/EnderChest.phar/src/fernanACM/EnderChest/libs/CortexPE/Commando/libs/muqsit/simplepackethandler/interceptor/PacketInterceptorListener(83): fernanACM\EnderChest\libs\CortexPE\Commando\PacketHooker::fernanACM\EnderChest\libs\CortexPE\Commando{closure}(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#140978, object pocketmine\network\mcpe\NetworkSession#166449)
#10 pmsrc/src/event/RegisteredListener(61): fernanACM\EnderChest\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor\PacketInterceptorListener->fernanACM\EnderChest\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor{closure}(object pocketmine\event\server\DataPacketSendEvent#141449)
#11 pmsrc/src/event/Event(62): pocketmine\event\RegisteredListener->callEvent(object pocketmine\event\server\DataPacketSendEvent#141449)
#12 pmsrc/src/network/mcpe/NetworkSession(463): pocketmine\event\Event->call()
#13 plugins/BedrockEconomy.phar/src/cooldogedev/BedrockEconomy/libs/CortexPE/Commando/PacketHooker(81): pocketmine\network\mcpe\NetworkSession->sendDataPacket(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#140978)
#14 plugins/BedrockEconomy.phar/src/cooldogedev/BedrockEconomy/libs/CortexPE/Commando/libs/muqsit/simplepackethandler/interceptor/PacketInterceptorListener(83): cooldogedev\BedrockEconomy\libs\CortexPE\Commando\PacketHooker::cooldogedev\BedrockEconomy\libs\CortexPE\Commando{closure}(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#140978, object pocketmine\network\mcpe\NetworkSession#166449)
#15 pmsrc/src/event/RegisteredListener(61): cooldogedev\BedrockEconomy\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor\PacketInterceptorListener->cooldogedev\BedrockEconomy\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor{closure}(object pocketmine\event\server\DataPacketSendEvent#187728)
#16 pmsrc/src/event/Event(62): pocketmine\event\RegisteredListener->callEvent(object pocketmine\event\server\DataPacketSendEvent#187728)
#17 pmsrc/src/network/mcpe/NetworkSession(463): pocketmine\event\Event->call()
#18 pmsrc/src/network/mcpe/NetworkSession(993): pocketmine\network\mcpe\NetworkSession->sendDataPacket(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#140978)
#19 pmsrc/src/network/mcpe/handler/PreSpawnPacketHandler(126): pocketmine\network\mcpe\NetworkSession->syncAvailableCommands()
#20 pmsrc/src/network/mcpe/NetworkSession(325): pocketmine\network\mcpe\handler\PreSpawnPacketHandler->setUp()
#21 pmsrc/src/network/mcpe/NetworkSession(810): pocketmine\network\mcpe\NetworkSession->setHandler(object pocketmine\network\mcpe\handler\PreSpawnPacketHandler#147724)
#22 pmsrc/src/network/mcpe/NetworkSession(276): pocketmine\network\mcpe\NetworkSession->beginSpawnSequence()
#23 pmsrc/src/promise/Promise(45): pocketmine\network\mcpe\NetworkSession->onPlayerCreated(object pocketmine\player\Player#148552)
#24 pmsrc/src/network/mcpe/NetworkSession(239): pocketmine\promise\Promise->onCompletion(object Closure#188711, object Closure#148534)
#25 pmsrc/src/network/mcpe/NetworkSession(805): pocketmine\network\mcpe\NetworkSession->createPlayer()
#26 pmsrc/src/network/mcpe/handler/ResourcePacksPacketHandler(142): pocketmine\network\mcpe\NetworkSession->pocketmine\network\mcpe{closure}()
#27 pmsrc/vendor/pocketmine/bedrock-protocol/src/ResourcePackClientResponsePacket(61): pocketmine\network\mcpe\handler\ResourcePacksPacketHandler->handleResourcePackClientResponse(object pocketmine\network\mcpe\protocol\ResourcePackClientResponsePacket#148697)
#28 pmsrc/src/network/mcpe/NetworkSession(438): pocketmine\network\mcpe\protocol\ResourcePackClientResponsePacket->handle(object pocketmine\network\mcpe\handler\ResourcePacksPacketHandler#188707)
#29 pmsrc/src/network/mcpe/NetworkSession(382): pocketmine\network\mcpe\NetworkSession->handleDataPacket(object pocketmine\network\mcpe\protocol\ResourcePackClientResponsePacket#148697, string[4] ....)
#30 pmsrc/src/network/mcpe/raklib/RakLibInterface(218): pocketmine\network\mcpe\NetworkSession->handleEncoded(string[7] c.a..)
#31 pmsrc/vendor/pocketmine/raklib-ipc/src/RakLibToUserThreadMessageReceiver(40): pocketmine\network\mcpe\raklib\RakLibInterface->onPacketReceive(int 0, string[16] .....G.8.......[)
#32 pmsrc/src/network/mcpe/raklib/RakLibInterface(110): raklib\server\ipc\RakLibToUserThreadMessageReceiver->handle(object pocketmine\network\mcpe\raklib\RakLibInterface#192349)
#33 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(120): pocketmine\network\mcpe\raklib\RakLibInterface->pocketmine\network\mcpe\raklib{closure}()
#34 pmsrc/src/TimeTrackingSleeperHandler(58): pocketmine\snooze\SleeperHandler->processNotifications()
#35 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(79): pocketmine\TimeTrackingSleeperHandler->processNotifications()
#36 pmsrc/src/Server(1690): pocketmine\snooze\SleeperHandler->sleepUntil(float 1692977503.7919)
#37 pmsrc/src/Server(1064): pocketmine\Server->tickProcessor()
#38 pmsrc/src/PocketMine(334): pocketmine\Server->__construct(object pocketmine\thread\ThreadSafeClassLoader#3, object pocketmine\utils\MainLogger#6, string[13] /root/Server/, string[21] /root/Server/plugins/)
#39 pmsrc/src/PocketMine(357): pocketmine\server()
#40 pmsrc(11): require(string[57] phar:///root/Server/PocketMine-MP.phar/src/PocketMine.php)

Prefix issues

So i was wondering are prefix for different ranks suppose to merge so if you have two different ranks it gives you both prefixs cause thats a problem i feel that the rank with higher authority in the list is the only prefix that should show in chat an above players head idk if you under what i am saying hopefully you do

error on join after updateing to 1.20.10

current pmmp version supports 1.20.10 and same with rank system

crash dump:
PocketMine-MP Crash Dump Sun Jul 16 02:48:17 UTC 2023

PocketMine-MP version: 5.3.1 [Protocol 594]
Git commit: 250d18e41bb6fc671cbd2e3d2daaee2e06770b0f
PHP version: 8.1.21
OS: Linux, linux

A PLUGIN WAS INVOLVED IN THIS CRASH
BAD PLUGIN: RankSystem

Error: Call to a member function getParameters() on array
File: pmsrc/vendor/pocketmine/bedrock-protocol/src/AvailableCommandsPacket
Line: 533
Type: Error
Backtrace:
#0 pmsrc/vendor/pocketmine/bedrock-protocol/src/DataPacket(84): pocketmine\network\mcpe\protocol\AvailableCommandsPacket->encodePayload(object pocketmine\network\mcpe\protocol\serializer\PacketSerializer#161816)
#1 pmsrc/src/network/mcpe/NetworkSession(489): pocketmine\network\mcpe\protocol\DataPacket->encode(object pocketmine\network\mcpe\protocol\serializer\PacketSerializer#161816)
#2 pmsrc/src/network/mcpe/NetworkSession(470): pocketmine\network\mcpe\NetworkSession::encodePacketTimed(object pocketmine\network\mcpe\protocol\serializer\PacketSerializer#161816, object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#161815)
#3 plugins/RankSystem.phar/src/IvanCraft623/RankSystem/libs/CortexPE/Commando/PacketHooker(81): pocketmine\network\mcpe\NetworkSession->sendDataPacket(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#161815)
#4 plugins/RankSystem.phar/src/IvanCraft623/RankSystem/libs/CortexPE/Commando/libs/muqsit/simplepackethandler/interceptor/PacketInterceptorListener(83): IvanCraft623\RankSystem\libs\CortexPE\Commando\PacketHooker::IvanCraft623\RankSystem\libs\CortexPE\Commando{closure}(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#161815, object pocketmine\network\mcpe\NetworkSession#170504)
#5 pmsrc/src/event/RegisteredListener(61): IvanCraft623\RankSystem\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor\PacketInterceptorListener->IvanCraft623\RankSystem\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor{closure}(object pocketmine\event\server\DataPacketSendEvent#161962)
#6 pmsrc/src/event/Event(62): pocketmine\event\RegisteredListener->callEvent(object pocketmine\event\server\DataPacketSendEvent#161962)
#7 pmsrc/src/network/mcpe/NetworkSession(463): pocketmine\event\Event->call()
#8 plugins/MultiWorld_dev-278.phar/src/czechpmdevs/multiworld/libs/CortexPE/Commando/PacketHooker(81): pocketmine\network\mcpe\NetworkSession->sendDataPacket(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#161815)
#9 plugins/MultiWorld_dev-278.phar/src/czechpmdevs/multiworld/libs/CortexPE/Commando/libs/muqsit/simplepackethandler/interceptor/PacketInterceptorListener(81): czechpmdevs\multiworld\libs\CortexPE\Commando\PacketHooker::czechpmdevs\multiworld\libs\CortexPE\Commando{closure}(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#161815, object pocketmine\network\mcpe\NetworkSession#170504)
#10 pmsrc/src/event/RegisteredListener(61): czechpmdevs\multiworld\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor\PacketInterceptorListener->czechpmdevs\multiworld\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor{closure}(object pocketmine\event\server\DataPacketSendEvent#161970)
#11 pmsrc/src/event/Event(62): pocketmine\event\RegisteredListener->callEvent(object pocketmine\event\server\DataPacketSendEvent#161970)
#12 pmsrc/src/network/mcpe/NetworkSession(463): pocketmine\event\Event->call()
#13 plugins/BedrockEconomy.phar/src/cooldogedev/BedrockEconomy/libs/CortexPE/Commando/PacketHooker(81): pocketmine\network\mcpe\NetworkSession->sendDataPacket(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#161815)
#14 plugins/BedrockEconomy.phar/src/cooldogedev/BedrockEconomy/libs/CortexPE/Commando/libs/muqsit/simplepackethandler/interceptor/PacketInterceptorListener(83): cooldogedev\BedrockEconomy\libs\CortexPE\Commando\PacketHooker::cooldogedev\BedrockEconomy\libs\CortexPE\Commando{closure}(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#161815, object pocketmine\network\mcpe\NetworkSession#170504)
#15 pmsrc/src/event/RegisteredListener(61): cooldogedev\BedrockEconomy\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor\PacketInterceptorListener->cooldogedev\BedrockEconomy\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor{closure}(object pocketmine\event\server\DataPacketSendEvent#161809)
#16 pmsrc/src/event/Event(62): pocketmine\event\RegisteredListener->callEvent(object pocketmine\event\server\DataPacketSendEvent#161809)
#17 pmsrc/src/network/mcpe/NetworkSession(463): pocketmine\event\Event->call()
#18 pmsrc/src/network/mcpe/NetworkSession(997): pocketmine\network\mcpe\NetworkSession->sendDataPacket(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#161815)
#19 pmsrc/src/network/mcpe/handler/PreSpawnPacketHandler(126): pocketmine\network\mcpe\NetworkSession->syncAvailableCommands()
#20 pmsrc/src/network/mcpe/NetworkSession(325): pocketmine\network\mcpe\handler\PreSpawnPacketHandler->setUp()
#21 pmsrc/src/network/mcpe/NetworkSession(812): pocketmine\network\mcpe\NetworkSession->setHandler(object pocketmine\network\mcpe\handler\PreSpawnPacketHandler#169093)
#22 pmsrc/src/network/mcpe/NetworkSession(276): pocketmine\network\mcpe\NetworkSession->beginSpawnSequence()
#23 pmsrc/src/promise/Promise(45): pocketmine\network\mcpe\NetworkSession->onPlayerCreated(object pocketmine\player\Player#185980)
#24 pmsrc/src/network/mcpe/NetworkSession(239): pocketmine\promise\Promise->onCompletion(object Closure#170054, object Closure#170074)
#25 pmsrc/src/network/mcpe/NetworkSession(807): pocketmine\network\mcpe\NetworkSession->createPlayer()
#26 pmsrc/src/network/mcpe/handler/ResourcePacksPacketHandler(142): pocketmine\network\mcpe\NetworkSession->pocketmine\network\mcpe{closure}()
#27 pmsrc/vendor/pocketmine/bedrock-protocol/src/ResourcePackClientResponsePacket(61): pocketmine\network\mcpe\handler\ResourcePacksPacketHandler->handleResourcePackClientResponse(object pocketmine\network\mcpe\protocol\ResourcePackClientResponsePacket#41335)
#28 pmsrc/src/network/mcpe/NetworkSession(438): pocketmine\network\mcpe\protocol\ResourcePackClientResponsePacket->handle(object pocketmine\network\mcpe\handler\ResourcePacksPacketHandler#170093)
#29 pmsrc/src/network/mcpe/NetworkSession(382): pocketmine\network\mcpe\NetworkSession->handleDataPacket(object pocketmine\network\mcpe\protocol\ResourcePackClientResponsePacket#41335, string[4] ....)
#30 pmsrc/src/network/mcpe/raklib/RakLibInterface(217): pocketmine\network\mcpe\NetworkSession->handleEncoded(string[7] c.a..)
#31 pmsrc/vendor/pocketmine/raklib-ipc/src/RakLibToUserThreadMessageReceiver(40): pocketmine\network\mcpe\raklib\RakLibInterface->onPacketReceive(int 0, string[16] .. *..w.....Zs..)
#32 pmsrc/src/network/mcpe/raklib/RakLibInterface(109): raklib\server\ipc\RakLibToUserThreadMessageReceiver->handle(object pocketmine\network\mcpe\raklib\RakLibInterface#186046)
#33 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(120): pocketmine\network\mcpe\raklib\RakLibInterface->pocketmine\network\mcpe\raklib{closure}()
#34 pmsrc/src/TimeTrackingSleeperHandler(58): pocketmine\snooze\SleeperHandler->processNotifications()
#35 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(79): pocketmine\TimeTrackingSleeperHandler->processNotifications()
#36 pmsrc/src/Server(1674): pocketmine\snooze\SleeperHandler->sleepUntil(float 1689475696.9616)
#37 pmsrc/src/Server(1063): pocketmine\Server->tickProcessor()
#38 pmsrc/src/PocketMine(334): pocketmine\Server->__construct(object pocketmine\thread\ThreadSafeClassLoader#3, object pocketmine\utils\MainLogger#6, string[37] /portal2elysium/minecraft/kitpvplive/, string[45] /portal2elysium/minecraft/kitpvplive/plugins/)
#39 pmsrc/src/PocketMine(357): pocketmine\server()
#40 pmsrc(11): require(string[81] phar:///portal2elysium/minecraft/kitpvplive/PocketMine-MP.phar/src/PocketMine.ph)

Code:
[524] }
[525] foreach($this->softEnums as $enum){
[526] $addEnumFn($enum);
[527] }
[528] foreach($this->commandData as $commandData){
[529] if($commandData->aliases !== null){
[530] $addEnumFn($commandData->aliases);
[531] }
[532] foreach($commandData->overloads as $overload){
[533] foreach($overload->getParameters() as $parameter){
[534] if($parameter->enum !== null){
[535] $addEnumFn($parameter->enum);
[536] }
[537]
[538] if($parameter->postfix !== null){
[539] $postfixIndexes[$parameter->postfix] = $postfixIndexes[$parameter->postfix] ?? count($postfixIndexes);
[540] }
[541] }
[542] }
[543] foreach($commandData->chainedSubCommandData as $chainedSubCommandData){

Loaded plugins:
AlwaysDay 1.1.0 by SmallkingDev for API(s) 4.0.0, 5.0.0
AntiFallDamage 2.0.2 by NhanAZ for API(s) 5.0.0
AutoAnnouncer 1.0.0 by wockgod for API(s) 5.0.0
BedrockEconomy 2.1.1 by cooldogedev for API(s) 5.0.0
BetterBan 4.2.1 by supercrafter333 for API(s) 5.0.0
BetterMute 1.1.4 by supercrafter333 for API(s) 5.0.0
BuilderTools 2.0.0-beta1 by CzechPMDevs, VixikHD, dadodasyra for API(s) 5.0.0
C20s-Actions 0.0.3 by creeperplayer20 for API(s) 5.0.0
ChestShop 5.3.7 by for API(s) 5.0.0
CombatLogger 1.0.0 by Jack Noordhuis for API(s) 5.0.0
DevTools 1.17.0 by PocketMine Team for API(s) 5.0.0
DeviceACM 3.0.0 by fernanACM for API(s) 5.0.0
EasyKits 1.1.6 by AndreasHGK for API(s) 5.0.0
FormAPI 2.1.1 by jojoe77777 for API(s) 4.0.0, 5.0.0
HumanNPC 0.0.5 by BeeAZ for API(s) 5.0.0
InvSee 2.3.1 by BlockHorizons for API(s) 5.0.0
KillMoney 0.0.1 by Amzy for API(s) 5.0.0
MCPEToDiscord 2.3.1 by JaxkDev, GamerMJay for API(s) 5.0.0
MOTDShuffle 1.4.0 by HBIDamian for API(s) 5.0.0
MultiWorld 2.1.0-beta2 by CzechPMDevs, VixikCZ, fuyutsuki, kaliiks for API(s) 5.0.0
RankSystem 1.1.2 by IvanCraft623 for API(s) 5.0.0
RegionProtect 1.1.3 by kaidoMC for API(s) 5.0.0
RenameItems 3.2 by Wertzui123 for API(s) 5.0.0
SocialSpy 3.0.0 by sqrrl for API(s) 5.0.0
Trash_Can 2.0.0 by MintoD for API(s) 5.0.0
VanishV2 4.0.2 by sqrrl for API(s) 5.0.0
theSpawn 2.0.1 by supercrafter333 for API(s) 5.0.0

uname -a: Linux p2e 5.4.0-152-generic #169-Ubuntu SMP Tue Jun 6 22:23:09 UTC 2023 x86_64
Zend version: 4.1.21
Composer libraries:

  • adhocore/json-comment 1.2.1@651023f9fe52e9efa2198cbaf6e481d1968e2377
  • brick/math 0.11.0@0ad82ce168c82ba30d1c01ec86116ab52f589478
  • daverandom/callback-validator unknown@unknown
  • fgrosse/phpasn1 v2.5.0@42060ed45344789fb9f21f9f1864fc47b9e3507b
  • netresearch/jsonmapper unknown@unknown
  • pocketmine/bedrock-block-upgrade-schema 3.1.0@6d4ae416043337946a22fc31e8065ca2c21f472d
  • pocketmine/bedrock-data 2.4.0+bedrock-1.20.10@f98bd1cae46d2920058acf3b23c0bedeac79f4ab
  • pocketmine/bedrock-item-upgrade-schema 1.4.0@60d199afe5e371fd189b21d685ec1fed6ba54230
  • pocketmine/bedrock-protocol 23.0.0+bedrock-1.20.10@0cfaafdc02cca882a50773d6c02ebfeb622614e2
  • pocketmine/binaryutils 0.2.4@5ac7eea91afbad8dc498f5ce34ce6297d5e6ea9a
  • pocketmine/callback-validator 1.0.3@64787469766bcaa7e5885242e85c23c25e8c55a2
  • pocketmine/color 0.3.1@a0421f1e9e0b0c619300fb92d593283378f6a5e1
  • pocketmine/errorhandler 0.6.0@dae214a04348b911e8219ebf125ff1c5589cc878
  • pocketmine/locale-data 2.19.5@71af5f9bd23b4e4bad8920dac7f4fe08e5205f7d
  • pocketmine/log 0.4.0@e6c912c0f9055c81d23108ec2d179b96f404c043
  • pocketmine/math 0.4.3@47a243d320b01c8099d65309967934c188111549
  • pocketmine/nbt 0.3.4@62c02464c6708b2467c1e1a2af01af09d5114eda
  • pocketmine/netresearch-jsonmapper v4.2.1000@078764e869e9b732f97206ec9363480a77c35532
  • pocketmine/pocketmine-mp 5.3.1@250d18e41bb6fc671cbd2e3d2daaee2e06770b0f
  • pocketmine/raklib 0.15.1@79b7b4d1d7516dc6e322514453645ad9452b20ca
  • pocketmine/raklib-ipc 0.2.0@26ed56fa9db06e4ca6e8920c0ede2e01e219bb9c
  • pocketmine/snooze 0.5.0@a86d9ee60ce44755d166d3c7ba4b8b8be8360915
  • ramsey/collection 2.0.0@a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5
  • ramsey/uuid 4.7.4@60a4c63ab724854332900504274f6150ff26d286
  • rhumsaa/uuid unknown@unknown
  • symfony/filesystem v6.2.12@b0818e7203e53540f2a5c9a5017d97897df1e9bb
  • symfony/polyfill-ctype v1.27.0@5bbc823adecdae860bb64756d639ecfec17b050a
  • symfony/polyfill-mbstring v1.27.0@8ad114f6b39e2c98a8b0e3bd907732c207c2b534

----------------------REPORT THE DATA BELOW THIS LINE-----------------------

===BEGIN CRASH DUMP===
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
===END CRASH DUMP===

pocketmine\player\Player::addAttachment() int given instead of ?string

Error: pocketmine\player\Player::addAttachment(): Argument #2 ($name) must be of type ?string, int given, called in C:\PrideMC Network\plugins\RankSystem\src\IvanCraft623\RankSystem\session\Session.php on line 365
File: pmsrc/src/permission/PermissibleDelegateTrait
Line: 62
Type: TypeError
Backtrace:
#0 plugins/RankSystem/src/IvanCraft623/RankSystem/session/Session(365): pocketmine\player\Player->addAttachment(object IvanCraft623\RankSystem\RankSystem#24955, integer 0, true)
#1 plugins/RankSystem/src/IvanCraft623/RankSystem/session/Session(144): IvanCraft623\RankSystem\session\Session->updatePermissions()
#2 plugins/RankSystem/src/IvanCraft623/RankSystem/session/Session(269): IvanCraft623\RankSystem\session\Session->syncPermissions(array[38])
#3 pmsrc/src/promise/PromiseResolver(51): IvanCraft623\RankSystem\session\Session->IvanCraft623\RankSystem\session\{closure}(array[1])
#4 plugins/RankSystem/src/IvanCraft623/RankSystem/provider/libasynql(151): pocketmine\promise\PromiseResolver->resolve(array[1])
#5 plugins/RankSystem/src/IvanCraft623/RankSystem/libs/poggit/libasynql/base/DataConnectorImpl(124): IvanCraft623\RankSystem\provider\libasynql->IvanCraft623\RankSystem\provider\{closure}()
#6 plugins/RankSystem/src/IvanCraft623/RankSystem/libs/poggit/libasynql/base/DataConnectorImpl(181): IvanCraft623\RankSystem\libs\poggit\libasynql\base\DataConnectorImpl::IvanCraft623\RankSystem\libs\poggit\libasynql\base\{closure}(object IvanCraft623\RankSystem\libs\poggit\libasynql\SqlResult#140126)
#7 plugins/RankSystem/src/IvanCraft623/RankSystem/libs/poggit/libasynql/base/DataConnectorImpl(239): IvanCraft623\RankSystem\libs\poggit\libasynql\base\DataConnectorImpl::IvanCraft623\RankSystem\libs\poggit\libasynql\base\{closure}(array[1])
#8 plugins/RankSystem/src/IvanCraft623/RankSystem/libs/poggit/libasynql/base/SqlThreadPool(112): IvanCraft623\RankSystem\libs\poggit\libasynql\base\DataConnectorImpl->IvanCraft623\RankSystem\libs\poggit\libasynql\base\{closure}(array[1])
#9 plugins/RankSystem/src/IvanCraft623/RankSystem/libs/poggit/libasynql/base/DataConnectorImpl(323): IvanCraft623\RankSystem\libs\poggit\libasynql\base\SqlThreadPool->readResults(array[1])
#10 plugins/RankSystem/src/IvanCraft623/RankSystem/libs/poggit/libasynql/base/SqlThreadPool(65): IvanCraft623\RankSystem\libs\poggit\libasynql\base\DataConnectorImpl->checkResults()
#11 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(123): IvanCraft623\RankSystem\libs\poggit\libasynql\base\SqlThreadPool->IvanCraft623\RankSystem\libs\poggit\libasynql\base\{closure}()
#12 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(82): pocketmine\snooze\SleeperHandler->processNotifications()
#13 pmsrc/src/Server(1661): pocketmine\snooze\SleeperHandler->sleepUntil(double 1655179203.4521)
#14 pmsrc/src/Server(1047): pocketmine\Server->tickProcessor()
#15 pmsrc/src/PocketMine(304): pocketmine\Server->__construct(object BaseClassLoader#2, object pocketmine\utils\MainLogger#3, string[19] C:\PrideMC Network\, string[27] C:\PrideMC Network\plugins\)
#16 pmsrc/src/PocketMine(327): pocketmine\server()
#17 pmsrc(11): require(string[63] phar://C:/PrideMC Network/PocketMine-MP.phar/src/PocketMine.php)

Why they returning int instead of string?

Pocketmine Code:

public function addAttachment(Plugin $plugin, ?string $name = null, ?bool $value = null) : PermissionAttachment{
        return $this->perm->addAttachment($plugin, $name, $value);
    }

Setperms to a rank

I want to set perms to a rank for Guest Rank i want to set perms rules.ui.

Добавить нижний регистр

Команда по добавлению рангов работает не корректно если писать ник в нижнем регистре она не будет работать

Permission

good plugin, but correct permissions, every time a player exits and enters the permissions disappear. pm4 / pocketmine 1.19.10

Error

Error: Call to undefined method IvanCraft623\RankSystem\RankSystem::loadCommands()
File: plugins/RankSystem-PM4/src/IvanCraft623/RankSystem/RankSystem
Line: 83
Type: Error

Contact you

Can you give me your discord please i want private plugin

Help :((

How can I know the rank a player is using?
For example: Your Rank: $rank
If possible, please tell me how to code, thank you so much

Register Tag with libasynql

I have a problem with registering a tag using libasynql being that obviously the function is asynchronous but the registration is not, how can I register it anyway?

Factions Support

This plugin is good, but please add support for factions plugins like PiggyFactions and FactionsMaster

[Bug] Very Buggy

Hello! So while testing out permissions, I noticed that none of the permissions I gave the player works, only the permissions that are set to 'default: true' works!

On top of that, players with spaces in there name dont have their rank changed, the only way to fix it is downloading NameSpaceRemover.

Crash on latest update

Crash on the latest version of pocketmine

How to reproduce:

  1. Describe the bug
    A PLUGIN WAS INVOLVED IN THIS CRASH
    BAD PLUGIN: MultiWorld

Steps to reproduce the behavior:

Update to v1.20.10 MC
Launch game.
Experience Crash

Error in Console:
2.197] [Server thread/CRITICAL]: Error: "Call to a member function getParameters() on array" (EXCEPTION) in "pmsrc/vendor/pocketmine/bedrock-protocol/src/AvailableCommandsPacket" at line 533
--- Stack trace ---
#0 pmsrc/vendor/pocketmine/bedrock-protocol/src/DataPacket(84): pocketmine\network\mcpe\protocol\AvailableCommandsPacket->encodePayload(object pocketmine\network\mcpe\protocol\serializer\PacketSerializer#108206)
#1 pmsrc/src/network/mcpe/NetworkSession(489): pocketmine\network\mcpe\protocol\DataPacket->encode(object pocketmine\network\mcpe\protocol\serializer\PacketSerializer#108206)
#2 pmsrc/src/network/mcpe/NetworkSession(470): pocketmine\network\mcpe\NetworkSession::encodePacketTimed(object pocketmine\network\mcpe\protocol\serializer\PacketSerializer#108206, object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#176998)
#3 plugins/RankSystem.phar/src/IvanCraft623/RankSystem/libs/CortexPE/Commando/PacketHooker(81): pocketmine\network\mcpe\NetworkSession->sendDataPacket(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#176998)
#4 plugins/RankSystem.phar/src/IvanCraft623/RankSystem/libs/CortexPE/Commando/libs/muqsit/simplepackethandler/interceptor/PacketInterceptorListener(83): IvanCraft623\RankSystem\libs\CortexPE\Commando\PacketHooker::IvanCraft623\RankSystem\libs\CortexPE\Commando{closure}(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#176998, object pocketmine\network\mcpe\NetworkSession#142053)
#5 pmsrc/src/event/RegisteredListener(61): IvanCraft623\RankSystem\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor\PacketInterceptorListener->IvanCraft623\RankSystem\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor{closure}(object pocketmine\event\server\DataPacketSendEvent#108252)
#6 pmsrc/src/event/Event(62): pocketmine\event\RegisteredListener->callEvent(object pocketmine\event\server\DataPacketSendEvent#108252)
#7 pmsrc/src/network/mcpe/NetworkSession(463): pocketmine\event\Event->call()
#8 plugins/MultiWorld.phar/src/czechpmdevs/multiworld/libs/CortexPE/Commando/PacketHooker(81): pocketmine\network\mcpe\NetworkSession->sendDataPacket(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#176998)
#9 plugins/MultiWorld.phar/src/czechpmdevs/multiworld/libs/CortexPE/Commando/libs/muqsit/simplepackethandler/interceptor/PacketInterceptorListener(81): czechpmdevs\multiworld\libs\CortexPE\Commando\PacketHooker::czechpmdevs\multiworld\libs\CortexPE\Commando{closure}(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#176998, object pocketmine\network\mcpe\NetworkSession#142053)
#10 pmsrc/src/event/RegisteredListener(61): czechpmdevs\multiworld\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor\PacketInterceptorListener->czechpmdevs\multiworld\libs\CortexPE\Commando\libs\muqsit\simplepackethandler\interceptor{closure}(object pocketmine\event\server\DataPacketSendEvent#108199)
#11 pmsrc/src/event/Event(62): pocketmine\event\RegisteredListener->callEvent(object pocketmine\event\server\DataPacketSendEvent#108199)
#12 pmsrc/src/network/mcpe/NetworkSession(463): pocketmine\event\Event->call()
#13 pmsrc/src/network/mcpe/NetworkSession(997): pocketmine\network\mcpe\NetworkSession->sendDataPacket(object pocketmine\network\mcpe\protocol\AvailableCommandsPacket#176998)
#14 pmsrc/src/network/mcpe/handler/PreSpawnPacketHandler(126): pocketmine\network\mcpe\NetworkSession->syncAvailableCommands()
#15 pmsrc/src/network/mcpe/NetworkSession(325): pocketmine\network\mcpe\handler\PreSpawnPacketHandler->setUp()
#16 pmsrc/src/network/mcpe/NetworkSession(812): pocketmine\network\mcpe\NetworkSession->setHandler(object pocketmine\network\mcpe\handler\PreSpawnPacketHandler#177779)
#17 pmsrc/src/network/mcpe/NetworkSession(276): pocketmine\network\mcpe\NetworkSession->beginSpawnSequence()
#18 pmsrc/src/promise/Promise(45): pocketmine\network\mcpe\NetworkSession->onPlayerCreated(object pocketmine\player\Player#177844)
#19 pmsrc/src/network/mcpe/NetworkSession(239): pocketmine\promise\Promise->onCompletion(object Closure#177845, object Closure#115148)
#20 pmsrc/src/network/mcpe/NetworkSession(807): pocketmine\network\mcpe\NetworkSession->createPlayer()
#21 pmsrc/src/network/mcpe/handler/ResourcePacksPacketHandler(142): pocketmine\network\mcpe\NetworkSession->pocketmine\network\mcpe{closure}()
#22 pmsrc/vendor/pocketmine/bedrock-protocol/src/ResourcePackClientResponsePacket(61): pocketmine\network\mcpe\handler\ResourcePacksPacketHandler->handleResourcePackClientResponse(object pocketmine\network\mcpe\protocol\ResourcePackClientResponsePacket#115907)
#23 pmsrc/src/network/mcpe/NetworkSession(438): pocketmine\network\mcpe\protocol\ResourcePackClientResponsePacket->handle(object pocketmine\network\mcpe\handler\ResourcePacksPacketHandler#115167)
#24 pmsrc/src/network/mcpe/NetworkSession(382): pocketmine\network\mcpe\NetworkSession->handleDataPacket(object pocketmine\network\mcpe\protocol\ResourcePackClientResponsePacket#115907, string[4] ....)
#25 pmsrc/src/network/mcpe/raklib/RakLibInterface(217): pocketmine\network\mcpe\NetworkSession->handleEncoded(string[7] c.a..)
#26 pmsrc/vendor/pocketmine/raklib-ipc/src/RakLibToUserThreadMessageReceiver(40): pocketmine\network\mcpe\raklib\RakLibInterface->onPacketReceive(int 0, string[16] ........&9...I..)
#27 pmsrc/src/network/mcpe/raklib/RakLibInterface(109): raklib\server\ipc\RakLibToUserThreadMessageReceiver->handle(object pocketmine\network\mcpe\raklib\RakLibInterface#143309)
#28 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(120): pocketmine\network\mcpe\raklib\RakLibInterface->pocketmine\network\mcpe\raklib{closure}()
#29 pmsrc/src/TimeTrackingSleeperHandler(58): pocketmine\snooze\SleeperHandler->processNotifications()
#30 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(79): pocketmine\TimeTrackingSleeperHandler->processNotifications()
#31 pmsrc/src/Server(1674): pocketmine\snooze\SleeperHandler->sleepUntil(float 1689218722.1994)
#32 pmsrc/src/Server(1063): pocketmine\Server->tickProcessor()
#33 pmsrc/src/PocketMine(334): pocketmine\Server->__construct(object pocketmine\thread\ThreadSafeClassLoader#6, object pocketmine\utils\MainLogger#3, string[16] /home/container/, string[24] /home/container/plugins/)
#34 pmsrc/src/PocketMine(357): pocketmine\server()
#35 pmsrc(11): require(string[60] phar:///home/container/PocketMine-MP.phar/src/PocketMine.php)
--- End of exception information ---
[03:25:22.197] [Server thread/EMERGENCY]: An unrecoverable error has occurred and the server has crashed. Creating a crash dump
[03:25:22.200] [Server thread/EMERGENCY]: Please upload the "/home/container/crashdumps/Thu_Jul_13-03.25.22-UTC_2023.log" file to the Crash Archive and submit the link to the Bug Reporting page. Give as much info as you can.
[03:25:22.645] [Server thread/EMERGENCY]: The crash dump has been automatically submitted to the Crash Archive. You can view it on https://crash.pmmp.io/view/8953660 or use the ID #8953660.

Reload data on re-join

I configured MySQL but it is not loading, I set the rank on a server but when I change servers the rank I set is not in my nickname/loaded

bug

[CRITICAL] Malformed packet
#0 phar:///home/Server/SkyBlock/plugins/RankSystem_dev-69.phar/src/IvanCraft623/RankSystem/libs/poggit/libasynql/mysqli/MysqliThread.php(96): mysqli->ping()
#1 phar:///home/Server/SkyBlock/plugins/RankSystem_dev-69.phar/src/IvanCraft623/RankSystem/libs/poggit/libasynql/base/SqlSlaveThread.php(86): IvanCraft623\RankSystem\libs\poggit\libasynql\mysqli\MysqliThread->executeQuery(Object(mysqli), 3, 'SELECT * FROM R...', Array)
#2 phar:///home/Server/SkyBlock/PocketMine-MP.phar/src/thread/CommonThreadPartsTrait.php(109): IvanCraft623\RankSystem\libs\poggit\libasynql\base\SqlSlaveThread->onRun()
#3 [internal function]: pocketmine\thread\Thread->run()

Bild_2023-09-23_150906393

API

Implement an api system

Reload

Add a reload command for reload data

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.