Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 21 additions & 16 deletions bin/config_sample/text/logtext.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,24 @@
; Each logtype will mention what data is available and what their formatter is.

; %1 = Event Time
; %2 = Character Name
; %3 = Out-Of-Courtroom Name
; %4 = Client IPID
; %5 = Area Name
; %6 = Message
ic="[%1][%5][IC][%2(%3)][%4]%6"
; %2 = Area Name
; %3 = Client IPID
; %4 = Client ID
; %5 = Character Name
; %6 = Out-Of-Courtroom Name
; %7 = Message

ic="[%1][%2][IC][%3][%4][%5(%6)]%7"

; %1 = Event Time
; %2 = Character Name
; %3 = Out-Of-Courtroom Name
; %4 = Client IPID
; %5 = Area Name
; %6 = Message
ooc="[%1][%5][OOC][%2(%3)][%4]%6"
; %2 = Area Name
; %3 = Client IPID
; %4 = Client ID
; %5 = Character Name
; %6 = Out-Of-Courtroom Name
; %7 = Message

ooc="[%1][%2][OOC][%3][%4][%5(%6)]%7"

; %1 = Event Time
; %2 = Success/Fail
Expand Down Expand Up @@ -69,10 +73,11 @@ ban="[%1][%2][BAN][%3][%4]"

; %1 = Event Time
; %2 = Area Name
; %3 = Character Name
; %4 = Out-Of-Courtroom Name
; %5 = Client IPID
modcall="[%1][%2][MODCALL][%5][%3(%4)]"
; %3 = Client IPID
; %4 = Client ID
; %5 = Character Name
; %6 = Out-Of-Courtroom Name
modcall="[%1][%2][MODCALL][%3][%4][%5(%6)]"

; %1 = Event Time
; %2 = IP Address
Expand Down
8 changes: 3 additions & 5 deletions src/aoclient.h
Original file line number Diff line number Diff line change
Expand Up @@ -2155,14 +2155,12 @@ class AOClient : public QObject
/**
* @brief Signal connected to universal logger. Sends IC chat usage to the logger.
*/
void logIC(const QString &f_charName, const QString &f_oocName, const QString &f_ipid,
const QString &f_areaName, const QString &f_message);
void logIC(const QString &f_areaName, const QString &f_ipid, const QString &f_oocName, const QString &f_id, const QString &f_charName, const QString &f_message);

/**
* @brief Signal connected to universal logger. Sends OOC chat usage to the logger.
*/
void logOOC(const QString &f_charName, const QString &f_oocName, const QString &f_ipid,
const QString &f_areaName, const QString &f_message);
void logOOC(const QString &f_areaName, const QString &f_ipid, const QString &f_oocName, const QString &f_id, const QString &f_charName, const QString &f_message);

/**
* @brief Signal connected to universal logger. Sends login attempt to the logger.
Expand Down Expand Up @@ -2190,7 +2188,7 @@ class AOClient : public QObject
* @brief Signal connected to universal logger. Sends modcall information to the logger, triggering a write of the buffer
* when modcall logging is used.
*/
void logModcall(const QString &f_charName, const QString &f_ipid, const QString &f_oocName, const QString &f_areaName);
void logModcall(const QString &f_area_name, const QString &f_ipid, const QString &f_ooc_name, const QString &f_id, const QString &f_char_name);

/**
* @brief Signals the server that the client has disconnected and marks its userID as free again.
Expand Down
8 changes: 4 additions & 4 deletions src/discord.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ Discord::Discord(QObject *parent) :
this, &Discord::onReplyFinished);
}

void Discord::onModcallWebhookRequested(const QString &f_name, const QString &f_area, const QString &f_reason, const QQueue<QString> &f_buffer)
void Discord::onModcallWebhookRequested(const QString &f_name, const QString &f_area, const QString &f_id, const QString &f_reason, const QQueue<QString> &f_buffer)
{
m_request.setUrl(QUrl(ConfigManager::discordModcallWebhookUrl()));
QJsonDocument l_json = constructModcallJson(f_name, f_area, f_reason);
QJsonDocument l_json = constructModcallJson(f_name, f_area, f_id, f_reason);
postJsonWebhook(l_json);

if (ConfigManager::discordModcallWebhookSendFile()) {
Expand All @@ -46,13 +46,13 @@ void Discord::onBanWebhookRequested(const QString &f_ipid, const QString &f_mode
postJsonWebhook(l_json);
}

QJsonDocument Discord::constructModcallJson(const QString &f_name, const QString &f_area, const QString &f_reason) const
QJsonDocument Discord::constructModcallJson(const QString &f_name, const QString &f_area, const QString &f_id, const QString &f_reason) const
{
QJsonObject l_json;
QJsonArray l_array;
QJsonObject l_object{
{"color", ConfigManager::discordWebhookColor()},
{"title", f_name + " filed a modcall in " + f_area},
{"title", "[" + f_id + "]" + f_name + " filed a modcall in " + f_area},
{"description", f_reason}};
l_array.append(l_object);

Expand Down
5 changes: 3 additions & 2 deletions src/discord.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ class Discord : public QObject
* @param f_reason The reason for the modcall.
* @param f_buffer The area's log buffer.
*/
void onModcallWebhookRequested(const QString &f_name, const QString &f_area, const QString &f_reason, const QQueue<QString> &f_buffer);
void onModcallWebhookRequested(const QString &f_name, const QString &f_area, const QString &f_id, const QString &f_reason, const QQueue<QString> &f_buffer);

