Jump to content

Clients Can Hear Sound & Move But Stuck On Loading?


Stoney

Recommended Posts

I don't seem to have this particular problem on my Chernarus server. Could it be that it happens to servers who don't run default Epoch maps? (I.e Napf, Saurland etc?). I only have players getting stuck on authentication, but i have had no reports of this error as of yet.

Link to comment
Share on other sites

Getting this in client rpt with -showScriptErrors enabled

Error in expression <ep_ct = _wpnstate select 0;
_cammo_ct = _wpnstate_ct select 4;
_log4 = format['%>
  Error position: <_wpnstate_ct select 4;
_log4 = format['%>
  Error Undefined variable in expression: _wpnstate_ct

Might be related as it's regarding weapon state. There's no filename where this error is originating from but it's not in my mission file or server pbo.

Link to comment
Share on other sites

I have been testing on a vanilla epoch server and have isolotaed the problem to player_monitor.fsm is not executing endLoadingScreen;  like it should be on 2nd logins.  My fsm skills are light but I am trying to see if I can figure out why it is getting hung up there.  The init.sqf is stopping executing at that point and the way I can tell is I placed

 

endLoadingScreen;

if (!isDedicated) then {
    //Conduct map operations
    0 fadeSound 0;
    waitUntil {!isNil "dayz_loadScreenMsg"};
    dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");
    
    //Run the player monitor
    _id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];
    _playerMonitor =     [] execVM "player_monitor.sqf";    
    
    //anti Hack
    [] execVM "\z\addons\dayz_code\system\antihack.sqf";

    //Lights
    //[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
    
};
 

The game lets me in but it is not executing the code after that block on 2nd and beyond logins.  If I place it here it hangs on 2nd and beyond logins.

 

if (!isDedicated) then {
    //Conduct map operations
    0 fadeSound 0;
    waitUntil {!isNil "dayz_loadScreenMsg"};
    dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");
    
    //Run the player monitor
    _id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];
    _playerMonitor =     [] execVM "player_monitor.sqf";    
    
    //anti Hack
    [] execVM "\z\addons\dayz_code\system\antihack.sqf";

    //Lights
    //[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
    
};
endLoadingScreen;

 

If someone who understands fsm well could look at it and offer any sugesstions.

Link to comment
Share on other sites

I have been testing on a vanilla epoch server and have isolotaed the problem to player_monitor.fsm is not executing endLoadingScreen;  like it should be on 2nd logins.  My fsm skills are light but I am trying to see if I can figure out why it is getting hung up there.  The init.sqf is stopping executing at that point and the way I can tell is I placed

 

endLoadingScreen;

if (!isDedicated) then {

    //Conduct map operations

    0 fadeSound 0;

    waitUntil {!isNil "dayz_loadScreenMsg"};

    dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");

    

    //Run the player monitor

    _id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];

    _playerMonitor =     [] execVM "player_monitor.sqf";    

    

    //anti Hack

    [] execVM "\z\addons\dayz_code\system\antihack.sqf";

    //Lights

    //[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";

    

};

 

The game lets me in but it is not executing the code after that block on 2nd and beyond logins.  If I place it here it hangs on 2nd and beyond logins.

 

if (!isDedicated) then {

    //Conduct map operations

    0 fadeSound 0;

    waitUntil {!isNil "dayz_loadScreenMsg"};

    dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");

    

    //Run the player monitor

    _id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];

    _playerMonitor =     [] execVM "player_monitor.sqf";    

    

    //anti Hack

    [] execVM "\z\addons\dayz_code\system\antihack.sqf";

    //Lights

    //[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";

    

};

endLoadingScreen;

 

If someone who understands fsm well could look at it and offer any sugesstions.

You might wanna check out https://community.bistudio.com/wiki/FSM_Editor

Link to comment
Share on other sites

Thanks to you, Piggd, I have isolated the problem, it comes from the condition between the state "Load In" and the state "Preload Display" in the FSM,

the condition is "!(isNull (findDisplay 46))" which seems to mean that the primary display is not available for now... 

 

[Gore Mode enabled]

Ok, let's shortcut this condition... boom, next state's condition is blocking too, which was something predictable (dayz_preloadFinished)

Ok (2), let's shortcut this condition... boom, I'm in game...

[Gore Mode disabled]

 

