Remove CSGO and Cleanup required folders.
This commit is contained in:
parent
a86d71c70b
commit
d7eb10d8f4
@ -48,7 +48,7 @@ int g_iLastReportID;
|
|||||||
|
|
||||||
public Plugin myinfo =
|
public Plugin myinfo =
|
||||||
{
|
{
|
||||||
name = "Discord core",
|
name = "Discord Core",
|
||||||
author = "Obus and Neon",
|
author = "Obus and Neon",
|
||||||
description = "Chat- & Rcon-Support",
|
description = "Chat- & Rcon-Support",
|
||||||
version = "1.2.0",
|
version = "1.2.0",
|
@ -1,192 +0,0 @@
|
|||||||
#include <sourcemod>
|
|
||||||
#include <SteamWorks>
|
|
||||||
|
|
||||||
#pragma semicolon 1
|
|
||||||
#pragma newdecls required
|
|
||||||
|
|
||||||
#include "SteamAPI.secret"
|
|
||||||
|
|
||||||
/* BOOLEANS */
|
|
||||||
bool g_bValid[MAXPLAYERS+1] = {false, ...};
|
|
||||||
bool g_bValidated[MAXPLAYERS+1] = {false, ...};
|
|
||||||
|
|
||||||
/* FORWARDS */
|
|
||||||
Handle g_hFwd_OnClientProfileValidated;
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public Plugin myinfo =
|
|
||||||
{
|
|
||||||
name = "NoSteamDetection",
|
|
||||||
author = "zaCade",
|
|
||||||
description = "Mark people as 'NoSteam' if their steam profiles are incorrect",
|
|
||||||
version = "1.0"
|
|
||||||
};
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public APLRes AskPluginLoad2(Handle myself, bool late, char [] error, int err_max)
|
|
||||||
{
|
|
||||||
CreateNative("IsClientProfileValid", Native_IsClientProfileValid);
|
|
||||||
CreateNative("IsClientProfileValidated", Native_IsClientProfileValidated);
|
|
||||||
|
|
||||||
RegPluginLibrary("NoSteamDetection");
|
|
||||||
return APLRes_Success;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnPluginStart()
|
|
||||||
{
|
|
||||||
g_hFwd_OnClientProfileValidated = CreateGlobalForward("OnClientProfileValidated", ET_Ignore, Param_Cell, Param_Cell);
|
|
||||||
|
|
||||||
for(int client = 1; client <= MaxClients; client++)
|
|
||||||
{
|
|
||||||
if(IsValidClient(client) && IsClientAuthorized(client))
|
|
||||||
OnClientAuthorized(client, "");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnClientAuthorized(int client, const char[] auth)
|
|
||||||
{
|
|
||||||
char sSteam64ID[32];
|
|
||||||
GetClientAuthId(client, AuthId_SteamID64, sSteam64ID, sizeof(sSteam64ID));
|
|
||||||
|
|
||||||
char sRequest[256];
|
|
||||||
Format(sRequest, sizeof(sRequest), "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=%s&steamids=%s&format=vdf", STEAM_API_KEY, sSteam64ID);
|
|
||||||
|
|
||||||
Handle hRequest = SteamWorks_CreateHTTPRequest(k_EHTTPMethodGET, sRequest);
|
|
||||||
if (!hRequest ||
|
|
||||||
!SteamWorks_SetHTTPCallbacks(hRequest, OnClientAuthorized_OnTransferComplete) ||
|
|
||||||
!SteamWorks_SetHTTPRequestContextValue(hRequest, GetClientSerial(client)) ||
|
|
||||||
!SteamWorks_SendHTTPRequest(hRequest))
|
|
||||||
{
|
|
||||||
delete hRequest;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public int OnClientAuthorized_OnTransferComplete(Handle hRequest, bool bFailure, bool bSuccessful, EHTTPStatusCode eStatusCode, int serial)
|
|
||||||
{
|
|
||||||
if (bFailure || !bSuccessful || eStatusCode != k_EHTTPStatusCode200OK)
|
|
||||||
{
|
|
||||||
delete hRequest;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
SteamWorks_GetHTTPResponseBodyCallback(hRequest, OnClientAuthorized_OnTransferResponse, serial);
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public int OnClientAuthorized_OnTransferResponse(char[] sData, int serial)
|
|
||||||
{
|
|
||||||
int client;
|
|
||||||
if ((client = GetClientFromSerial(serial)) == 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
KeyValues Response = new KeyValues("SteamAPIResponse");
|
|
||||||
|
|
||||||
if(!Response.ImportFromString(sData, "SteamAPIResponse"))
|
|
||||||
{
|
|
||||||
OnClientAuthorized_FinishCall(client, false);
|
|
||||||
delete Response;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!Response.JumpToKey("players"))
|
|
||||||
{
|
|
||||||
OnClientAuthorized_FinishCall(client, false);
|
|
||||||
delete Response;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!Response.GotoFirstSubKey())
|
|
||||||
{
|
|
||||||
OnClientAuthorized_FinishCall(client, false);
|
|
||||||
delete Response;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((Response.GetNum("profilestate")) == 0)
|
|
||||||
{
|
|
||||||
OnClientAuthorized_FinishCall(client, false);
|
|
||||||
delete Response;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
OnClientAuthorized_FinishCall(client, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnClientAuthorized_FinishCall(int client, bool valid)
|
|
||||||
{
|
|
||||||
g_bValid[client] = valid;
|
|
||||||
g_bValidated[client] = true;
|
|
||||||
|
|
||||||
Call_StartForward(g_hFwd_OnClientProfileValidated);
|
|
||||||
Call_PushCell(client);
|
|
||||||
Call_PushCell(valid);
|
|
||||||
Call_Finish();
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnClientDisconnect(int client)
|
|
||||||
{
|
|
||||||
g_bValid[client] = false;
|
|
||||||
g_bValidated[client] = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public int Native_IsClientProfileValid(Handle hPlugin, int numParams)
|
|
||||||
{
|
|
||||||
int client = GetNativeCell(1);
|
|
||||||
|
|
||||||
if (!IsValidClient(client))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return g_bValid[client];
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public int Native_IsClientProfileValidated(Handle hPlugin, int numParams)
|
|
||||||
{
|
|
||||||
int client = GetNativeCell(1);
|
|
||||||
|
|
||||||
if (!IsValidClient(client))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return g_bValidated[client];
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public bool IsValidClient(int client)
|
|
||||||
{
|
|
||||||
if (client < 0)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (client > GetMaxClients())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
#if defined NoSteamDetection_included
|
|
||||||
#endinput
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define NoSteamDetection_included
|
|
||||||
|
|
||||||
native bool IsClientProfileValid(int client);
|
|
||||||
|
|
||||||
native bool IsClientProfileValidated(int client);
|
|
||||||
|
|
||||||
forward void OnClientProfileValidated(int client, bool valid);
|
|
@ -1,154 +0,0 @@
|
|||||||
#pragma semicolon 1
|
|
||||||
|
|
||||||
#include <sourcemod>
|
|
||||||
#include <basecomm>
|
|
||||||
#include <NoSteamDetection>
|
|
||||||
|
|
||||||
#pragma newdecls required
|
|
||||||
|
|
||||||
/* CONVARS */
|
|
||||||
ConVar g_hCvar_BlockAdmin;
|
|
||||||
ConVar g_hCvar_BlockVoice;
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public Plugin myinfo =
|
|
||||||
{
|
|
||||||
name = "NoSteamManager",
|
|
||||||
author = "zaCade",
|
|
||||||
description = "Manage No-Steam clients, denying admin access, ect.",
|
|
||||||
version = "1.0.0"
|
|
||||||
};
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnPluginStart()
|
|
||||||
{
|
|
||||||
g_hCvar_BlockAdmin = CreateConVar("sm_nosteam_block_admin", "1", "Should people marked as nosteam be blocked from admin?", FCVAR_NONE, true, 0.0, true, 1.0);
|
|
||||||
g_hCvar_BlockVoice = CreateConVar("sm_nosteam_block_voice", "1", "Should people marked as nosteam be blocked from voice?", FCVAR_NONE, true, 0.0, true, 1.0);
|
|
||||||
|
|
||||||
AddMultiTargetFilter("@steam", Filter_Steam, "Steam Players", false);
|
|
||||||
AddMultiTargetFilter("@nosteam", Filter_NoSteam, "No-Steam Players", false);
|
|
||||||
|
|
||||||
RegConsoleCmd("sm_nosteam", Command_DisplaySteamStats, "Shows the number of Steam and No-Steam players");
|
|
||||||
RegConsoleCmd("sm_steam", Command_DisplaySteamStats, "Shows the number of Steam and No-Steam players");
|
|
||||||
|
|
||||||
AutoExecConfig();
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnPluginEnd()
|
|
||||||
{
|
|
||||||
RemoveMultiTargetFilter("@steam", Filter_Steam);
|
|
||||||
RemoveMultiTargetFilter("@nosteam", Filter_NoSteam);
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public Action Command_DisplaySteamStats(int client, int args)
|
|
||||||
{
|
|
||||||
char aBuf[1024];
|
|
||||||
char aBuf2[MAX_NAME_LENGTH];
|
|
||||||
|
|
||||||
for(int i = 1; i <= MaxClients; i++)
|
|
||||||
{
|
|
||||||
if(IsClientInGame(i) && !IsFakeClient(i))
|
|
||||||
{
|
|
||||||
if(IsClientProfileValidated(i) && !IsClientProfileValid(i))
|
|
||||||
{
|
|
||||||
GetClientName(i, aBuf2, sizeof(aBuf2));
|
|
||||||
StrCat(aBuf, sizeof(aBuf), aBuf2);
|
|
||||||
StrCat(aBuf, sizeof(aBuf), ", ");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(strlen(aBuf))
|
|
||||||
{
|
|
||||||
aBuf[strlen(aBuf) - 2] = 0;
|
|
||||||
ReplyToCommand(client, "[SM] No-Steam clients online: %s", aBuf);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
ReplyToCommand(client, "[SM] No-Steam clients online: none");
|
|
||||||
|
|
||||||
return Plugin_Handled;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public bool Filter_Steam(const char[] sPattern, Handle hClients)
|
|
||||||
{
|
|
||||||
for(int i = 1; i <= MaxClients; i++)
|
|
||||||
{
|
|
||||||
if(IsClientInGame(i) && !IsFakeClient(i))
|
|
||||||
{
|
|
||||||
if(IsClientProfileValidated(i) && IsClientProfileValid(i))
|
|
||||||
PushArrayCell(hClients, i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public bool Filter_NoSteam(const char[] sPattern, Handle hClients)
|
|
||||||
{
|
|
||||||
for(int i = 1; i <= MaxClients; i++)
|
|
||||||
{
|
|
||||||
if(IsClientInGame(i) && !IsFakeClient(i))
|
|
||||||
{
|
|
||||||
if(IsClientProfileValidated(i) && !IsClientProfileValid(i))
|
|
||||||
PushArrayCell(hClients, i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public Action OnClientPreAdminCheck(int client)
|
|
||||||
{
|
|
||||||
if(!g_hCvar_BlockAdmin.BoolValue)
|
|
||||||
return Plugin_Continue;
|
|
||||||
|
|
||||||
if(IsFakeClient(client) || IsClientSourceTV(client))
|
|
||||||
return Plugin_Continue;
|
|
||||||
|
|
||||||
if(IsClientProfileValidated(client) && !IsClientProfileValid(client))
|
|
||||||
{
|
|
||||||
LogMessage("%L did not have a valid profile, denying admin.", client);
|
|
||||||
NotifyPostAdminCheck(client);
|
|
||||||
|
|
||||||
return Plugin_Handled;
|
|
||||||
}
|
|
||||||
|
|
||||||
return Plugin_Continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnClientPostAdminCheck(int client)
|
|
||||||
{
|
|
||||||
if(!g_hCvar_BlockVoice.BoolValue)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if(IsFakeClient(client) || IsClientSourceTV(client))
|
|
||||||
return;
|
|
||||||
|
|
||||||
if(IsClientProfileValidated(client) && !IsClientProfileValid(client))
|
|
||||||
{
|
|
||||||
LogMessage("%L did not have a valid profile, muting client.", client);
|
|
||||||
BaseComm_SetClientMute(client, true);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,127 +0,0 @@
|
|||||||
#include <sourcemod>
|
|
||||||
#include <SteamWorks>
|
|
||||||
#include <NoSteamDetection>
|
|
||||||
|
|
||||||
#pragma semicolon 1
|
|
||||||
#pragma newdecls required
|
|
||||||
|
|
||||||
bool g_bHasFakeClient[MAXPLAYERS + 1] = {false,...};
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public Plugin myinfo =
|
|
||||||
{
|
|
||||||
name = "NoSteamPlayerCount",
|
|
||||||
author = "Neon",
|
|
||||||
description = "",
|
|
||||||
version = "1.0",
|
|
||||||
url = "https://steamcommunity.com/id/n3ontm"
|
|
||||||
};
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnGameFrame()
|
|
||||||
{
|
|
||||||
SteamWorks_SetMaxPlayers(65);
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnPluginStart()
|
|
||||||
{
|
|
||||||
RegAdminCmd("sm_addfake", Command_AddFake, ADMFLAG_ROOT, "");
|
|
||||||
RegAdminCmd("sm_removefake", Command_RemoveFake, ADMFLAG_ROOT, "");
|
|
||||||
RegAdminCmd("sm_countfakes", Command_CountFakes, ADMFLAG_BAN, "");
|
|
||||||
|
|
||||||
for(int client = 1; client <= MaxClients; client++)
|
|
||||||
{
|
|
||||||
if(IsValidClient(client) && IsClientProfileValidated(client))
|
|
||||||
OnClientProfileValidated(client, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnPluginEnd()
|
|
||||||
{
|
|
||||||
for(int client = 1; client <= MaxClients; client++)
|
|
||||||
{
|
|
||||||
if(IsValidClient(client))
|
|
||||||
OnClientDisconnect(client);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public Action Command_AddFake(int client, int argc)
|
|
||||||
{
|
|
||||||
SteamWorks_CreateFake("Kaitou Sinbad");
|
|
||||||
return Plugin_Handled;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public Action Command_RemoveFake(int client, int argc)
|
|
||||||
{
|
|
||||||
SteamWorks_KickFake();
|
|
||||||
return Plugin_Handled;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public Action Command_CountFakes(int client, int argc)
|
|
||||||
{
|
|
||||||
int iFakes = SteamWorks_CountFakes();
|
|
||||||
ReplyToCommand(client, "There are currently %d Fake Clients active.", iFakes);
|
|
||||||
return Plugin_Handled;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnClientProfileValidated(int client, bool valid)
|
|
||||||
{
|
|
||||||
char sName[128];
|
|
||||||
GetClientName(client, sName, sizeof(sName));
|
|
||||||
|
|
||||||
if(!IsClientProfileValid(client))
|
|
||||||
{
|
|
||||||
int iFakeID = SteamWorks_CreateFake(sName);
|
|
||||||
g_bHasFakeClient[client] = true;
|
|
||||||
LogMessage("\"%L\" connected as NoSteam. Fake Client with ID: \"%d\" got created.", client, iFakeID);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnClientDisconnect(int client)
|
|
||||||
{
|
|
||||||
if (!g_bHasFakeClient[client])
|
|
||||||
return;
|
|
||||||
|
|
||||||
SteamWorks_KickFake();
|
|
||||||
g_bHasFakeClient[client] = false;
|
|
||||||
LogMessage("\"%L\" left as NoSteam. Fake Client got removed.", client);
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public bool IsValidClient(int client)
|
|
||||||
{
|
|
||||||
if (client <= 0)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (client > GetMaxClients())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
@ -1,158 +0,0 @@
|
|||||||
#include <sourcemod>
|
|
||||||
#include <SteamWorks>
|
|
||||||
#include <connect>
|
|
||||||
|
|
||||||
#pragma semicolon 1
|
|
||||||
#pragma newdecls required
|
|
||||||
|
|
||||||
bool g_bHasFakeClient[MAXPLAYERS + 1] = {false,...};
|
|
||||||
int g_MaxPlayers = 64;
|
|
||||||
|
|
||||||
ConVar g_hCVar_FakeClients;
|
|
||||||
ConVar g_hCVar_SourceTV;
|
|
||||||
ConVar g_hCVar_MaxPlayers;
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public Plugin myinfo =
|
|
||||||
{
|
|
||||||
name = "NoSteamPlayerCount",
|
|
||||||
author = "Neon",
|
|
||||||
description = "",
|
|
||||||
version = "1.0",
|
|
||||||
url = "https://steamcommunity.com/id/n3ontm"
|
|
||||||
};
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnGameFrame()
|
|
||||||
{
|
|
||||||
SteamWorks_SetMaxPlayers(g_MaxPlayers);
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnPluginStart()
|
|
||||||
{
|
|
||||||
g_hCVar_FakeClients = CreateConVar("sm_nosteamplayercount_fakeclients", "1", "Increse PlayerCount for Fake Clients", 0, true, 0.0, true, 1.0);
|
|
||||||
g_hCVar_SourceTV = CreateConVar("sm_nosteamplayercount_sourcetv", "1", "Increse PlayerCount for SourceTV", 0, true, 0.0, true, 1.0);
|
|
||||||
g_hCVar_MaxPlayers = CreateConVar("sm_nosteamplayercount_maxplayers", "64", "Max Players to display in the sv browser", 0, true, 1.0, true, 128.0);
|
|
||||||
|
|
||||||
g_hCVar_MaxPlayers.AddChangeHook(OnConVarChanged);
|
|
||||||
|
|
||||||
AutoExecConfig(true, "plugin.NoSteamPlayerCount");
|
|
||||||
|
|
||||||
RegAdminCmd("sm_addfake", Command_AddFake, ADMFLAG_ROOT, "");
|
|
||||||
RegAdminCmd("sm_removefake", Command_RemoveFake, ADMFLAG_ROOT, "");
|
|
||||||
RegAdminCmd("sm_countfakes", Command_CountFakes, ADMFLAG_BAN, "");
|
|
||||||
|
|
||||||
for(int client = 1; client <= MaxClients; client++)
|
|
||||||
{
|
|
||||||
if(IsValidClient(client) && IsClientAuthorized(client))
|
|
||||||
OnClientAuthorized(client, "");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnPluginEnd()
|
|
||||||
{
|
|
||||||
for(int client = 1; client <= MaxClients; client++)
|
|
||||||
{
|
|
||||||
if(IsValidClient(client))
|
|
||||||
OnClientDisconnect(client);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnConVarChanged(ConVar convar, const char[] oldValue, const char[] newValue)
|
|
||||||
{
|
|
||||||
if(convar == g_hCVar_MaxPlayers)
|
|
||||||
g_MaxPlayers = g_hCVar_MaxPlayers.IntValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public Action Command_AddFake(int client, int argc)
|
|
||||||
{
|
|
||||||
SteamWorks_CreateFake("Kaitou Sinbad");
|
|
||||||
return Plugin_Handled;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public Action Command_RemoveFake(int client, int argc)
|
|
||||||
{
|
|
||||||
SteamWorks_KickFake();
|
|
||||||
return Plugin_Handled;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public Action Command_CountFakes(int client, int argc)
|
|
||||||
{
|
|
||||||
int iFakes = SteamWorks_CountFakes();
|
|
||||||
ReplyToCommand(client, "There are currently %d Fake Clients active.", iFakes);
|
|
||||||
return Plugin_Handled;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnClientAuthorized(int client, const char[] auth)
|
|
||||||
{
|
|
||||||
if (IsClientSourceTV(client) && (!GetConVarBool(g_hCVar_SourceTV)))
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (IsFakeClient(client) && (!GetConVarBool(g_hCVar_FakeClients)))
|
|
||||||
return;
|
|
||||||
|
|
||||||
char sSteamID[32];
|
|
||||||
GetClientAuthId(client, AuthId_Steam2, sSteamID, sizeof(sSteamID));
|
|
||||||
|
|
||||||
char sName[128];
|
|
||||||
GetClientName(client, sName, sizeof(sName));
|
|
||||||
|
|
||||||
if(!SteamClientAuthenticated(sSteamID))
|
|
||||||
{
|
|
||||||
int iFakeID = SteamWorks_CreateFake(sName);
|
|
||||||
g_bHasFakeClient[client] = true;
|
|
||||||
LogMessage("\"%L\" connected as NoSteam. Fake Client with ID: \"%d\" got created.", client, iFakeID);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public void OnClientDisconnect(int client)
|
|
||||||
{
|
|
||||||
if (!g_bHasFakeClient[client])
|
|
||||||
return;
|
|
||||||
|
|
||||||
SteamWorks_KickFake();
|
|
||||||
g_bHasFakeClient[client] = false;
|
|
||||||
LogMessage("\"%L\" left as NoSteam. Fake Client got removed.", client);
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
// Purpose:
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
|
||||||
public bool IsValidClient(int client)
|
|
||||||
{
|
|
||||||
if (client <= 0)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (client > GetMaxClients())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user