Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
Vladislavfaddeevich

Логирование

Доброго времени суток знатаки. 

 

Подскажите, как прописать Логирование Автомобилей и Строительства в ADM, или новый файл? 

 

Знаю что есть моды для этого дела, но не хочется особо засорять сервер. 

 

Заранее благодарю за ответ. 

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0

Vladislavfaddeevich в кавычках надо не сами моды ставить, а сами параметры запуска сервера. Пример:

"-mod=@Mod 1;@Mod 2;" "-servermod=@Mod 3;@Mod 3;"

это надо, чтобы папки с пробелами корректно воспринимались и передавались в параметры запуска серверу. Если оно и так у вас не работает - ищите косяки в том, как вы сервер запускаете.

Share this post


Link to post
Share on other sites









  • 0

поставь соответствующие моды (vehicleactivitylogs и basebuildinglogs) как серверные и не будешь и сервер засорять и голову морочить себе.

Share this post


Link to post
Share on other sites
  • 0

123new ....предвосхитить следующий вопрос?:)))

(почему...потому что человек даже не прочитал описание модов)

Share this post


Link to post
Share on other sites
  • 0

123new Сервер на хостинге. 

Если я поставлю эти моды в загрузку сервера то они понадобятся и на стороне лаунчера. 

Share this post


Link to post
Share on other sites
  • 0

Vladislavfaddeevich Не читали и это очевидно ибо если вы ЧИТАЛИ описание модов BaseBuildingLogs и VehicleActivityLogs даже с помощью гугл-переводчика (что сделал я ибо английский я вообще не знаю), то заметили бы нечто общее в обоих случаях.... Может мой IQ и отрецательный, но понять-
"This mod is NOT needed on the client-side (the key is provided)."

Что гугл переводит как-
"Этот мод НЕ требуется на стороне клиента (ключ предоставляется)."

..по другому не представляю возможным.
(по секрету, из ставки Богемии......если моды прописывать как -servermod случается ужасное-они работают,но не требуют установки со стороны клиента, конечно если они для этого предназначены)
 

Share this post


Link to post
Share on other sites
  • 0
1 час назад, Vladislavfaddeevich сказал:

123new Сервер на хостинге. 

Если я поставлю эти моды в загрузку сервера то они понадобятся и на стороне лаунчера. 

не верно, если вы поставите эти моды не в параметр -mod= а в параметр -servermod= то никаких новых модов не потребуется игрокам. Если такой опции нет на хостинге - обращайтесь в поддержку своего хостинга, этот параметр введен в игру с патча 1.04 и работает.

Share this post


Link to post
Share on other sites
  • 0

123new 

@echo off

set server="gameserver8869"
cd /d "C:\gameservers\gameserver8869\serverfiles"
echo start>"C:\gameservers\gameserver8869\status%server%.txt"

:startserver
echo (RE)Starting server %server%
"%server%.exe" -config=instance\config.cfg -port=2402 -mod=@MedicalAttention;@FIDOv_PACK_4;@SQUAD_MSF-C;@WindstridesClothingPack;@Base_Furniture_Mods_2.0;@NoVehicleDamage;@[CrSk]_BMW_525i_E34;@CrSk_GAZ-3309;@pmc_hummer;@BuildAnywhere;@BulletStacksPlusPlus;@DisableBaseDestruction;@Ear-Plugs;@Trader;@KillFeed;@CF;@ZomBerry_Admin_Tools;@ToxicZone;@VanillaPlusPlusMap;@Code_Lock;@DayZ-Expansion-Chat;@DayZ-Expansion-Notifications -profiles=instance -dologs -adminlog -netlog -freezecheck -scrAllowFileWrite

timeout 5
for /F "tokens=*" %%i in ('type "C:\gameservers\gameserver8869\status%server%.txt"') do (
if "%%i"=="start" (goto :startserver)
)
exit

Может подскажите в какую строку вставить и продолжить "-servermod="?

Поддержка к сожалению не может помочь, по тех прчинам.

Share this post


Link to post
Share on other sites
  • 0

@Vladislavfaddeevichкакой нибудь ошибку выдает ? Попробуй тогда -servermod= добавить после -port=2402

