https://imgur.com/a/TI2JMN3
https://imgur.com/a/O1iIaWs
a lot of ips fake players join server to take your slot
server always 64/64 normal players can not join
these fakes players can not use any GetClient in sourcemod on them so you can not kick them use sm_kick
Code:
#include <sourcemod>
public OnPluginStart()
{
HookEvent("player_connect", OnPlayerConnect);
HookEvent("player_connect_full", OnPlayerConnectFull);
}
public OnPlayerConnect(Handle:event, const String:name[], bool:dontBroadcast)
{
new ID = GetEventInt(event, "userid");
new Client = GetClientOfUserId(ID);
decl String:SteamID[32];
GetEventString(event, "networkid", SteamID, 32);
PrintToServer("OnPlayerConnect//////////////// client:%i(#%i)<%s> name:%s", Client, ID, SteamID, name);
}
public OnPlayerConnectFull(Handle:event, const String:name[], bool:dontBroadcast)
{
new ID = GetEventInt(event, "userid");
new Client = GetClientOfUserId(ID);
PrintToServer("OnPlayerConnectFull//////////////// client:%i(#%i)", Client, ID);
}
public bool:OnClientConnect(client, String:rejectmsg[], maxlen)
{
PrintToServer("OnClientConnect: %s////////////////", rejectmsg);
return true;
}
public OnClientConnected(client)
{
decl String:SteamID[32];
GetClientAuthString(client, SteamID, 32);
PrintToServer("OnClientConnected//////////////// client:%i<%s>", client, SteamID);
}
public OnClientPutInServer(client)
{
PrintToServer("OnClientPutInServer////////////////");
}
public OnClientDisconnect(client)
{
PrintToServer("OnClientDisconnect////////////////");
}
public OnClientDisconnect_Post(client)
{
PrintToServer("OnClientDisconnect_Post////////////////");
}
public OnClientAuthorized(client)
{
decl String:SteamID[32];
GetClientAuthString(client, SteamID, 32);
PrintToServer("OnClientAuthorized//////////////// client:%i<%s> bot:%i", client, SteamID, IsFakeClient(client));
}
public Action:OnClientPreAdminCheck(client)
{
PrintToServer("OnClientPreAdminCheck////////////////");
}
public OnClientPostAdminFilter(client)
{
PrintToServer("OnClientPostAdminFilter////////////////");
}
public OnClientPostAdminCheck(client)
{
PrintToServer("OnClientPostAdminCheck////////////////");
}
the fake player can only trigger HookEvent("player_connect", OnPlayerConnect);
no OnClientPutInServer no OnClientAuthorized ....
need some help