Skip to content

Commit

Permalink
refactor: use logger module
Browse files Browse the repository at this point in the history
  • Loading branch information
solareon committed Dec 6, 2023
1 parent 98e3967 commit dd7c929
Show file tree
Hide file tree
Showing 5 changed files with 90 additions and 19 deletions.
9 changes: 8 additions & 1 deletion server/character.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
local config = require 'config.server'
local logger = require 'modules.logger'

---@param license2 string
---@param license? string
Expand Down Expand Up @@ -46,7 +47,13 @@ lib.callback.register('qbx_core:server:loadCharacter', function(source, citizenI
if not player then return end

SetPlayerRoutingBucket(source, 0)
TriggerEvent('qb-log:server:CreateLog', 'joinleave', 'Loaded', 'green', '**'.. GetPlayerName(source) .. '** ('..(GetPlayerIdentifierByType(source, 'discord') or 'undefined') ..' | ||' ..(GetPlayerIdentifierByType(source, 'ip') or 'undefined') .. '|| | ' ..(GetPlayerIdentifierByType(source, 'license2') or GetPlayerIdentifierByType(source, 'license') or 'undefined') ..' | ' ..citizenId..' | '..source..') loaded..')
logger.log({
source = GetInvokingResource(),
webhook = 'joinleave',
event = 'Loaded',
color = 'green',
message = '**'.. GetPlayerName(source) .. '** ('..(GetPlayerIdentifierByType(source, 'discord') or 'undefined') ..' | ||' ..(GetPlayerIdentifierByType(source, 'ip') or 'undefined') .. '|| | ' ..(GetPlayerIdentifierByType(source, 'license2') or GetPlayerIdentifierByType(source, 'license') or 'undefined') ..' | ' ..citizenId..' | '..source..') loaded..'
})
lib.print.info(GetPlayerName(source)..' (Citizen ID: '..citizenId..') has succesfully loaded!')
end)

Expand Down
10 changes: 9 additions & 1 deletion server/commands.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
local config = require 'config.server'
local logger = require 'modules.logger'

GlobalState.PVPEnabled = config.server.pvp

Expand Down Expand Up @@ -290,7 +291,14 @@ lib.addCommand('ooc', {
multiline = true,
args = {('Proximity OOC | %s'):format(GetPlayerName(source)), message}
})
TriggerEvent('qb-log:server:CreateLog', 'ooc', 'OOC', 'white', '**' .. GetPlayerName(source) .. '** (CitizenID: ' .. player.PlayerData.citizenid .. ' | ID: ' .. source .. ') **Message:** ' .. message, false)
logger.log({
source = GetInvokingResource(),
webhook = 'ooc',
event = 'OOC',
color = 'white',
tags = config.logging.role,
message = '**' .. GetPlayerName(source) .. '** (CitizenID: ' .. player.PlayerData.citizenid .. ' | ID: ' .. source .. ') **Message:** ' .. message
})
end
end
end
Expand Down
9 changes: 8 additions & 1 deletion server/events.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
local serverConfig = require 'config.server'.server
local logger = require 'module.logger'

-- Event Handler

Expand Down Expand Up @@ -33,7 +34,13 @@ AddEventHandler('playerDropped', function(reason)
if not QBX.Players[src] then return end
GlobalState.PlayerCount -= 1
local player = QBX.Players[src]
TriggerEvent('qb-log:server:CreateLog', 'joinleave', 'Dropped', 'red', '**' .. GetPlayerName(src) .. '** (' .. player.PlayerData.license .. ') left..' ..'\n **Reason:** ' .. reason)
logger.log({
source = GetInvokingResource(),
webhook = 'joinleave',
event = 'Dropped',
color = 'red',
message = '**' .. GetPlayerName(src) .. '** (' .. player.PlayerData.license .. ') left..' ..'\n **Reason:** ' .. reason,
})
player.Functions.Save()
QBX.Player_Buckets[player.PlayerData.license] = nil
QBX.Players[src] = nil
Expand Down
10 changes: 9 additions & 1 deletion server/functions.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
local serverConfig = require 'config.server'.server
local positionConfig = require 'config.shared'.notifyPosition
local logger = require 'modules.logger'

-- Getters
-- Get your player first and then trigger a function on them
Expand Down Expand Up @@ -399,7 +400,14 @@ local function ExploitBan(playerId, origin)
})
end)
DropPlayer(playerId --[[@as string]], Lang:t('info.exploit_banned', {discord = serverConfig.discord}))
TriggerEvent("qb-log:server:CreateLog", "anticheat", "Anti-Cheat", "red", name .. " has been banned for exploiting " .. origin, true)
logger.log({
source = GetInvokingResource(),
webhook = 'anticheat',
event = 'Anti-Cheat',
color = 'red',
tags = config.logging.role,
message = name .. " has been banned for exploiting " .. origin
})
end

exports('ExploitBan', ExploitBan)
71 changes: 56 additions & 15 deletions server/player.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
local config = require 'config.server'
local defaultSpawn = require 'config.shared'.defaultSpawn
local logger = require 'modules.logger'

