DarkflameServer/dGame/dUtilities/CheatDetection.h

31 lines
1015 B
C
Raw Permalink Normal View History

#ifndef __CHEATDETECTION__H__
#define __CHEATDETECTION__H__
#include "dCommonVars.h"
struct SystemAddress;
enum class CheckType : uint8_t {
User,
Entity,
};
namespace CheatDetection {
/**
* @brief Verify that the object ID provided in this function is in someway connected to the system address who sent it.
*
* @param id The object ID to check ownership of
* @param sysAddr The system address which sent the packet
* @param checkType The check type to perform
* @param messageIfNotSender The message to log if the sender is not the owner of the object ID
* @param ... format args
* @return true If the sender is the owner of the object ID
* @return false If the sender is not the owner of the object ID
*/
bool VerifyLwoobjidIsSender(const LWOOBJID& id, const SystemAddress& sysAddr, const CheckType checkType, const char* messageIfNotSender, ...);
void ReportCheat(User* user, const SystemAddress& sysAddr, const char* messageIfNotSender, ...);
};
#endif //!__CHEATDETECTION__H__