/**
* @brief Handles a ban webhook request.
Expand Down Expand Up @@ -95,11 +95,12 @@ class Discord : public QObject
*
* @param f_name The name of the modcall sender.
* @param f_area The name of the area the modcall was sent from.
* @param f_id The client id of the client who sent the modcall.
* @param f_reason The reason for the modcall.
*
* @return A JSON document for the modcall.
*/
QJsonDocument constructModcallJson(const QString &f_name, const QString &f_area, const QString &f_reason) const;
QJsonDocument constructModcallJson(const QString &f_name, const QString &f_area, const QString &f_id, const QString &f_reason) const;

/**
* @brief Constructs a new QHttpMultiPart document for log files.
Expand Down
16 changes: 8 additions & 8 deletions src/logger/u_logger.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,20 +45,20 @@ ULogger::~ULogger()
}
}

void ULogger::logIC(const QString &f_char_name, const QString &f_ooc_name, const QString &f_ipid,
const QString &f_area_name, const QString &f_message)
void ULogger::logIC(const QString &f_area_name, const QString &f_ipid, const QString &f_ooc_name,
const QString &f_id, const QString &f_char_name, const QString &f_message)
{
QString l_time = QDateTime::currentDateTime().toString("ddd MMMM d yyyy | hh:mm:ss");
QString l_logEntry = QString(m_logtext.value("ic") + "\n").arg(l_time, f_char_name, f_ooc_name, f_ipid, f_area_name, f_message);
QString l_logEntry = QString(m_logtext.value("ic") + "\n").arg(l_time, f_area_name, f_ipid, f_id, f_char_name, f_ooc_name, f_message);
updateAreaBuffer(f_area_name, l_logEntry);
}

void ULogger::logOOC(const QString &f_char_name, const QString &f_ooc_name, const QString &f_ipid,
const QString &f_area_name, const QString &f_message)
void ULogger::logOOC(const QString &f_area_name, const QString &f_ipid, const QString &f_ooc_name,
const QString &f_id, const QString &f_char_name, const QString &f_message)
{
QString l_time = QDateTime::currentDateTime().toString("ddd MMMM d yyyy | hh:mm:ss");
QString l_logEntry = QString(m_logtext.value("ooc") + "\n")
.arg(l_time, f_char_name, f_ooc_name, f_ipid, f_area_name, f_message);
.arg(l_time, f_area_name, f_ipid, f_id, f_char_name, f_ooc_name, f_message);
updateAreaBuffer(f_area_name, l_logEntry);
}

Expand Down Expand Up @@ -114,11 +114,11 @@ void ULogger::logBan(const QString &f_moderator, const QString &f_target_ipid, c
updateAreaBuffer("SERVER", l_logEntry);
}

void ULogger::logModcall(const QString &f_char_name, const QString &f_ipid, const QString &f_ooc_name, const QString &f_area_name)
void ULogger::logModcall(const QString &f_area_name, const QString &f_ipid, const QString &f_ooc_name, const QString &f_id, const QString &f_char_name)
{
QString l_time = QDateTime::currentDateTime().toString("ddd MMMM d yyyy | hh:mm:ss");
QString l_logEvent = QString(m_logtext.value("modcall") + "\n")
.arg(l_time, f_area_name, f_char_name, f_ooc_name, f_ipid);
.arg(l_time, f_area_name, f_ipid, f_id, f_char_name, f_ooc_name);
updateAreaBuffer(f_area_name, l_logEvent);

if (ConfigManager::loggingType() == DataTypes::LogType::MODCALL) {
Expand Down
10 changes: 4 additions & 6 deletions src/logger/u_logger.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,12 @@ class ULogger : public QObject
/**
* @brief Adds an IC log entry to the area buffer and writes it to the respective log format.
*/
void logIC(const QString &f_char_name, const QString &f_ooc_name, const QString &f_ipid,
const QString &f_area_name, const QString &f_message);
void logIC(const QString &f_area_name, const QString &f_ipid, const QString &f_ooc_name, const QString &f_id, const QString &f_char_name, const QString &f_message);

/**
* @brief Adds an OOC log entry to the area buffer and writes it to the respective log format.
*/
void logOOC(const QString &f_char_Name, const QString &f_ooc_name, const QString &f_ipid,
const QString &f_area_name, const QString &f_message);
void logOOC(const QString &f_area_name, const QString &f_ipid, const QString &f_ooc_name, const QString &f_id, const QString &f_char_name, const QString &f_message);

