Перейти к содержанию

Изменения режима игры


Гость

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

Стал очень часто замечать, что при сборе лобби игроки попадают на мой сервер и меняют режим игры с 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 или других идентификаторов для определения доступа к серверу. Это позволит тебе эффективно управлять доступом к серверу, сохраняя его доступность для всех, кто хочет присоединиться.

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

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

Мир изменился, он стал другим!

Ссылка на комментарий
Поделиться на другие сайты

  • Лучшие авторы

    На этой неделе никто репутацию не получал

  • Последние достижения

    • Blacky получил значок
      Подмастерье
    • GAMADA повысил звание
      Lvl 1
    • Darya повысил звание
      Lvl 14
    • Mad.Eagle повысил звание
      Lvl 5
    • Mad.Eagle повысил звание
      Lvl 4
×
×
  • Создать...