Plugin for CS2 that reports a player on game and send a webhook message to discord.
Admins can handle the report by marking it as handled. (optional)
All reports are stored in the database. (optional)
Installation
Install CounterStrike Sharp and Metamod:Source;
Download CallAdmin;
Unzip the archive and upload it into csgo/addons/counterstrikesharp/plugins;
Config
The config is created automatically. (Path: csgo/addons/counterstrikesharp/configs/plugins/CallAdmin)
MAIN
EMBED EXAMPLE"Version": 11,
"ServerIpWithPort": "",
"CooldownRefreshCommandSeconds": 30,
"Reasons": [
"Hack",
"Toxic",
"Camping",
"Your Custom Reason{CUSTOMREASON}"
],
"ReasonsToIgnore": [
"rtv",
"nominate",
"timeleft"
],
"WebHookUrl": "",
"Debug": true = Can report yoursef
"UseCenterHtmlMenu": true,
"Database": {
"Host": "",
"Port": 3306,
"User": "",
"Password": "",
"Name": "",
"Prefix": "call_admin"
},
"Commands": {
"Report": {
"Prefix": [
"report",
"calladmin"
],
"Permission": [],
"FlagsToIgnore": [], // Not gonna show up on !report
"CanReportPlayerAlreadyReported": {
"Enabled": true,
"Type": 0 = Don't check; 1 = check victim steamid AND suspect steamid; 2 = check only suspect steamid; 3 = check suspect steamid AND reason; 4 = check victim steamid AND suspect steamid AND reason
"MaxTimeMinutes": 10
},
"MaximumReports": {
"Enabled": true,
"PlayerCanReceiveBeforeAction": 4,
"ActionToDoWhenMaximumLimitReached": 0 = Nothing; 1 = Kick; 2 = Ban
"IfActionIsBanThenBanForHowManyMinutes": 10; 0 = permanente
"HowShouldBeChecked": 0 = Default; > 0 = Check for minutes, so if a player has PlayerCanReceiveBeforeAction in HowShouldBeChecked minutes, an ActionToDoWhenMaximumLimitReached will be called
}
},
"ReportHandled": {
"Enabled": true,
"Prefix": [
"report_handled",
"handled"
],
"Permission": [
"@css/ban"
],
"MaxTimeMinutes": 15
},
"ReportCanceled": {
"ByAuthor": {
"Enabled": true,
"Prefix": [
"abort",
"cancel"
],
"MaxTimeMinutes": 5,
"DeleteOrEditEmbed": 1 = DELETE; 0 = EDIT
},
"ByStaff": {
"Enabled": true,
"Prefix": [
"report_cancel"
],
"MaxTimeMinutes": 5,
"DeleteOrEditEmbed": 1 = DELETE; 0 = EDIT
"Permission": [
"@css/ban"
]
}
}
},
You can edit as you wish.
You can create your own Langs. To do it, just add the lang you want on the embed and on the Langs folder, just as the example below
You can pass any of the follow variables: "MAPNAME", "HOSTNAME", "SERVERIP", "AUTHORNAME", "AUTHORSTEAMID", "AUTHORPROFILE", "TARGETNAME", "TARGETSTEAMID", "TARGETPROFILE", "ADMINNAME", "ADMINSTEAMID", "ADMINPROFILE", "IDENTIFIER", "REASON", "REPORTHANDLEDPREFIX", "CURRENTTIME"
https://github.com/1Mack/CS2-CallAdmin/ ... s/main.zip"EmbedReport": {
"Content": "{REPORTHANDLEDPREFIX} {Localizer|Embed.ContentReport}",
"Embeds": [
{
"Title": "{IDENTIFIER}",
"Color": "16711680",
"Description": "",
"Timestamp": "",
"Author": {
"Name": "",
"IconUrl": "",
"Url": ""
},
"Thumbnail": {
"Url": ""
},
"Image": {
"Url": ""
},
"Footer": {
"Text": "",
"IconUrl": ""
},
"Fields": [
{
"Name": "{Localizer|Embed.AuthorName}",
"Value": "\u0060\u0060\u0060{AUTHORNAME}\u0060\u0060\u0060",
"Inline": true
},
{
"Name": "{Localizer|Embed.AuthorSteamid}",
"Value": "\u0060\u0060\u0060{AUTHORSTEAMID}\u0060\u0060\u0060",
"Inline": true
},
{
"Name": "{Localizer|Embed.Profile}",
"Value": "[{Localizer|Embed.ClickHere}]({AUTHORPROFILE})",
"Inline": true
},
{
"Name": "-----------------------------------------------------------------------------------",
"Value": "\u200B",
"Inline": false
},
{
"Name": "{Localizer|Embed.TargetName}",
"Value": "\u0060\u0060\u0060{TARGETNAME}\u0060\u0060\u0060",
"Inline": true
},
{
"Name": "{Localizer|Embed.TargetSteamid}",
"Value": "\u0060\u0060\u0060{TARGETSTEAMID}\u0060\u0060\u0060",
"Inline": true
},
{
"Name": "{Localizer|Embed.Profile}",
"Value": "[{Localizer|Embed.ClickHere}]({TARGETPROFILE})",
"Inline": true
},
{
"Name": "-----------------------------------------------------------------------------------",
"Value": "\u200B",
"Inline": false
},
{
"Name": "{Localizer|Embed.Reason}",
"Value": "\u0060\u0060\u0060{REASON}\u0060\u0060\u0060",
"Inline": false
},
{
"Name": "\u200B",
"Value": "{SERVERIP}",
"Inline": false
},
{
"Name": "\u200B",
"Value": "\u200B",
"Inline": true
},
{
"Name": "\u200B",
"Value": "\u231A {CURRENTTIME|-3|dd/MM/yyyy} | {CURRENTTIME|-3|HH:mm:ss}",
"Inline": true
},
{
"Name": "\u200B",
"Value": "\u200B",
"Inline": true
}
]
}
]
},

