Citizen.CreateThread(function() local diagActive = false RegisterCommand("eaDiag", function(source, args, rawCommand) if diagActive then PrintDebugMessage("eaDiag is still running, please wait, or report any errors!", 1) return false end if DoesPlayerHavePermission(source, "server") then diagActive = true PrintDebugMessage("eaDiag triggered, this may take a while, please do not restart EasyAdmin in the meantime.^7\n", 1) local supportData = {} PrintDebugMessage("Collecting EasyAdmin Config....^7\n", 1) local version,ismaster = GetVersion() supportData.config = { gamename = GetConvar("gamename", "not-rdr3"), version = version, ismaster = tostring(ismaster), ea_moderationNotification = GetConvar("ea_moderationNotification", "false"), ea_screenshoturl = GetConvar("ea_screenshoturl", 'https://wew.wtf/upload.php'), onesync = GetConvar("onesync", "off"), steam_webApiKey = GetConvar("steam_webApiKey", ""), ea_LanguageName = GetConvar("ea_LanguageName", "en"), ea_enableDebugging = GetConvar("ea_enableDebugging", "false"), ea_logLevel = GetConvar("ea_logLevel", 1), ea_minIdentifierMatches = GetConvarInt("ea_minIdentifierMatches", 2), ea_defaultKey = GetConvar("ea_defaultKey", "none"), ea_alwaysShowButtons = GetConvar("ea_alwaysShowButtons", "false"), ea_enableCallAdminCommand = GetConvar("ea_enableCallAdminCommand", "true"), ea_enableReportCommand = GetConvar("ea_enableReportCommand", "true"), ea_defaultMinReports = GetConvarInt("ea_defaultMinReports", 3), ea_MinReportPlayers = GetConvarInt("ea_MinReportPlayers", 12), ea_MinReportModifierEnabled = GetConvar("ea_MinReportModifierEnabled", "true"), ea_ReportBanTime = GetConvarInt("ea_ReportBanTime", 86400), ea_custombanlist = GetConvar("ea_custombanlist", "false"), ea_maxWarnings = GetConvarInt("ea_maxWarnings", 3), ea_warnAction = GetConvar("ea_warnAction", "kick"), ea_warningBanTime = GetConvarInt("ea_warningBanTime", 604800), ea_enableSplash = GetConvar("ea_enableSplash", "true"), ea_playerCacheExpiryTime = GetConvarInt("ea_playerCacheExpiryTime", 900), ea_chatReminderTime = GetConvarInt("ea_chatReminderTime", 0), ea_backupFrequency = GetConvarInt("ea_backupFrequency", 72), ea_maxBackupCount = GetConvarInt("ea_maxBackupCount", 10), ea_useTokenIdentifiers = GetConvar("ea_useTokenIdentifiers", "true"), } for i,v in pairs(supportData.config) do PrintDebugMessage(i.." = "..v, 4) end Wait(500) PrintDebugMessage("Collecting Server Config....^7\n", 1) local path = GetResourcePath(GetCurrentResourceName()) local occurance = string.find(path, "/resources") local path = string.reverse(string.sub(string.reverse(path), -occurance)) local servercfg = io.open(path.."server.cfg") if servercfg then supportData.serverconfig = servercfg:read("*a") servercfg:close() else PrintDebugMessage("Could not find your server.cfg file, it should be called `server.cfg` in the parent folder of `resources`, otherwise EasyAdmin cannot read it, this report may be incomplete.\n", 1) end PrintDebugMessage("Collecting easyadmin_permissions.cfg....^7\n", 1) local permissions = io.open(path.."easyadmin_permissions.cfg") if permissions then supportData.serverconfig = supportData.serverconfig.."\n#### The following are the contents of the easyadmin_permissions.cfg ####\n"..permissions:read("*a") permissions:close() else PrintDebugMessage("Could not find your easyadmin_permissions.cfg file, it should be called `easyadmin_permissions.cfg` in the parent folder of `resources`, otherwise EasyAdmin cannot read it, this report may be incomplete.\n", 1) end PrintDebugMessage("Collecting Players....^7\n", 1) local players = {} for i, player in pairs(GetPlayers()) do players[player] = GetPlayerIdentifiers(player) if IsPlayerAdmin(player) then PrintDebugMessage(GetPlayerName(player).." is an Admin.", 1) end end local lines = string.split(supportData.serverconfig, "\n") for i, line in pairs(lines) do if string.find(line, "add_ace group.admin easyadmin allow") then adminAllowed = true end if string.find(line, "add_principal identifier.steam") then local steamid = string.match(line, "add_principal identifier.steam:(.*) group") if not string.match(steamid,"%a") then PrintDebugMessage("Please double check the following line: \n"..line.."\n\nthe steamid might be in decimal format, it should be hexadecimal.\n", 1) end end if string.find(line, "add_ace group.") then if string.find(line, "deny") then PrintDebugMessage("The following line is denying permissions, this WILL cause problems, only allow permissions you want to allow! \n"..line.."\n", 1) end end end if supportData.config.steam_webApiKey == "" then PrintDebugMessage("POSSIBLE ISSUE: steam_webApiKey is not defined! Steam Identifiers will not work.\n", 1) end if supportData.config.ea_custombanlist == "true" then PrintDebugMessage("POSSIBLE ISSUE: Custom Banlist is enabled, this is no longer supported.\n", 1) end if supportData.config.ea_minIdentifierMatches <= 1 then PrintDebugMessage("POSSIBLE ISSUE: ea_minIdentifierMatches should never be less than 1.\n", 1) end if type(supportData.config.ea_defaultKey) == "number" then PrintDebugMessage("POSSIBLE ISSUE: ea_defaultKey should be a Key, not a Control id.\n", 1) end if supportData.config.ismaster then PrintDebugMessage("EasyAdmin isn't using the latest stable release, this may or may not be an issue.\n", 1) end if updateAvailable then PrintDebugMessage("POSSIBLE ISSUE: EasyAdmin is outdated, you should update ASAP.\n", 1) end if not adminAllowed then PrintDebugMessage("POSSIBLE ISSUE: 'add_ace group.admin easyadmin allow' is missing \n", 1) end PrintDebugMessage("eaDiag Finished.", 1) diagActive=false end end, false) end)