"%server%.exe" -config=instance\config.cfg -port=2402 -servermod=@ServerMods -mod=@MedicalAttention;@FIDOv_PACK_4;@SQUAD_MSF-C;@WindstridesClothingPack;@Base_Furniture_Mods_2.0;@NoVehicleDamage;@[CrSk]_BMW_525i_E34;@CrSk_GAZ-3309;@pmc_hummer;@BuildAnywhere;@BulletStacksPlusPlus;@DisableBaseDestruction;@Ear-Plugs;@Trader;@KillFeed;@CF;@ZomBerry_Admin_Tools;@ToxicZone;@VanillaPlusPlusMap;@Code_Lock;@DayZ-Expansion-Chat;@DayZ-Expansion-Notifications -profiles=instance -dologs -adminlog -netlog -freezecheck -scrAllowFileWrite

 

Share this post


Link to post
Share on other sites
  • 0
3 часа назад, Vladislavfaddeevich сказал:

123new 


@echo off

set server="gameserver8869"
cd /d "C:\gameservers\gameserver8869\serverfiles"
echo start>"C:\gameservers\gameserver8869\status%server%.txt"

:startserver
echo (RE)Starting server %server%
"%server%.exe" -config=instance\config.cfg -port=2402 -mod=@MedicalAttention;@FIDOv_PACK_4;@SQUAD_MSF-C;@WindstridesClothingPack;@Base_Furniture_Mods_2.0;@NoVehicleDamage;@[CrSk]_BMW_525i_E34;@CrSk_GAZ-3309;@pmc_hummer;@BuildAnywhere;@BulletStacksPlusPlus;@DisableBaseDestruction;@Ear-Plugs;@Trader;@KillFeed;@CF;@ZomBerry_Admin_Tools;@ToxicZone;@VanillaPlusPlusMap;@Code_Lock;@DayZ-Expansion-Chat;@DayZ-Expansion-Notifications -profiles=instance -dologs -adminlog -netlog -freezecheck -scrAllowFileWrite

timeout 5
for /F "tokens=*" %%i in ('type "C:\gameservers\gameserver8869\status%server%.txt"') do (
if "%%i"=="start" (goto :startserver)
)
exit

Может подскажите в какую строку вставить и продолжить "-servermod="?

Поддержка к сожалению не может помочь, по тех прчинам.

вот так должно быть

@echo off

set server="gameserver8869"
cd /d "C:\gameservers\gameserver8869\serverfiles"
echo start>"C:\gameservers\gameserver8869\status%server%.txt"

:startserver
echo (RE)Starting server %server%
"%server%.exe" -config=instance\config.cfg -port=2402 "-mod=@MedicalAttention;@FIDOv_PACK_4;@SQUAD_MSF-C;@WindstridesClothingPack;@Base_Furniture_Mods_2.0;@NoVehicleDamage;@[CrSk]_BMW_525i_E34;@CrSk_GAZ-3309;@pmc_hummer;@BuildAnywhere;@BulletStacksPlusPlus;@DisableBaseDestruction;@Ear-Plugs;@Trader;@KillFeed;@CF;@ZomBerry_Admin_Tools;@ToxicZone;@VanillaPlusPlusMap;@Code_Lock;@DayZ-Expansion-Chat;@DayZ-Expansion-Notifications" "-servermod=" -profiles=instance -dologs -adminlog -netlog -freezecheck -scrAllowFileWrite

timeout 5
for /F "tokens=*" %%i in ('type "C:\gameservers\gameserver8869\status%server%.txt"') do (
if "%%i"=="start" (goto :startserver)
)
exit

ну а далее вам только вписать остается нужные папки с нужными модами

Share this post


Link to post
Share on other sites
  • 0

irkutsk38 Ошибку не выдает, просто не запускает карту, логи пустые. 

Не подходит.. Уже везде пробовал, и до и после и над.. 

Share this post


Link to post
Share on other sites
  • 0

123new Заработало, все правильно. 

Не работает мод VehicleActivityLogs. 

Он препятствовал запуску сервера. 

Заменил альтернативой. 

 

Благодарю за помощь. 

Share this post


Link to post
Share on other sites
  • 0
6 минут назад, Vladislavfaddeevich сказал:

123new Заработало, все правильно. 

Не работает мод VehicleActivityLogs. 

Он препятствовал запуску сервера. 

Заменил альтернативой. 

 

Благодарю за помощь. 

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

Share this post


