[Left 4 Dead 2] Dedicated Server

Здесь хранится вся документация по созданию выделенных серверов
Сообщение
Автор
7human7
Сержант
Сержант
Сообщения: 78
Зарегистрирован: 02.01.2009
Поблагодарили: 1 раз
Контактная информация:

#1036 Сообщение 03.05.2010, 14:33

У меня уже есть рип, как сделать так, чтобы HldsUpdateTool.exe скачал только недостающие файлы / заменил поврежденные? Что нужно в батник писать? -verify_all?

Тогда будет посложнее вопрос: как сделать так, чтобы непроверенные файлы (ненужные) удалились? И остались только нужные. Конечно, легче скачать чистый сервер, но траффик да и просто любопытно узнать.

Аватара пользователя
Syrix
Лейтенант
Лейтенант
Сообщения: 159
Зарегистрирован: 12.08.2006
Откуда: Норильск
Поблагодарили: 3 раза
Контактная информация:

#1037 Сообщение 03.05.2010, 21:04

DJ.GeX™ писал(а):Народ, подскажите пожалуйста, после того, как кто-нибудь заходит на сервер, а там Пэссинг, то сервер выдаёт ошибку:
8/ - survivor_bot: UTIL_SetModel: not precached: model/survivors/survivor_teenangst.mdl или про байкера
После чего сервер падает. Что делать? Зарание спасибо =)
Я вот так и не понял что нужно сделать что б ошибка пропала :(

Аватара пользователя
batmanblood
Сержант
Сержант
Сообщения: 34
Зарегистрирован: 05.04.2010

#1038 Сообщение 04.05.2010, 12:47

Здравствуйте! Скажите пожалуйста как сделать, чтобы сервер по локальной сети отображался в "Серверах групп Steam" в главном меню клиентов? Там отображаются интернет сервера, также если кто-то локально создает игру её видно, а вот выделенный сервер там не отображается..
No-steam клиент и updates качал с csmania.ru. На сервере в server.cfg установлен параметр к примеру sv_steamgroup "603063"
Да и sv_lan "0" - это же не влияет вроде на отображении в меню сервера?

rev.ini

[Emulator]
CacheEnabled = False
Language = Russian
Logging=False
SteamDll=bin\Steam_csm.dll
SteamClient = True
[steamclient]
#ClientDLL=bin\steamclient_csm.dll


-----

Пожалуйста подможите :-)
Изображение

Аватара пользователя
DJ.GeX™
Сержант
Сержант
Сообщения: 92
Зарегистрирован: 15.10.2008

#1039 Сообщение 04.05.2010, 13:41

Syrix, вообщем всё сходится к тому, что сервер надо переустановить, так на 4 форумах написанно было.
Точно сказать не могу, так как щас сам пробую этот вариант =)

Добавлено спустя 6 минут 3 секунды:
batmanblood, убей ты этот RevEmu и юзай eSTEAMATiON - Профессиональный серверный эмулятор Steam-а
Мои проекты:
Проект №1: L4D2 MasterServer Tools
Проект №2: L4D2 Mini Launcher (В разработке)
Личный раздел:
Изображение
Изображение

Аватара пользователя
batmanblood
Сержант
Сержант
Сообщения: 34
Зарегистрирован: 05.04.2010

#1040 Сообщение 04.05.2010, 14:13

DJ.GeX™ писал(а):Syrix

Добавлено спустя 6 минут 3 секунды:
batmanblood, убей ты этот RevEmu и юзай eSTEAMATiON - Профессиональный серверный эмулятор Steam-а
Спасибо! Сделал как Вы и сказали, сервер нормально запустился, но проблема осталась, может где-то нужно прописать этот steamgroup в клиенте?
Изображение

Аватара пользователя
Jonny
Полковник
Полковник
Сообщения: 1371
Зарегистрирован: 30.05.2008
Благодарил (а): 23 раза
Поблагодарили: 54 раза

#1041 Сообщение 04.05.2010, 17:23

Как отучить сервер выкидывать игроков с версус режима, если они заходят на сервер не через лобби?
(сервер сообщает игроку, что игроки должны быть в обеих командах и сразу выкидывает)

методы, которые точно не подходят:
• вход на сервер через лобби с последующим убийством лобби. л4д2 тулз не убивает лобби в последней версии сервера, а даунтаун не позволяет создавать сервер на 20 слотов
• вход на сервер в другом режиме с последующей сменой режима. во первых сервер изначально при этом будет виден неверно, а во вторых нужна нормальная автоматическая работа без присутствия человека
Никакого отношения к нацистским группам и направлениям не имею.

Аватара пользователя
0zon
Лейтенант
Лейтенант
Сообщения: 178
Зарегистрирован: 01.04.2009
Благодарил (а): 1 раз

#1042 Сообщение 04.05.2010, 18:30

Jonny

Код: Выделить всё