---@class PlayerData : PlayerEntity
---@field source? Source present if player is online
Expand Down Expand Up @@ -32,7 +33,14 @@ function LoginV2(source, citizenid, newData)
return CheckPlayerData(source, playerData)
else
DropPlayer(tostring(source), Lang:t("info.exploit_dropped"))
TriggerEvent('qb-log:server:CreateLog', 'anticheat', 'Anti-Cheat', 'white', ('%s Has Been Dropped For Character Joining Exploit'):format(GetPlayerName(source)), false)
logger.log({
source = GetInvokingResource(),
webhook = 'anticheat',
event = 'Anti-Cheat',
color = 'white',
tags = config.logging.role,
message = ('%s Has Been Dropped For Character Joining Exploit'):format(GetPlayerName(source))
})
end
else
local player = CheckPlayerData(source, newData)
Expand Down Expand Up @@ -345,11 +353,15 @@ function CreatePlayer(playerData, Offline)

if not self.Offline then
self.Functions.UpdatePlayerData()
if amount > 100000 then
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'AddMoney', 'lightgreen', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') added, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason, true)
else
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'AddMoney', 'lightgreen', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') added, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason)
end
local tags = amount > 100000 and config.logging.role or nil
logger.log({
source = GetInvokingResource(),
webhook = 'playermoney',
event = 'AddMoney',
color = 'lightgreen',
tags = tags,
message = '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') added, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason,
})
TriggerClientEvent('hud:client:OnMoneyChange', self.PlayerData.source, moneytype, amount, false)
TriggerClientEvent('QBCore:Client:OnMoneyChange', self.PlayerData.source, moneytype, amount, "add", reason)
TriggerEvent('QBCore:Server:OnMoneyChange', self.PlayerData.source, moneytype, amount, "add", reason)
Expand Down Expand Up @@ -378,11 +390,15 @@ function CreatePlayer(playerData, Offline)

if not self.Offline then
self.Functions.UpdatePlayerData()
if amount > 100000 then
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'RemoveMoney', 'red', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') removed, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason, true)
else
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'RemoveMoney', 'red', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') removed, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason)
end
local tags = amount > 100000 and config.logging.role or nil
logger.log({
source = GetInvokingResource(),
webhook = 'playermoney',
event = 'RemoveMoney',
color = 'red',
tags = tags,
message = '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') removed, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason,
})
TriggerClientEvent('hud:client:OnMoneyChange', self.PlayerData.source, moneytype, amount, true)
if moneytype == 'bank' then
TriggerClientEvent('qb-phone:client:RemoveBankMoney', self.PlayerData.source, amount)
Expand All @@ -408,7 +424,13 @@ function CreatePlayer(playerData, Offline)

if not self.Offline then
self.Functions.UpdatePlayerData()
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'SetMoney', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') set, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason)
logger.log({
source = GetInvokingResource(),
webhook = 'playermoney',
event = 'SetMoney',
color = 'green',
message = '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') set, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason,
})
TriggerClientEvent('hud:client:OnMoneyChange', self.PlayerData.source, moneytype, math.abs(difference), difference < 0)
TriggerClientEvent('QBCore:Client:OnMoneyChange', self.PlayerData.source, moneytype, amount, "set", reason)
TriggerEvent('QBCore:Server:OnMoneyChange', self.PlayerData.source, moneytype, amount, "set", reason)
Expand Down Expand Up @@ -518,12 +540,25 @@ function DeleteCharacter(source, citizenid)
CreateThread(function()
local success = DeletePlayerEntity(citizenid)
if success then
TriggerEvent('qb-log:server:CreateLog', 'joinleave', 'Character Deleted', 'red', '**' .. GetPlayerName(source) .. '** ' .. license2 .. ' deleted **' .. citizenid .. '**..')
logger.log({
source = GetInvokingResource(),
webhook = 'joinleave',
event = 'Character Deleted',
color = 'red',
message = '**' .. GetPlayerName(source) .. '** ' .. license2 .. ' deleted **' .. citizenid .. '**..'
})
end
end)
else
DropPlayer(tostring(source), Lang:t("info.exploit_dropped"))
TriggerEvent('qb-log:server:CreateLog', 'anticheat', 'Anti-Cheat', 'white', GetPlayerName(source) .. ' Has Been Dropped For Character Deletion Exploit', true)
logger.log({
source = GetInvokingResource(),
webhook = 'anticheat',
event = 'Anti-Cheat',
color = 'white',
tags = config.logging.role,
message = GetPlayerName(source) .. ' Has Been Dropped For Character Deletion Exploit',
})
end
end

Expand All @@ -539,7 +574,13 @@ function ForceDeleteCharacter(citizenid)
CreateThread(function()
local success = DeletePlayerEntity(citizenid)
if success then
TriggerEvent('qb-log:server:CreateLog', 'joinleave', 'Character Force Deleted', 'red', 'Character **' .. citizenid .. '** got deleted')
logger.log({
source = GetInvokingResource(),
webhook = 'joinleave',
event = 'Character Force Deleted',
color = 'red',
message = 'Character **' .. citizenid .. '** got deleted'
})
end
end)
end
Expand Down

0 comments on commit dd7c929

Please sign in to comment.