/**
* @brief Adds an login attempt to the area buffer and writes it to the respective log format.
Expand All @@ -90,7 +88,7 @@ class ULogger : public QObject
/**
* @brief Adds a modcall event to the area buffer, also triggers modcall writing.
*/
void logModcall(const QString &f_char_name, const QString &f_ipid, const QString &f_ooc_name, const QString &f_area_name);
void logModcall(const QString &f_area_name, const QString &f_ipid, const QString &f_ooc_name, const QString &f_id, const QString &f_char_name);

/**
* @brief Logs any connection attempt to the server, wether sucessful or not.
Expand Down Expand Up @@ -143,7 +141,7 @@ class ULogger : public QObject
{"cmd", "[%1][%2][CMD][%7][%3(%4)]/%5 %6"},
{"kick", "[%1][%2][KICK][%3]"},
{"ban", "[%1][%2][BAN][%3][%4]"},
{"modcall", "[%1][%2][MODCALL][%5][%3(%4)]"},
{"modcall", "[%1][%2][MODCALL][%3][%4][%5(%6)]"},
{"connect", "[%1][CONNECT][%2][%3][%4]"}};
};

Expand Down
2 changes: 1 addition & 1 deletion src/packet/packet_ct.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,5 +69,5 @@ void PacketCT::handlePacket(AreaData *area, AOClient &client) const
AOPacket *final_packet = PacketFactory::createPacket("CT", {client.name(), l_message, "0"});
client.getServer()->broadcast(final_packet, client.areaId());
}
emit client.logOOC((client.character() + " " + client.characterName()), client.name(), client.m_ipid, area->name(), l_message);
emit client.logOOC(client.getServer()->getAreaById(client.areaId())->name(), client.m_ipid, client.name(), QString::number(client.clientId()), (client.character() + " " + client.characterName()), l_message);
}
2 changes: 1 addition & 1 deletion src/packet/packet_ms.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ void PacketMS::handlePacket(AreaData *area, AOClient &client) const
client.getServer()->broadcast(validated_packet, client.areaId());
}

emit client.logIC((client.character() + " " + client.characterName()), client.name(), client.m_ipid, client.getServer()->getAreaById(client.areaId())->name(), client.m_last_message);
emit client.logIC(client.getServer()->getAreaById(client.areaId())->name(), client.m_ipid, client.name(), QString::number(client.clientId()), (client.character() + " " + client.characterName()), client.m_last_message);
area->updateLastICMessage(validated_packet->getContent());

area->startMessageFloodguard(ConfigManager::messageFloodguard());
Expand Down
8 changes: 5 additions & 3 deletions src/packet/packet_zz.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ void PacketZZ::handlePacket(AreaData *area, AOClient &client) const

QString l_areaName = area->name();

QString l_modcallNotice = "!!!MODCALL!!!\nArea: " + l_areaName + "\nCaller: " + l_name + "\n";
QString l_id = QString::number(client.clientId());

QString l_modcallNotice = "!!!MODCALL!!!\nArea: " + l_areaName + "\nCaller: " + "[" + l_id + "]" + l_name + "\n";

int target_id = m_content.at(1).toInt();
if (target_id != -1) {
Expand All @@ -43,7 +45,7 @@ void PacketZZ::handlePacket(AreaData *area, AOClient &client) const
if (l_client->m_authenticated)
l_client->sendPacket(PacketFactory::createPacket("ZZ", {l_modcallNotice}));
}
emit client.logModcall((client.character() + " " + client.characterName()), client.m_ipid, client.name(), client.getServer()->getAreaById(client.areaId())->name());
emit client.logModcall(client.getServer()->getAreaById(client.areaId())->name(), client.m_ipid, client.name(), QString::number(client.clientId()), (client.character() + " " + client.characterName()));

if (ConfigManager::discordModcallWebhookEnabled()) {
QString l_name = client.name();
Expand All @@ -60,6 +62,6 @@ void PacketZZ::handlePacket(AreaData *area, AOClient &client) const
}
}

emit client.getServer()->modcallWebhookRequest(l_name, l_areaName, webhook_reason, client.getServer()->getAreaBuffer(l_areaName));
emit client.getServer()->modcallWebhookRequest(l_name, l_areaName, l_id, webhook_reason, client.getServer()->getAreaBuffer(l_areaName));
}
}
3 changes: 2 additions & 1 deletion src/server.h
Original file line number Diff line number Diff line change
Expand Up @@ -391,9 +391,10 @@ class Server : public QObject
* @param f_name The character or OOC name of the client who sent the modcall.
* @param f_area The name of the area the modcall was sent from.
* @param f_reason The reason the client specified for the modcall.
* @param f_id The client id of the client who sent the modcall.
* @param f_buffer The area's log buffer.
*/
void modcallWebhookRequest(const QString &f_name, const QString &f_area, const QString &f_reason, const QQueue<QString> &f_buffer);
void modcallWebhookRequest(const QString &f_name, const QString &f_area, const QString &f_id, const QString &f_reason, const QQueue<QString> &f_buffer);

/**
* @brief Sends a ban webhook request, emitted by AOClient::cmdBan
Expand Down