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
Dimp

Краш сервера при броске предметов

Всем доброго времени суток  Я совсем недавно занялся серверостроением так сказать😅

и возможно туплю сказочно 😜

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

Записал видео для наглядности Видео

---------------------------------------------
Log C:\DAYZM RP\DayZServer\profiles\crash_2024-11-24_17-07-16.log started at 24.11. 17:07:34



------------------------------------
DESKTOP-O04CQ98, 24.11 2024 17:07:34
[::GetData] :: [ERROR] :: Cannot load data from "$mission:cfgeffectarea.json":
JSON ERROR:
Missing a comma or ']' after an array element.
Function: 'GetData'
Stack trace:
scripts/4_World/classes\contaminatedarea\contaminatedarealoader.c:106
scripts/4_World/classes\contaminatedarea\contaminatedarealoader.c:28
scripts/5_Mission/mission\missionserver.c:91
DabsFramework/scripts/5_Mission/dabsframework\mission\missionserver.c:7
DayZServerManager/Scripts/5_Mission/dayzservermanager\game\dayzservermanagerwatcher.c:1072
EditorLoader/scripts/5_Mission/editorloader\mission\missionserver.c:66
JM/CF/Scripts/5_Mission/communityframework\mission\missionserver.c:34
VPPAdminTools/5_Mission/vppadmintools\missionserver.c:12

Runtime mode
CLI params: config serverDZ.cfg port 2302 profiles profiles mod @CF;@Dabs-Framework;@VPPAdminTools;@VPPAdminTools-RU-Translate;@STALKER-NewHorizon-ChernobylZone;@STALKER-NewHorizon-Objects;@XZone-STALKER-Mutants;@Stalker-Anomaly-Detectors-Free;@DayZ-Editor-Loader;@TraderPlus;@Harks-TraderPlus-Stalker-HUD;@STALKER-Equipment;@DEAD-AIR-Weapon-pack-STALKER-Air-DevTeam;@Survivor-name-changer;@MoreDoors;@Pristine-Repair;@Custom-animations;@BuildAnywhere_v3;@Extrateres-Shevrons;@Code-Lock;@CacheSpawner;@STALKER-ShronyTayniki-StashCache;@LIGHTS;@Syndicate-Items-Pack;@NoPaperLitter;@AmmoStackBullet;@STALKER-Sounds servermod @DayZServerManager;@ServerMods;@NoPaperLitter;@AmmoStackBullet adminlog  dologs  freezecheck  scrAllowFileWrite  scriptDebug  


------------------------------------
DESKTOP-O04CQ98, 24.11 2024 17:14:25
[ScriptCallQueue::Call] :: [ERROR] :: Incompatible parameter at index '2' for UnknownFoodCan::RemoveChild, expected 'bool', got 'void'
Class:      'HandActionThrow'
Function: 'CallLater'
Stack trace:
StalkerAnomaly_Activator/scripts/3_Game/handactionthrow.c:20
scripts/3_Game/systems\hfsmbase.c:543
scripts/3_Game/systems\hfsmbase.c:580
scripts/3_Game/systems\hfsmbase.c:426
scripts/3_Game/systems\inventory\humaninventorywithfsm.c:99
scripts/4_World/systems\inventory\dayzplayerinventory.c:1202
scripts/4_World/systems\inventory\dayzplayerinventory.c:1604
scripts/4_World/systems\inventory\dayzplayerinventory.c:687

Runtime mode
CLI params: config serverDZ.cfg port 2302 profiles profiles mod @CF;@Dabs-Framework;@VPPAdminTools;@VPPAdminTools-RU-Translate;@STALKER-NewHorizon-ChernobylZone;@STALKER-NewHorizon-Objects;@XZone-STALKER-Mutants;@Stalker-Anomaly-Detectors-Free;@DayZ-Editor-Loader;@TraderPlus;@Harks-TraderPlus-Stalker-HUD;@STALKER-Equipment;@DEAD-AIR-Weapon-pack-STALKER-Air-DevTeam;@Survivor-name-changer;@MoreDoors;@Pristine-Repair;@Custom-animations;@BuildAnywhere_v3;@Extrateres-Shevrons;@Code-Lock;@CacheSpawner;@STALKER-ShronyTayniki-StashCache;@LIGHTS;@Syndicate-Items-Pack;@NoPaperLitter;@AmmoStackBullet;@STALKER-Sounds servermod @DayZServerManager;@ServerMods;@NoPaperLitter;@AmmoStackBullet adminlog  dologs  freezecheck  scrAllowFileWrite  scriptDebug  


