Перейти к содержанию
Опубликовано

Стал очень часто замечать, что при сборе лобби игроки попадают на мой сервер и меняют режим игры с vs на кооператив (или другой)

Как можно заблокировать смену режима игры?

Гость, какой ответ был самым полезным?

Если какой-либо из этих ответов дал ответ на ваш вопрос, найдите время, чтобы нажать кнопку "Отметить как решение" рядом с постом с лучшим ответом.
Отметив сообщение как решение, вы поможете другим пользователям сообщества быстро найти ответы на свои вопросы. Спасибо за помощь!

Рекомендуемые сообщения

Опубликовано
  • Администраторы

Запиши переменные в cfg/server.cfg, чтобы заставить игровой режим работать принудительно:

//coop, versus, survival
sm_cvar mp_gamemode "coop" 

 

Опубликовано
В 31.08.2022 в 00:34, Райан сказал:

Запиши переменные в cfg/server.cfg, чтобы заставить игровой режим работать принудительно:

//coop, versus, survival
sm_cvar mp_gamemode "coop" 

Спасибо за совет, я смог решить проблемы

Оказывается что для того чтобы игра меняла режим при загрузке нужно писать не "mp_gametypes", а "mp_gamemode"

Добавление двух значений в server.cfg решило мою проблему

sm_cvar sv_gametypes "versus" 
sm_cvar mp_gamemode "versus"

но есть еще вопрос
как запретить игрокам создавать приватное лобби (только для друзей)

Опубликовано
  • Администраторы
В 03.09.2022 в 19:12, Kimi сказал:

как запретить игрокам создавать приватное лобби (только для друзей)

Слушай, попробуй это:

#pragma semicolon 1
#pragma newdecls required

#define VERSION	"0.1"

#include <sourcemod>
#include <sourcescramble> // https://github.com/nosoop/SMExt-SourceScramble

public Plugin myinfo =
{
	name = "L4D2 Block match connect",
	author = "fdxx",
	description = "Block client from connecting to the server via creating a lobby.",
	version = VERSION,
}

public void OnPluginStart()
{
	Init();
	CreateConVar("l4d2_block_match_connect_version", VERSION, "Version", FCVAR_NONE | FCVAR_DONTRECORD);
}

void Init()
{
	GameData hGameData = new GameData("l4d2_block_match_connect");
	if (hGameData == null)
		SetFailState("Failed to load \"l4d2_block_match_connect.txt\" file");

	MemoryPatch mPatch = MemoryPatch.CreateFromConf(hGameData, "CBaseServer::ReplyReservationRequest");
	if (!mPatch.Validate())
		SetFailState("Verify patch failed.");
	if (!mPatch.Enable())
		SetFailState("Enable patch failed.");

	delete hGameData;
}

 

Опубликовано
18 часов назад, Райан сказал:

Слушай, попробуй это:

#pragma semicolon 1
#pragma newdecls required

#define VERSION	"0.1"

#include <sourcemod>
#include <sourcescramble> // https://github.com/nosoop/SMExt-SourceScramble

public Plugin myinfo =
{
	name = "L4D2 Block match connect",
	author = "fdxx",
	description = "Block client from connecting to the server via creating a lobby.",
	version = VERSION,
}

public void OnPluginStart()
{
	Init();
	CreateConVar("l4d2_block_match_connect_version", VERSION, "Version", FCVAR_NONE | FCVAR_DONTRECORD);
}

void Init()
{
	GameData hGameData = new GameData("l4d2_block_match_connect");
	if (hGameData == null)
		SetFailState("Failed to load \"l4d2_block_match_connect.txt\" file");

	MemoryPatch mPatch = MemoryPatch.CreateFromConf(hGameData, "CBaseServer::ReplyReservationRequest");
	if (!mPatch.Validate())
		SetFailState("Verify patch failed.");
	if (!mPatch.Enable())
		SetFailState("Enable patch failed.");

	delete hGameData;
}

 

Я так понимаю, это полностью запрещает подключение через лобби. А мне нужно запретить только приватное лобби.

  • 1 год спустя...
Опубликовано
  • Администраторы

Понимаю, что ты ищешь способ ограничить доступ к серверу через приватные лобби, оставляя открытыми другие способы подключения. Хочу предложить альтернативный подход, который может помочь достичь желаемого результата.

Вместо того, чтобы полностью блокировать подключение через лобби, можно рассмотреть вариант использования плагина, который ограничит доступ к серверу только для тех, кто находится в вашем сообществе или имеет определенный статус.

Подобные плагины могут быть настроены для проверки статуса игрока или его принадлежности к сообществу до разрешения доступа к серверу. Таким образом, ты сможешь контролировать, кто может подключаться к серверу через лобби, сохраняя открытыми другие способы подключения для всех желающих.

Предлагаю обратить внимание на плагины с поддержкой SteamID, групп Steam или других идентификаторов для определения доступа к серверу. Это позволит тебе эффективно управлять доступом к серверу, сохраняя его доступность для всех, кто хочет присоединиться.

Надеюсь, эта информация будет полезной для решения твоей проблемы. Если есть какие-то вопросы или нужна помощь с настройкой плагина, не стесняйся обращаться!

Удачи в улучшении функционала сервера!

Для публикации сообщений создайте учётную запись или авторизуйтесь

Последние посетители 0

  • Ни одного зарегистрированного пользователя не просматривает данную страницу