mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-09-05 23:08:31 +00:00
feat: Security improvements for spoofed packets (#1201)
* Add cheat detection for spoofed packets * Add config option for ip loggin * remove packet saving
This commit is contained in:
30
dGame/dUtilities/CheatDetection.h
Normal file
30
dGame/dUtilities/CheatDetection.h
Normal file
@@ -0,0 +1,30 @@
|
||||
#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__
|
||||
|
Reference in New Issue
Block a user