Of course this is absolutely not a solution, the goal was to check where the problem came from, and why... Now I know where it comes from, but I have no idea why (coz I don't know arma2, nor dayz/epoch, nor why BI is using literals instead of defines... :|

 

Someone knows why display "46" is null, and what condition creates it ?

Link to comment
Share on other sites

Hopefully we can get a word from one of the devs soon. I appreciate all your guys' work on this. I run a local server, compared to many others who have actual servers that players legitimately can't play on, and for that I feel sorry for you guys and hope that whoever is experiencing this bug on your server is dedicated and will continue to play on your server after you fix it. 

 

For me, I am the only person not able to reconnect. I'll post my character_data strip for myself,

5

140445766 11 2014-07-10 00:06:50 2014-07-10 15:47:23 [["ItemToolbox","ItemCompass","ItemMap","ItemMachete","ItemKnife","ItemMatchbox_DZE","UZI_SD_EP1","ItemGPS","Binocular","ItemCrowbar","ItemHatchet_DZE","NVGoggles"],["ItemBandage","ItemBandage","ItemBandage","30Rnd_9x19_UZI_SD","30Rnd_9x19_UZI_SD"]] ["DZ_ALICE_Pack_EP1",[[],[]],[["ItemBloodbag","ItemMorphine","ItemPainkiller"],[1,3,3]]] [234,[4555.04,8265.68,0.002]] [false,false,false,false,false,false,true,12000,[],[0,0],0,[1033.53,578.022]] 1 1 2014-07-10 00:06:50 2014-07-10 00:06:50 17 16 221411 51 ["","aidlpercmstpsraswpstdnon_player_idlesteady03",100,[]] 1 Camo1_DZ 0 415 0

 

Sorry if it looks horrible, but if its just playerstate then all you're looking for is this part

["","aidlpercmstpsraswpstdnon_player_idlesteady03",100,[]]

 

And here is a strip from a working friend's character 

6

143418886 11 2014-07-10 02:15:50 2014-07-10 02:15:50 [["glock17_EP1","ItemToolbox","ItemCompass","ItemMap","ItemMachete","ItemKnife","ItemMatchbox","ItemHatchet","RPK_74","ItemGPS"],["ItemBandage","ItemBandage","ItemBandage","17Rnd_9x19_glock17","17Rnd_9x19_glock17","17Rnd_9x19_glock17","17Rnd_9x19_glock17","ItemMorphine","ItemPainkiller","FoodrabbitCooked","ItemSodaCoke","ItemSodaCoke","75Rnd_545x39_RPK","FoodCanSardines","ItemBloodbag","ItemBloodbag","ItemBandage","ItemAntibiotic"]] ["DZ_Backpack_EP1",[["M4A1"],[1]],[["30Rnd_556x45_Stanag","ItemMorphine","ItemPainkiller","FoodrabbitCooked","ItemSodaCoke","ItemAntibiotic"],[2,1,2,1,2,1]]] [321,[4505.77,8268.44,8.624]] [false,true,false,false,false,false,true,11882,[],[0,0],300,[56.659,520.26]] 1 2 2014-07-10 02:15:50 2014-07-10 02:15:50 7 7 29712 44 ["RPK_74","amovpknlmstpsraswrfldnon",41,[]] 0 Survivor2_DZ 0 2575 0

 

What exactly is "playerstate"? I'm assuming its the state at which you logout at, but whats up with the mumbojumbo of letters along with the number at the end? Could I pretty much just put my weapon in the first "" and remove "_player_idlesteady03" for a temporary fix? Thanks.

Link to comment
Share on other sites

Thanks to you, Piggd, I have isolated the problem, it comes from the condition between the state "Load In" and the state "Preload Display" in the FSM,

the condition is "!(isNull (findDisplay 46))" which seems to mean that the primary display is not available for now... 

 

[Gore Mode enabled]

Ok, let's shortcut this condition... boom, next state's condition is blocking too, which was something predictable (dayz_preloadFinished)

Ok (2), let's shortcut this condition... boom, I'm in game...

[Gore Mode disabled]

 

Of course this is absolutely not a solution, the goal was to check where the problem came from, and why... Now I know where it comes from, but I have no idea why (coz I don't know arma2, nor dayz/epoch, nor why BI is using literals instead of defines... :|

 

Someone knows why display "46" is null, and what condition creates it ?

Any chance you could post the fsm?

 

Thanks in advance.

Link to comment
Share on other sites

sure, but please remember this is absolutely not an answer to this problem...

 

http://pastebin.com/rcY7429b

 

(BTW, you have to copy your player_monitor.sqf & player_monitor.fsm to your mission files, and remap links into init.sqf & player_monitor.sqf)

Thank you very much, I'll give this a try.

Link to comment
Share on other sites

sure, but please remember this is absolutely not an answer to this problem...

 

http://pastebin.com/rcY7429b

 

(BTW, you have to copy your player_monitor.sqf & player_monitor.fsm to your mission files, and remap links into init.sqf & player_monitor.sqf)

I'm probably doing something wrong, I cannot get this to work (chances are I've mapped the wrong address in the sqf).

 

Still stuck on the loading sceen...  On the plus side the counter doesn't get stuck.

Link to comment
Share on other sites

Work Around: 

 

If you add the two endLoadingScreen; statements in your init.sqf it seems to work aorund the problem.  In no way is this a fix to the real issue.  So far in development I have not seen any issues.  I be rolling this to my prod servers tonight.

 

endLoadingScreen; // Work around for 2nd Log in hang
if (!isDedicated) then {
    //Conduct map operations
    0 fadeSound 0;
    waitUntil {!isNil "dayz_loadScreenMsg"};
    dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");
    
    //Run the player monitor
    _id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];
    _playerMonitor =     [] execVM "\z\addons\dayz_code\system\player_monitor.sqf";    
    
    //anti Hack
    [] execVM "\z\addons\dayz_code\system\antihack.sqf";

    //Lights
    //[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
    
};

#include "\z\addons\dayz_code\system\REsec.sqf"

//Start Dynamic Weather
execVM "\z\addons\dayz_code\external\DynamicWeatherEffects.sqf";


#include "\z\addons\dayz_code\system\BIS_Effects\init.sqf"
endLoadingScreen; // Work around for 2nd Log in hang

Link to comment
Share on other sites

Work Around: 

 

If you add the two endLoadingScreen; statements in your init.sqf it seems to work aorund the problem.  In no way is this a fix to the real issue.  So far in development I have not seen any issues.  I be rolling this to my prod servers tonight.

 

----

If we have stuff that goes inside that box (ie epoch admin tools modifies the antihack line) would we repeat that there as well? Or would having a second one be enough?

Link to comment
Share on other sites

Pretty sure this is a Steam issue.  If I log out and close OA but leave the server up, I cannot reload OA as Steam thinks it is already running because of the server.

Link to comment
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
  • Advertisement
×
×
  • Create New...