forked from cafeberry/cafeberry
feat: add smartcmd dedicated server
major bug: when connecting to the server a second time, it gets softlocked and keeps repeating ticking connection A\n in debug logs until it times out.
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
#include "stdafx.h"
|
||||
|
||||
#include "CliCommandList.h"
|
||||
|
||||
#include "../../ServerCliEngine.h"
|
||||
#include "../../../Common/StringUtils.h"
|
||||
#include "../../../../Minecraft.Client/MinecraftServer.h"
|
||||
#include "../../../../Minecraft.Client/PlayerList.h"
|
||||
#include "../../ServerCliParser.h"
|
||||
|
||||
namespace ServerRuntime
|
||||
{
|
||||
const char *CliCommandList::Name() const
|
||||
{
|
||||
return "list";
|
||||
}
|
||||
|
||||
const char *CliCommandList::Usage() const
|
||||
{
|
||||
return "list";
|
||||
}
|
||||
|
||||
const char *CliCommandList::Description() const
|
||||
{
|
||||
return "List connected players.";
|
||||
}
|
||||
|
||||
bool CliCommandList::Execute(const ServerCliParsedLine &line, ServerCliEngine *engine)
|
||||
{
|
||||
(void)line;
|
||||
MinecraftServer *server = MinecraftServer::getInstance();
|
||||
if (server == NULL || server->getPlayers() == NULL)
|
||||
{
|
||||
engine->LogWarn("Player list is not available.");
|
||||
return false;
|
||||
}
|
||||
|
||||
PlayerList *players = server->getPlayers();
|
||||
std::string names = StringUtils::WideToUtf8(players->getPlayerNames());
|
||||
if (names.empty())
|
||||
{
|
||||
names = "(none)";
|
||||
}
|
||||
|
||||
engine->LogInfo("Players (" + std::to_string(players->getPlayerCount()) + "): " + names);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user