#include <sourcemod>
#define Version "1.1b"
new String:DisabledNote[] = "Please note that the admin disabled Single Versus for now.";
new String:Explanation[] = "In any server that runs the Single Versus plugin you can play as zombies against survivor bots. Also if the server has 4 or less peoples we don't really need someone in survivor's team.";
new String:Ads[] = "This server is running Single Versus plugin!\nSay !singleversus for more info.";
new Handle:Allowed = INVALID_HANDLE;
new Handle:AdsHndl = INVALID_HANDLE;
new Handle:AdsDelay = INVALID_HANDLE;
new Handle:AllBotTeam = INVALID_HANDLE;
new CurrentPlayers = 0;
new MaxPlayers = 0;

public Plugin:myinfo = 
{
	name = "L4D Single Versus",
	author = "NBK - Sammy-ROCK!",
	description = "Allows players to play versus in single player.",
	version = Version,
	url = "http://www.sourcemod.net/"
};

public OnPluginStart()
{
	decl String:ModName[50];
	GetGameFolderName(ModName, sizeof(ModName));
	if(!StrEqual(ModName,"left4dead2",false))
		SetFailState("This plugin is for left4dead only."); //Prevent errors on wrong mods
	RegConsoleCmd("sm_singleversus", Command_Explain); //Command to get more infos
	AllBotTeam = FindConVar("sb_all_bot_team"); //So we don't have to find it again
	Allowed = CreateConVar("sm_all_bot_team", "1", "Should we control All Bot Team."); //ConVar for control
	AdsHndl = CreateConVar("sm_all_bot_team_ads_enabled", "0", "Should we advertise server's modified gameplay possibility."); //ConVar for advertises control
	AdsDelay = CreateConVar("sm_all_bot_team_ads_delay", "300.0", "Delay between advertisements.", FCVAR_PLUGIN, true, 10.0); //ConVar for advertises time control
	HookConVarChange(Allowed, ConVarChangedAllowed); //So we know if the admin disabled or enabled it.
	AutoExecConfig(true, "singleversus"); //Saves the settings
	CreateConVar("sm_single_versus_version", Version, "Version of Single versus plugin.", FCVAR_NOTIFY|FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED);
	CreateTimer(GetConVarFloat(AdsDelay), Timer_AdsVersus);
}

public OnClientPutInServer(client)
{
	if(!IsFakeClient(client))
	{
		CurrentPlayers++;
		if(CurrentPlayers == 1) //Why 1? Save CPU so it won't constantly set to 1 every time someone joins
		{
			if(GetConVarInt(Allowed)) //Only sets if it's allowed
				SetConVarInt(AllBotTeam, 1, true, false);
		}
	}
}

public OnClientDisconnect(client)
{
	if(!IsFakeClient(client) && GetConVarInt(Allowed))
	{
		CurrentPlayers--;
		if(CurrentPlayers == 0) //When the server gets empty we gotta turn off so we don't get stuck in the map or never hibernate.
		{
			SetConVarInt(AllBotTeam, 0, true, false);
		}
	}
}

public CountPlayers() //Why not use GetClientCount? I'm not sure if it count bots.
{
	CurrentPlayers = 0;
	for(new i=1; i<= MaxPlayers; i++)
	{
		if(IsClientInGame(i) && !IsFakeClient(i))
			CurrentPlayers++;
	}
}

public OnMapStart()
{
	MaxPlayers = GetMaxClients();
	CountPlayers(); //Just updates the player count so you can reload the plugin
}

public Action:Command_Explain(client, args)
{
	//Client only so he can't spam server with this.
	PrintToChat(client, Explanation);
	PrintToConsole(client, Explanation);
	if(!GetConVarInt(Allowed)) {
		PrintToChat(client, DisabledNote);
		PrintToConsole(client, DisabledNote);
	}
}

public Action:Timer_AdsVersus(Handle:timer)
{
	CreateTimer(GetConVarFloat(AdsDelay), Timer_AdsVersus);
	if(GetConVarInt(AdsHndl) && GetConVarInt(Allowed)) //Why would we ads it if it's disabled?
		PrintToChatAll(Ads);
}

public ConVarChangedAllowed(Handle:convar, const String:oldValue[], const String:newValue[])
{
	if(GetConVarInt(Allowed) && CurrentPlayers >= 1)
		SetConVarInt(AllBotTeam, 1, true, false);
	else
		SetConVarInt(AllBotTeam, 0, true, false);
}

jora1201
Нович0к
Нович0к
Сообщения: 13
Зарегистрирован: 27.04.2010

#1043 Сообщение 04.05.2010, 22:36

DJ.GeX™ писал(а):batmanblood, убей ты этот RevEmu и юзай eSTEAMATiON - Профессиональный серверный эмулятор Steam-а
было бы все так просто на линуксе)))
а на винде и рев ему попрет

RU_6uK
Капитан
Капитан
Сообщения: 319
Зарегистрирован: 26.12.2009
Поблагодарили: 15 раз

