Максимальная производительность для ваших игровых серверов!
Заказать сейчасПопробуй отсеить их таким методом
void OnPlayerConnected(BasePlayer player)
{
ulong steamId = player.userID;
string apiKey = "YOUR_API_KEY"; // не забудь поставить ключь
string apiUrl = $"https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key={apiKey}&steamids={steamId}";
using (WebClient client = new WebClient())
{
try
{
string response = client.DownloadString(apiUrl);
}
catch (WebException ex)
{
Console.WriteLine("Ошибка при запросе к API Steam Web: " + ex.Message);
}
}
}
Да только апи ключ поставь в строке 14
Что даст эта проверка? Проверка на существования стим профиля?Попробуй отсеить их таким методом
C#:void OnPlayerConnected(BasePlayer player) { ulong steamId = player.userID; string apiKey = "YOUR_API_KEY"; // не забудь поставить ключь string apiUrl = $"https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key={apiKey}&steamids={steamId}"; using (WebClient client = new WebClient()) { try { string response = client.DownloadString(apiUrl); } catch (WebException ex) { Console.WriteLine("Ошибка при запросе к API Steam Web: " + ex.Message); } } }
просто если при проверке мы сравним данные по стим ид и сервера то сразу бан по ип еще до нормального захода на сервер , но так же если нет проксей, но можно обвернуть что в момент коннекта, сервер фиксирует откуда заходит человек с какого профиля и если чуть доработать то его просто не пустит на серверЧто даст эта проверка? Проверка на существования стим профиля?
От подмены не защитит.
Здесь полагаю нужно делать так,
- если игрок онлайн, то дубль игрока не пускает на сервер
- обратить внимание на ip ботов, думаю они будут подключаться с одного ip , если так то ловим 2+ подключения с одного ip и отправляем последующие профили в бан, пездюк пойдет перезагружать роутер в 90% случаев, если не заюзает прокси.
И тд, можно еще придумать различные методы
у тебя код никуда не ведёт...Попробуй отсеить их таким методом
C#:void OnPlayerConnected(BasePlayer player) { ulong steamId = player.userID; string apiKey = "YOUR_API_KEY"; // не забудь поставить ключь string apiUrl = $"https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key={apiKey}&steamids={steamId}"; using (WebClient client = new WebClient()) { try { string response = client.DownloadString(apiUrl); } catch (WebException ex) { Console.WriteLine("Ошибка при запросе к API Steam Web: " + ex.Message); } } }
я же написал что использовать как отсеиватель, а дальше уже думать как боротся, каким методом, так как множество переменных есть ( каким образом подменяют, используют ли проксю, конфигурация самого сервера) это как отправная точкау тебя код никуда не ведёт...
BUDAPESHTER единственный возможное решение написал в каком направлении двигаться. остальное костыли и танцы с бубном. код из ноустима при желании можно реализовать в обычном .cs плагине, если повозится конечноя же написал что использовать как отсеиватель, а дальше уже думать как боротся, каким методом, так как множество переменных есть ( каким образом подменяют, используют ли проксю, конфигурация самого сервера) это как отправная точка