------------------------------------
DESKTOP-O04CQ98, 24.11 2024 17:14:26
Unhandled exception

Program: C:\DAYZM RP\DayZServer\DayZServer_x64.exe
Reason: Access violation. Illegal read by 0x7ff6b2c7e795 at 0x0

SymGetSymFromAddr:487, addr:0x7ff6b2c7e795
SymGetSymFromAddr:487, addr:0x7ff6b2c7fbeb
SymGetSymFromAddr:487, addr:0x7ff6b2c5f203
SymGetSymFromAddr:487, addr:0x7ff6b2c5f754
SymGetSymFromAddr:487, addr:0x7ff6b2c5ef41
SymGetSymFromAddr:487, addr:0x7ff6b2c5a766
SymGetSymFromAddr:487, addr:0x7ff6b2c1da59
SymGetSymFromAddr:487, addr:0x7ff6b2c1dcbd
[CDPCreateServer]: ??? addr:0x7ff6b304b185
[CDPCreateServer]: ??? addr:0x7ff6b3062229
[CDPCreateServer]: ??? addr:0x7ff6b30620dd
[CDPCreateServer]: ??? addr:0x7ff6b30627a8
[CDPCreateServer]: ??? addr:0x7ff6b3061bd5
[CDPCreateServer]: ??? addr:0x7ff6b30613ee
[CDPCreateServer]: ??? addr:0x7ff6b31c13b6
[CDPCreateServer]: ??? addr:0x7ff6b31b8554
[CDPCreateServer]: ??? addr:0x7ff6b31baa59
SymGetSymFromAddr:487, addr:0x7ff6b2c0c17d
[CDPCreateServer]: ??? addr:0x7ff6b31c2676
SymGetSymFromAddr:487, addr:0x7ff6b2d2667b
[CDPCreateServer]: ??? addr:0x7ff6b3312622
[BaseThreadInitThunk]: ??? addr:0x7ffb4c3e7ac4
[RtlUserThreadStart]: ??? addr:0x7ffb4e39a8c1
[RtlUserThreadStart]: ??? addr:0x7ffb4e39a8c1



Runtime mode
CLI params: config serverDZ.cfg port 2302 profiles profiles mod @CF;@Dabs-Framework;@VPPAdminTools;@VPPAdminTools-RU-Translate;@STALKER-NewHorizon-ChernobylZone;@STALKER-NewHorizon-Objects;@XZone-STALKER-Mutants;@Stalker-Anomaly-Detectors-Free;@DayZ-Editor-Loader;@TraderPlus;@Harks-TraderPlus-Stalker-HUD;@STALKER-Equipment;@DEAD-AIR-Weapon-pack-STALKER-Air-DevTeam;@Survivor-name-changer;@MoreDoors;@Pristine-Repair;@Custom-animations;@BuildAnywhere_v3;@Extrateres-Shevrons;@Code-Lock;@CacheSpawner;@STALKER-ShronyTayniki-StashCache;@LIGHTS;@Syndicate-Items-Pack;@NoPaperLitter;@AmmoStackBullet;@STALKER-Sounds servermod @DayZServerManager;@ServerMods;@NoPaperLitter;@AmmoStackBullet adminlog  dologs  freezecheck  scrAllowFileWrite  scriptDebug  

 

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Отбой разобрался .... Конфликт модов !

Anomaly-Detectors-FREE 

Share this post


Link to post
Share on other sites



  • 0

А с чем конфликтовал то этот мод? Мне кажется там не конфликт, а ошибка в моде.

 

                    //Object m_AnomalyActivator = GetGame().CreateObjectEx("AnomalyActivator", item.GetPosition(), ECE_LOCAL);
                    //item.AddChild(m_AnomalyActivator, -1, true);
                    //GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(item.RemoveChild, 5*1000, false, m_AnomalyActivator);
                    //GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GetGame().ObjectDelete, 6*1000, false, m_AnomalyActivator);

 

Вот этот кусок почему-то крашит сервер...

 

Вот полностью:

