Remove game script control (will use another resource)
This commit is contained in:
@@ -9,57 +9,8 @@
|
||||
|
||||
function initAntiCheatScript() {
|
||||
logToConsole(LOG_DEBUG, "[VRR.AntiCheat]: Initializing anticheat script ...");
|
||||
getServerData().antiCheat.whiteListedGameScripts = loadAntiCheatGameScriptWhiteListFromDatabase();
|
||||
getServerData().antiCheat.blackListedGameScripts = loadAntiCheatGameScriptBlackListFromDatabase();
|
||||
logToConsole(LOG_DEBUG, "[VRR.AntiCheat]: Anticheat script initialized!");
|
||||
}
|
||||
// ===========================================================================
|
||||
|
||||
function loadAntiCheatGameScriptWhiteListFromDatabase() {
|
||||
logToConsole(LOG_DEBUG, `[VRR.AntiCheat] Loading whitelisted game scripts ...`);
|
||||
let dbConnection = connectToDatabase();
|
||||
let tempWhiteListedGameScripts = [];
|
||||
|
||||
if(dbConnection) {
|
||||
let dbQueryString = `SELECT * FROM ac_script_wl WHERE ac_script_wl_enabled = 1 AND ac_script_wl_server = ${getServerId()}`;
|
||||
let dbQuery = queryDatabase(dbConnection, dbQueryString);
|
||||
if(dbQuery) {
|
||||
if(dbQuery.numRows > 0) {
|
||||
let dbAssoc = fetchQueryAssoc(dbQuery);
|
||||
let tempWhiteListedGameScriptData = new WhiteListedGameScriptData(dbAssoc);
|
||||
tempWhiteListedGameScripts.push(tempWhiteListedGameScriptData);
|
||||
logToConsole(LOG_DEBUG, `[VRR.AntiCheat] Whitelisted game script '${tempWhiteListedGameScriptData.scriptName}' loaded successfully!`);
|
||||
}
|
||||
}
|
||||
disconnectFromDatabase(dbConnection);
|
||||
}
|
||||
logToConsole(LOG_DEBUG, `[VRR.AntiCheat] ${tempWhiteListedGameScripts.length} whitelisted game scripts loaded!`);
|
||||
return tempWhiteListedGameScripts;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function loadAntiCheatGameScriptBlackListFromDatabase() {
|
||||
logToConsole(LOG_DEBUG, `[VRR.AntiCheat] Loading blacklisted game scripts ...`);
|
||||
let dbConnection = connectToDatabase();
|
||||
let tempBlackListedGameScripts = [];
|
||||
|
||||
if(dbConnection) {
|
||||
let dbQueryString = `SELECT * FROM ac_script_bl WHERE ac_script_bl_enabled = 1 AND ac_script_bl_server = ${getServerId()}`;
|
||||
let dbQuery = queryDatabase(dbConnection, dbQueryString);
|
||||
if(dbQuery) {
|
||||
if(dbQuery.numRows > 0) {
|
||||
let dbAssoc = fetchQueryAssoc(dbQuery);
|
||||
let tempBlackListedGameScriptData = new BlackListedGameScriptData(dbAssoc);
|
||||
tempBlackListedGameScripts.push(tempBlackListedGameScriptData);
|
||||
logToConsole(LOG_DEBUG, `[VRR.AntiCheat] Blacklisted game script '${tempBlackListedGameScriptData.scriptName}' loaded successfully!`);
|
||||
}
|
||||
}
|
||||
disconnectFromDatabase(dbConnection);
|
||||
}
|
||||
logToConsole(LOG_DEBUG, `[VRR.AntiCheat] ${tempBlackListedGameScripts.length} blacklisted game scripts loaded!`);
|
||||
return tempBlackListedGameScripts;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
@@ -76,170 +27,6 @@ function clearPlayerStateToEnterExitProperty(client) {
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
/**
|
||||
* This is a command handler function.
|
||||
*
|
||||
* @param {string} command - The command name used by the player
|
||||
* @param {string} params - The parameters/args string used with the command by the player
|
||||
* @param {Client} client - The client/player that used the command
|
||||
* @return {bool} Whether or not the command was successful
|
||||
*
|
||||
*/
|
||||
function addAntiCheatBlackListedScriptCommand(command, params, client) {
|
||||
if(areParamsEmpty(params)) {
|
||||
messagePlayerSyntax(client, getCommandSyntaxText(command));
|
||||
return false;
|
||||
}
|
||||
|
||||
let scriptName = params;
|
||||
let tempBlackListedGameScriptData = new BlackListedGameScriptData(false);
|
||||
tempBlackListedGameScriptData.scriptName = scriptName;
|
||||
tempBlackListedGameScriptData.serverId = getServerId();
|
||||
tempBlackListedGameScriptData.enabled = true;
|
||||
tempBlackListedGameScriptData.needsSaved = true;
|
||||
getServerConfig().antiCheat.blackListedGameScripts.push(tempBlackListedGameScriptData);
|
||||
|
||||
if(getServerConfig().antiCheat.gameScriptBlackListEnabled) {
|
||||
sendPlayerGameScriptState(null, scriptName, VRR_GAMESCRIPT_DENY);
|
||||
}
|
||||
|
||||
messagePlayerSuccess(client, `You added {ALTCOLOUR}${scriptName} {MAINCOLOUR} to the anticheat game script blacklist`);
|
||||
return true;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
/**
|
||||
* This is a command handler function.
|
||||
*
|
||||
* @param {string} command - The command name used by the player
|
||||
* @param {string} params - The parameters/args string used with the command by the player
|
||||
* @param {Client} client - The client/player that used the command
|
||||
* @return {bool} Whether or not the command was successful
|
||||
*
|
||||
*/
|
||||
function addAntiCheatWhiteListedScriptCommand(command, params, client) {
|
||||
if(areParamsEmpty(params)) {
|
||||
messagePlayerSyntax(client, getCommandSyntaxText(command));
|
||||
return false;
|
||||
}
|
||||
|
||||
let scriptName = params;
|
||||
let tempWhiteListedGameScriptData = new WhiteListedGameScriptData(false);
|
||||
tempWhiteListedGameScriptData.scriptName = scriptName;
|
||||
tempWhiteListedGameScriptData.serverId = getServerId();
|
||||
tempWhiteListedGameScriptData.enabled = true;
|
||||
tempWhiteListedGameScriptData.needsSaved = true;
|
||||
getServerConfig().antiCheat.whiteListedGameScripts.push(tempWhiteListedGameScriptData);
|
||||
|
||||
if(getServerConfig().antiCheat.gameScriptWhiteListEnabled) {
|
||||
sendPlayerGameScriptState(null, scriptName, VRR_GAMESCRIPT_ALLOW);
|
||||
}
|
||||
|
||||
messagePlayerSuccess(client, `You added {ALTCOLOUR}${scriptName} {MAINCOLOUR} to the anticheat game script whitelist`);
|
||||
return true;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
/**
|
||||
* This is a command handler function.
|
||||
*
|
||||
* @param {string} command - The command name used by the player
|
||||
* @param {string} params - The parameters/args string used with the command by the player
|
||||
* @param {Client} client - The client/player that used the command
|
||||
* @return {bool} Whether or not the command was successful
|
||||
*
|
||||
*/
|
||||
function removeAntiCheatWhiteListedScriptCommand(command, params, client) {
|
||||
if(areParamsEmpty(params)) {
|
||||
messagePlayerSyntax(client, getCommandSyntaxText(command));
|
||||
return false;
|
||||
}
|
||||
|
||||
let whiteListScriptId = getAntiCheatWhiteListedScriptFromParams(params);
|
||||
|
||||
getServerConfig().antiCheat.whiteListedGameScripts.splice(whiteListScriptId, 1);
|
||||
|
||||
if(getServerConfig().antiCheat.gameScriptWhiteListEnabled) {
|
||||
sendPlayerGameScriptState(null, scriptName, VRR_GAMESCRIPT_NONE);
|
||||
}
|
||||
|
||||
messagePlayerSuccess(client, `You removed {ALTCOLOUR}${scriptName} {MAINCOLOUR} from the anticheat game script whitelist`);
|
||||
return true;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
/**
|
||||
* This is a command handler function.
|
||||
*
|
||||
* @param {string} command - The command name used by the player
|
||||
* @param {string} params - The parameters/args string used with the command by the player
|
||||
* @param {Client} client - The client/player that used the command
|
||||
* @return {bool} Whether or not the command was successful
|
||||
*
|
||||
*/
|
||||
function removeAntiCheatBlackListedScriptCommand(command, params, client) {
|
||||
if(areParamsEmpty(params)) {
|
||||
messagePlayerSyntax(client, getCommandSyntaxText(command));
|
||||
return false;
|
||||
}
|
||||
|
||||
let blackListScriptId = getAntiCheatBlackListedScriptFromParams(params);
|
||||
|
||||
getServerConfig().antiCheat.blackListedGameScripts.splice(blackListScriptId, 1);
|
||||
|
||||
if(getServerConfig().antiCheat.gameScriptBlackListEnabled) {
|
||||
sendPlayerGameScriptState(null, scriptName, VRR_GAMESCRIPT_NONE);
|
||||
}
|
||||
|
||||
messagePlayerSuccess(client, `You removed {ALTCOLOUR}${scriptName} {MAINCOLOUR} from the anticheat game script blacklist`);
|
||||
return true;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
/**
|
||||
* This is a command handler function.
|
||||
*
|
||||
* @param {string} command - The command name used by the player
|
||||
* @param {string} params - The parameters/args string used with the command by the player
|
||||
* @param {Client} client - The client/player that used the command
|
||||
* @return {bool} Whether or not the command was successful
|
||||
*
|
||||
*/
|
||||
function toggleAntiCheatScriptWhiteListCommand(command, params, client) {
|
||||
getServerConfig().antiCheat.gameScriptWhiteListEnabled = !getServerConfig().antiCheat.gameScriptWhiteListEnabled;
|
||||
getServerConfig().needsSaved = true;
|
||||
|
||||
messageAdminAction(`${getPlayerName(client)} {MAINCOLOUR}turned anticheat game script whitelist ${getBoolRedGreenInlineColour(getServerConfig().antiCheat.gameScriptWhiteListEnabled)}${toUpperCase(getOnOffFromBool(getServerConfig().antiCheat.gameScriptWhiteListEnabled))}`);
|
||||
updateServerRules();
|
||||
return true;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
/**
|
||||
* This is a command handler function.
|
||||
*
|
||||
* @param {string} command - The command name used by the player
|
||||
* @param {string} params - The parameters/args string used with the command by the player
|
||||
* @param {Client} client - The client/player that used the command
|
||||
* @return {bool} Whether or not the command was successful
|
||||
*
|
||||
*/
|
||||
function toggleAntiCheatScriptBlackListCommand(command, params, client) {
|
||||
getServerConfig().antiCheat.gameScriptBlackListEnabled = !getServerConfig().antiCheat.gameScriptBlackListEnabled;
|
||||
getServerConfig().needsSaved = true;
|
||||
|
||||
messageAdminAction(`${getPlayerName(client)} {MAINCOLOUR}turned anticheat game script blacklist ${getBoolRedGreenInlineColour(getServerConfig().antiCheat.gameScriptBlackListEnabled)}${toUpperCase(getOnOffFromBool(getServerConfig().antiCheat.gameScriptBlackListEnabled))}`);
|
||||
updateServerRules();
|
||||
return true;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isPlayerExemptFromAntiCheat(client) {
|
||||
if(hasBitFlag(getPlayerData(client).accountData.flags.moderation, getModerationFlagValue("ExemptFromAntiCheat"))) {
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user