#1044 Сообщение 04.05.2010, 23:33

Периодически по совершенно непонятной причине зацикливаются карты на сервере. А по завершении карты и загрузке новой всех клиентов выкидывает с сервера. Карта не меняется. Игроки заходят на сервер, проходят опять эту же карту. И их опять кидает с сервера. И так по кругу.
disconnected (reason "Disconnect by user.")

Вот что в консоли пишет у клиента:
Received wrong spawn count 4 when at 3
Commencing connection retry to public(78.139.77.165:27015)
failed processing
Dumping messages for channel CLIENT(78.139.77.165:27015) 0x086DACA0
Header bits 96, flags == 33
1 messages
0 -----------------------
net_SignonState: type( 7 ) group ( 13 ) size ( 68 bytes ), startbit 6 end bit 278
net_SignonState: state 7, count 4
RAW(net_SignonState) start
net_SignonState >> ^&.....m. .......... f05e2609 01000000 a0ac6d08 20008c0c 07000000 04000000
net_SignonState >> ........................ 00000000 00000000 00000000 00000000 00000000 00000000
net_SignonState >> . ............ 80afac04 20000000 00000000 11000000 80afac04
RAW(net_SignonState) end
Raw
PKT >> (....!m........... 28a30000 f1a60000 21a46d00 cc0800c7 01010000 00000000
PKT >> [email protected]\Y.\[..ۗ 00000000 40040000 c0184ddb ccd75cdd 59985c5b 1a1bdb97
PKT >> . 188080
Bad server address public("78.139.77.165:27015")
BinkOpen( g:\games\l4d2_server\left4dead2\media\l4d2_background02.bik )
Были перепробованы разные версии плагина FMC, глюк проходит сам собой, но потом повторяется.
Выявить какую-либо закономерность не получилось. Происходит на разных картах, отключались разные плагины, но не помогает.
Единственное, что заметил, это происходит, если на сервере мало игроков 3-6.

SourceMod 1.4.0 MetaMod 1.8.1
ИзображениеИзображение
/.ZoZo./ Zombie Zone - Серверы Left 4 Dead 2, Team Fortress 2, Killing Floor. Всегда рады хорошим игрокам!

Krab1
Лейтенант
Лейтенант
Сообщения: 187
Зарегистрирован: 12.01.2009
Поблагодарили: 1 раз

#1045 Сообщение 05.05.2010, 04:56

Jonny писал(а):Как отучить сервер выкидывать игроков с версус режима, если они заходят на сервер не через лобби?
(сервер сообщает игроку, что игроки должны быть в обеих командах и сразу выкидывает)

методы, которые точно не подходят:
• вход на сервер через лобби с последующим убийством лобби. л4д2 тулз не убивает лобби в последней версии сервера, а даунтаун не позволяет создавать сервер на 20 слотов
• вход на сервер в другом режиме с последующей сменой режима. во первых сервер изначально при этом будет виден неверно, а во вторых нужна нормальная автоматическая работа без присутствия человека
плагин infectedbots тебе в помощь :)

Аватара пользователя
bullet28
Сержант
Сержант
Сообщения: 46
Зарегистрирован: 08.11.2009
Поблагодарили: 2 раза

#1046 Сообщение 07.05.2010, 16:24

версус сервер на 8 человек , могут зайти только 4 дальше всем пишет Сервер полон. В мониторинге пишет 4\8 . В чем может быть трабл ?

jora1201
Нович0к
Нович0к
Сообщения: 13
Зарегистрирован: 27.04.2010

#1047 Сообщение 08.05.2010, 17:52

adacer в конфигах, точнее в их правке. вероятно плагин суперверсуса не настроен

onkor
Сержант
Сержант
Сообщения: 46
Зарегистрирован: 23.10.2007

#1048 Сообщение 09.05.2010, 00:47

Извиняюсь, в первом посту написано

Код: Выделить всё

srcds.exe -console -game left4dead2 -port 27016 +map c1m1_hotel versus
Ни в какую не хочет запускаться в режиме сражения. Запускается в режиме "Компания", хотя в строке запуска прописано +map c1m1_hotel versus

В чем я допускаю ошибку?

Аватара пользователя
Jonny
Полковник
Полковник
Сообщения: 1371
Зарегистрирован: 30.05.2008
Благодарил (а): 23 раза
Поблагодарили: 54 раза

#1049 Сообщение 09.05.2010, 01:02

сорсмод
+ [L4D & L4D2] Game Mode Config Loader 1.6
+ coop.cfg в папке cfg

Код: Выделить всё

sm_cvar mp_gamemode versus
Никакого отношения к нацистским группам и направлениям не имею.

onkor
Сержант
Сержант
Сообщения: 46
Зарегистрирован: 23.10.2007

#1050 Сообщение 09.05.2010, 01:27

Jonny
Получилось, но кикает с сервера. Пишет что в соревновательных режимах должны быть живые люди.

Ответить Вложения 14