modded class HandActionThrow
{
	override void Action (HandEventBase e)
	{
		hndDebugPrint("[hndfsm] " + Object.GetDebugName(e.m_Player) + " STS=" + e.m_Player.GetSimulationTimeStamp() + " action=throw");
		HandEventThrow throwEvent = HandEventThrow.Cast(e);

		GameInventory.LocationSyncMoveEntity(e.GetSrc(), e.GetDst());

		DayZPlayer player = DayZPlayer.Cast(e.m_Player);
		if ( player.GetInstanceType() != DayZPlayerInstanceType.INSTANCETYPE_REMOTE )
		{
			InventoryItem item = InventoryItem.Cast(e.GetSrcEntity());
			if( item )
            {
                //if ( item.IsKindOf("My_Item_Name") || item.IsKindOf("My_Item_Name2") )
                //{
					//Object m_AnomalyActivator = GetGame().CreateObjectEx("AnomalyActivator", item.GetPosition(), ECE_LOCAL);
					//item.AddChild(m_AnomalyActivator, -1, true);
					//GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(item.RemoveChild, 5*1000, false, m_AnomalyActivator);
					//GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GetGame().ObjectDelete, 6*1000, false, m_AnomalyActivator);
                //}
				item.ThrowPhysically(player, throwEvent.GetForce());
            }
			else
				Error("[hndfsm] HandActionThrow - src entity null!");
		}
		player.OnItemInHandsChanged();
	}
};

Если раскомменировать данный кусок, то при броске как раз будет эта ошибка: [ERROR] :: Incompatible parameter at index '2' for UnknownFoodCan::RemoveChild, expected 'bool', got 'void'

 

Даже если закомментировать не весь кусок, а только этот:

					//GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(item.RemoveChild, 5*1000, false, m_AnomalyActivator);
					//GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GetGame().ObjectDelete, 6*1000, false, m_AnomalyActivator);

всё равно происходит краш, но в логах уже пишет:

 

Unhandled exception

Program: F:\SteamLibrary\steamapps\common\DayZServer_Pripyat\DayZServer_x64.exe
Reason: Access violation. Illegal read by 0x7ff631e4e795 at 0x0

Данный кусок кода отвечает за активацию аномалии каким нибудь предметом. 

Может быть всё таки кто знает, что тут не так? Тоже уже голову сломал...

 

Edited by Saybrax (see edit history)

Share this post


Link to post
Share on other sites
  • 0

@Saybrax 
Object m_AnomalyActivator - локальная переменная в контексте метода Action
после завершения она уже не ссылается на обьект
самый простой способ это вынести в статичискую переменную
и молиться что бы кто-то не сделает это же действие паралельно)))

но лучше завести хелпера или хранить переменную на AnomalyActivator внутри предмета

вторая возможная причина, если вдруг ссылка на обьект всё таки проходит и я не прав
возможно ты пытаешься удалить обьект у которого еще активна физика
нужно или как-то дождаться что физикаа звыершилась или вырубить её перед удалением

проверь не переопределяет ли какой-нибудь мод метод ThrowPhysically
а-то на ваниле как-то же вот этот код работает без проблем

class HandActionThrow extends HandActionBase
{
	override void Action (HandEventBase e)
	{
		#ifdef ENABLE_LOGGING
		if ( LogManager.IsInventoryHFSMLogEnable() )
		{	
			Debug.InventoryHFSMLog("Action - STS = " + e.m_Player.GetSimulationTimeStamp(), e.ToString() , "n/a", "HandActionThrow", e.m_Player.ToString() );
		}
		#endif
		HandEventThrow throwEvent = HandEventThrow.Cast(e);

		GameInventory.LocationSyncMoveEntity(e.GetSrc(), e.GetDst());

		DayZPlayer player = DayZPlayer.Cast(e.m_Player);
		if ( player.GetInstanceType() != DayZPlayerInstanceType.INSTANCETYPE_REMOTE )
		{
			InventoryItem item = InventoryItem.Cast(e.GetSrcEntity());
			if( item )
				item.ThrowPhysically(player, throwEvent.GetForce());
			else
				Error("[hndfsm] HandActionThrow - src entity null!");
		}

		player.OnItemInHandsChanged();
	}
};



 

Edited by Archon7th (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Я просто отключил PBO AnomalyActivator  в папке Servermods . Ну и крашить сервер перестало соответственно . пока оставил так 😃

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.