MGT Posted July 6, 2014 Report Share Posted July 6, 2014 Testing now with setting currentstate in db to ["","",,[]] Result - not working Testing ["","",100,[]] result - not working on restart but works on relog Link to comment Share on other sites More sharing options...
Orca Posted July 6, 2014 Report Share Posted July 6, 2014 an sql even in my knowledge would only run as often as you set it, (ie: every 2 hours) but in that case you may as well just restart every 2 hours test results for myself and a few other on our server Delete current character from DB - successful respawn Log to lobby, delete currentstate in database - stuck on loading Log to lobby, set currentstate to [] - stuck on loading This works everytime for me? Edit: except when restarting the server, when setting currentstate to [[]] it doesnt work on restart but works on relog :/ [], or other value don't work for me as well, Some combination of currentstate worked in the past, but I've not found the magic word yet... Link to comment Share on other sites More sharing options...
MGT Posted July 6, 2014 Report Share Posted July 6, 2014 Testing ["","",42,[]] works on relog everytime, testing now on server restart Link to comment Share on other sites More sharing options...
Chris9183 Posted July 6, 2014 Report Share Posted July 6, 2014 Thanks for your stalwart troubleshooting MGT, awaiting your results... Link to comment Share on other sites More sharing options...
Orca Posted July 6, 2014 Report Share Posted July 6, 2014 Testing ["","",42,[]] works on relog everytime, testing now on server restart Trying it... Link to comment Share on other sites More sharing options...
MGT Posted July 6, 2014 Report Share Posted July 6, 2014 Doesn't work on restart, trying to find something that works on restart. Conclusion: It's definitely related to currentstate in the database, but no single solution works that I can find. Best solution so far, using something in the server pbo to set currentstate to ["","",42,[]] on player logout, working on this now. Only issue is that on server restart a player will need to relog to get in. There may be a solution to this that can be called via sql on server startup batch file, as regular in game current state will work on server restart most of the time. We don't have this problem on DayZ Epoch Chernarus, DayZ Epoch Panthera or DayZ Epoch Origins, it's only on DayZ OverPoch Namalsk, the strange thing is, removed Overwatch from Namalsk so it's DayZ Epoch Namalsk, wiping the database and swapping startup and mission file results in the same bug, so it's not related to OverPoch. What I will do now is try and figure out how to set player variable currentstate in DB to ["","",42,[]] so at least they can relog between restarts. Link to comment Share on other sites More sharing options...
Chris9183 Posted July 6, 2014 Report Share Posted July 6, 2014 Hey, if making players have to try logging in twice after a restart is the price to pay for a functioning server, sounds fine to me at least until the devs release an update. MGT 1 Link to comment Share on other sites More sharing options...
Orca Posted July 6, 2014 Report Share Posted July 6, 2014 Doesn't work on restart, trying to find something that works on restart. Conclusion: It's definitely related to currentstate in the database, but no single solution works that I can find. Best solution so far, using something in the server pbo to set currentstate to ["","",42,[]] on player logout, working on this now. Only issue is that on server restart a player will need to relog to get in. There may be a solution to this that can be called via sql on server startup batch file, as regular in game current state will work on server restart most of the time. We don't have this problem on DayZ Epoch Chernarus, DayZ Epoch Panthera or DayZ Epoch Origins, it's only on DayZ OverPoch Namalsk, the strange thing is, removed Overwatch from Namalsk so it's DayZ Epoch Namalsk, wiping the database and swapping startup and mission file results in the same bug, so it's not related to OverPoch. What I will do now is try and figure out how to set player variable currentstate in DB to ["","",42,[]] so at least they can relog between restarts. Indeed, I have this problem on a vanilla Napf Epoch 1.0.5.1 local server. What's strange is that writing ["","",42,[]] in currentstate doesn't work for me (whatever the value I write in it, still stuck), but I can always connect once on my server after a restart. Link to comment Share on other sites More sharing options...
MGT Posted July 6, 2014 Report Share Posted July 6, 2014 Anyone got an idea what code can be put in server_onPlayerDisconnect to set their current state on logout? I know it should have this below, but not sure of the rest and whether you would need to call server_playerSync _currentState setOne observation, on our server, if you relog and wait in the lobby at least 30 seconds you can respawn normally without the bug. Link to comment Share on other sites More sharing options...
Chris9183 Posted July 6, 2014 Report Share Posted July 6, 2014 _onPlayerconnect: bugHappen = false; That's my code lol Link to comment Share on other sites More sharing options...
Phail Posted July 6, 2014 Report Share Posted July 6, 2014 I have a few observations from looking at the server and the code. 1st observation, when you got to abort there is a second timer running behind/underneath the abort menu. What is the purpose of this? Is the server using the second timer and client is observed by the server as aborting early and messing up the Currentstate value? Has anybody that is having the issue waited for the second abort timer to count down before they abort to see if it has any effect on the Currentstate value or the ability to relog? 2nd obsevation. I have been comparing the 1.0.4.2 code to the 1.0.5.1 code and have not seen alot of major changes. They did add a line in the server_sendToClient.sqf On line 5 they added... if(isNull _unit) exitWith {diag_log format ["ERROR: sendToClient is Null: %1", _unit]}; Now IDK if the hang issue is related to this line, i have removed it but have not had time to test it with players I know have the hanging issue because of work. If anyone can test these please do and report back. MGT, i am going to try and find that code. OK MGT, server_playerSync.sqf line 168 1st edit NVM, my mistake Link to comment Share on other sites More sharing options...
bFe Posted July 7, 2014 Report Share Posted July 7, 2014 Has anyone tried with a fresh mission and server file? Link to comment Share on other sites More sharing options...
Phail Posted July 7, 2014 Report Share Posted July 7, 2014 I tried fresh everything, arma2, arma2 oa,database and still had the same issue patch 103718, 112555 and 125548 on NAPF. Link to comment Share on other sites More sharing options...
Phail Posted July 7, 2014 Report Share Posted July 7, 2014 I have made changes to the server_playerSync.sqf to try and accomplish what MGT was doing. One of the players who always hangs is having no troubles relogging with this edit but it is a WIP. Someone smarter than me is going to have to look and see if they can figure out how to save last tagged friends. I didn't try to make that work, i was just trying to get people able to relog. It will need testing with a larger player base to see if it fixed the issue. Basically what I think I have done here is bypass the _currentstate to the fix. http://pastebin.com/6Lq66WM0 Link to comment Share on other sites More sharing options...
Orca Posted July 7, 2014 Report Share Posted July 7, 2014 I apologize if I'm wrong but the code you posted seems to set unreferenced variables only (post fixed with 'fix'), only if _currentstatefix is defined, but where is it defined ? The hive_ext command which should use these variables is still using the old variables. Can you confirm that this code is the one you're using to fix players log in ? I don't know the arma script very well so don't be offended if I'm wrong :) Link to comment Share on other sites More sharing options...
Guest Posted July 7, 2014 Report Share Posted July 7, 2014 Deleted Link to comment Share on other sites More sharing options...
Phail Posted July 7, 2014 Report Share Posted July 7, 2014 I apologize if I'm wrong but the code you posted seems to set unreferenced variables only (post fixed with 'fix'), only if _currentstatefix is defined, but where is it defined ? The hive_ext command which should use these variables is still using the old variables. Can you confirm that this code is the one you're using to fix players log in ? I don't know the arma script very well so don't be offended if I'm wrong :) Honestly I don't know the code either very well. The fixes are defined the same as the originals. _currentWpn = currentMuzzle _character; _currentWpnfix = currentMuzzle _character; _currentAnim = animationState _character; _currentAnimfix = animationState _character; _temp = round(_character getVariable ["temperature",100]); _tempfix = round(_character getVariable ["temperature",42]); _currentState = [_currentWpn,_currentAnim,_temp]; <------ Original line if (_currentstatefix) then { <--------Then right after. I put this _currentWpnfix = ""; _currentAnimfix = ""; _tempfix = round(_character getVariable ["temperature",42]); }; 8:20:26 Error position: <_currentstatefix) then { _currentWpnfix > 8:20:26 Error Undefined variable in expression: _currentstatefix 8:20:26 File z\addons\dayz_server\compile\server_playerSync.sqf, line 172 But you are right, _currentstatefix is undefined and gives out errors like crazy so it is not the fix. Very strange how he was able to log in and out without issue with this broken code in place. Only other change was removing this from server_sendToClient.sqf Line 5: if(isNull _unit) exitWith {diag_log format ["ERROR: sendToClient is Null: %1", _unit]}; The really strange thing is this is the guys state when he logs out. ["M9SD","amovpercmstpslowwrfldnon_player_idlesteady01",42,[]] And mine. ["Pecheneg_DZ","aidlpercmstpsraswrfldnon_idlesteady03",42,["406"]] So the _temp is being changed. IDK what i have done here but log in and out is working fine. Maybe i am going about this all wrong. I need someone who knows what they are doing to look at it and clean it or bury it. Link to comment Share on other sites More sharing options...
Orca Posted July 7, 2014 Report Share Posted July 7, 2014 To be honest, modifying the currentstate in the DB only worked twice for me, on a fresh epoch server running napf, but after some days, whatever the changes I do in the currenstate in the DB, nothing works anymore. Link to comment Share on other sites More sharing options...
RimBlock Posted July 8, 2014 Report Share Posted July 8, 2014 I have a few observations from looking at the server and the code. 1st observation, when you got to abort there is a second timer running behind/underneath the abort menu. What is the purpose of this? Is the server using the second timer and client is observed by the server as aborting early and messing up the Currentstate value? Has anybody that is having the issue waited for the second abort timer to count down before they abort to see if it has any effect on the Currentstate value or the ability to relog? I reported this around a week ago on the Epoch Git. I have not dug deeper as I have been busy debugging my new mod version so have not been able to say if it is related or not to this login issue. Have had a bit of a browse though the thread with the work MGT and others have been doing to try and track this down. Would be great if we could get a summary of where it now seems to stand. What I have picked up from the thread is that it is believed to revolve around the currentstate DB values and changing these will mainly correct the issue apart from on server restart. What value currently is known to stop the login process completing correctly (need to know how to consistantly reporduce the issue) ?. What value seems to correct the problem (["","",42,[]] works for all but restarts) ?. I am sort of wondering if it may be a timing issue. Anyone tried to put a delay in the login sqf to pause the script for XX seconds and then continue to see if that helps ?. I have noticed the "player has no identity" type message in my own test server logs and have got this login issue now and then. I will have a look at the code now to see if anything pops out and will have a go testing tonight as well to see if I can add anything to what MGT has already discovered. Link to comment Share on other sites More sharing options...
RimBlock Posted July 8, 2014 Report Share Posted July 8, 2014 So just got the login issue. Server just started and was still loading objects from the hive. Have people been able to login fine whilst the server was still loading hive objects ?. Link to comment Share on other sites More sharing options...
MGT Posted July 8, 2014 Report Share Posted July 8, 2014 I am sort of wondering if it may be a timing issue. Anyone tried to put a delay in the login sqf to pause the script for XX seconds and then continue to see if that helps ?. I added uiSleep30; in server_playerLogin on line 6, worked a few times then hung on loading. Link to comment Share on other sites More sharing options...
RimBlock Posted July 8, 2014 Report Share Posted July 8, 2014 Current state. Before abort ["M4A1_AIM_SD_camo","amovpercmstpsraswrfldnon_gear",42,[]] After Abort ["M4A1_AIM_SD_camo","amovpercmstpsraswrfldnon_gear",42,[]] After re-login ["M4A1_AIM_SD_camo","amovpercmstpsraswrfldnon_gear",42,[]] After abort (after second abort counter counted down). ["M4A1_AIM_SD_camo","amovpercmstpsraswrfldnon_gear",42,[]] Seems when you click abort has little affect on current state. Note I didn't have any issues logging in during these tests. Link to comment Share on other sites More sharing options...
RimBlock Posted July 8, 2014 Report Share Posted July 8, 2014 I added uiSleep30; in server_playerLogin on line 6, worked a few times then hung on loading. In the server_monitor there is a variable at the bottom. allowConnection = true; Seems this is not stopping connections whilst server monitor is still loading. How about sleeping until that variable is true (check every 30 seconds or so with a "waiting for server to be ready message). Not sure where it is being set unless it is in the variables.sqf. Edit: The player_monitor.fsm also references it based on the Github search. FSM files are hard to read without the correct tool so will have to wait until I get home to take a proper look. Link to comment Share on other sites More sharing options...
Sascha Posted July 8, 2014 Report Share Posted July 8, 2014 Same problem on 2 different Testserver. Origianl 1.0.5.1 files, stuck on Loadingscreen after relogin. Hearing sound but seeing only the loadingscreen. Link to comment Share on other sites More sharing options...
bFe Posted July 9, 2014 Report Share Posted July 9, 2014 This is a server-killer indeed. Every time a player reconnects he/she gets stuck, and the only solution is to delete the character. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now