Link to post
Share on other sites
  • 0

BorizzK Вот такая вот, закомментил ее щас.

Безымянный.png
Смысл в том, что при выключении сервера и процесса деконструктор класса в функции отправляет сообщение записи в лог, а в сообщении используется ссылка на текущий идентификатор машины, которая в классе уже отсутствует иногда на момент вызова, и как итог - строк на 100 флуда в крашлог со ссылкой на ту функцию. Чисто формально ни на че не влияет, но некрасиво и криво.

Share this post


Link to post
Share on other sites
  • 0

123new оно логирует как и где?

в функции проинсерченной в шедулер?

в EOnPostSimulate ?

 

У меня логгируется в конструкторе - что мол появилась

В OnContact при условии что

Мотор вырублен и при условии что с момента предыдущего контакта прошло больше 5 сек

 

и в экшансах

GetIn

GetOut

OnEngineStart
OnEngineStop

 

пихать логгирование в очереди/циклы - это о чем думают люди-то?

Edited by BorizzK (see edit history)

Share this post


Link to post
Share on other sites
  • 0

123new 

	void CarScript()
	{
		m_InitialTick = GetGame().GetTickTime();
		GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(CarInit, 1000, false);
	}

	void ~CarScript()
	{
		string car_log_msg = "CAR UNINIT: " + this;
		CarLogging(car_log_msg);
	}

	void CarInit()
	{
		c_CarUpsideDownFixAttemptMax = Math.RandomIntInclusive(3,7);
		string car_log_msg = "CAR INIT: " + this;
		CarLogging(car_log_msg);
		m_InitialTick++;
        c_CarKeysInit();
	}
	void CarLogging(string car_log_msg)
	{
		m_InitialPosition = this.GetPosition();
		m_InitialOrientation = this.GetOrientation();
		m_InitialHealth = this.GetHealth();
		GetBzServerLogClass().Save(CarLogPath + CarLogName, "CAR LOG: " + car_log_msg + ", Tick:" + GetGame().GetTickTime() + " >>> pos: " + m_InitialPosition + ", ori: " + m_InitialOrientation + ", heal: " + m_InitialHealth, true);
		
	}

 

Share this post


Link to post
Share on other sites
  • 0

BorizzK вот так там код задан

modded class CarScript
{
	PluginVehicleLogs m_VehicleLogger = PluginVehicleLogs.Cast(GetPlugin(PluginVehicleLogs));
	bool IsServerSideScript = false;
	
    void CarScript()
    {
		Print("[CarScript Debug] init modded CarScript " + GetDisplayName() + " (" + this + " - pos " + GetPosition() + ") ");
        if (GetGame().IsServer())
        {
			IsServerSideScript = true;
            GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(this.LogPosition, 3, false, true);
        }
    }

	void ~CarScript()
	{
        if (IsServerSideScript)
		{
            LogPosition(false);
		}
	}

    void LogPosition(bool init)
    {
		string msg = "initialized";
		if (!init)
			msg = "saved";

        PluginVehicleLogs m_VehicleLogger = PluginVehicleLogs.Cast(GetPlugin(PluginVehicleLogs));
        m_VehicleLogger.Log(GetDisplayName() + " (" + this + " - pos " + GetPosition() + ") " + msg);
		Print("[CarScript Debug] bool " + init.ToString() + " " + GetDisplayName() + " (" + this + " - pos " + GetPosition() + ") " + msg);
    }
}

при деконструкции вызывается функция логирования с запросом инфы из класса, и в 25% случаев он ругается именно на

m_VehicleLogger.Log(GetDisplayName() + " (" + this + " - pos " + GetPosition() + ") " + msg);
		Print("[CarScript Debug] bool " + init.ToString() + " " + GetDisplayName() + " (" + this + " - pos " + GetPosition() + ") " + msg);

как оказалось - this равно null в некоторых моментах. Логирование хоть в скриптс, хоть в кастомный файл, роли не играет

Edited by 123new (see edit history)

Share this post


Link to post
Share on other sites
  • 0

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

А потом удивляются

Ооо. У меня серверный фпс ниже плинтуса

 

Share this post


Link to post
Share on other sites
  • 0

123new да нафиг нужна эта кривота с мастерской... свое написать не сильно сложней HelloWorld на бейсике )))

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.