Jump to content

moosemilker

Member
  • Posts

    38
  • Joined

  • Last visited

Posts posted by moosemilker

  1. 3 hours ago, vbawol said:

    From the sounds of it it could simply be the addition of enableSimulationGlobal false on these objects at first spawn. However that was added with 0.3.5.055 server build.

    I have commented out these lines and repacked the pbo found here:https://github.com/EpochModTeam/Epoch/blob/experimental/Server_Install_Pack/@epochhive/addons/a3_epoch_server.pbo?raw=true

    Please give this a test and let me know if that does anything.

    Thanks!

    This fixed it.  @vbawl for the win!

  2. This FPS issue is also happening on my servers...

    I logged a tracking issue here, but I see Vbawl already commented on this thread... https://github.com/EpochModTeam/Epoch/issues/328

    Since there is a chance this is an Epoch 0.3.0.4 issue + Arma 1.48 issue, how are people launching their servers?

    Let me start first... :) Granted this worked flawlessly with Epoch 0.3.0.3 + Arma 1.46:

    start /wait arma3server.exe "" "-mod=@Epoch;@EpochHive;" -profiles=%SERVER_PATH% -cfg=%SERVER_PATH%\basic.cfg -port=2542 -config=%SERVER_PATH%\config.cfg -malloc=tbbmalloc -nosplash -skipintro -world=empty
    I do use a custom memory allocator... thus the '-malloc=tbbmalloc' parameter. https://github.com/fred41/tbbmalloc_arma

    Who's next, and who has ideas? I will continue to experiment.

    Side note: I tried disabling the custom memory allocator I run, but the FPS issue remains...
  3. This FPS issue is also happening on my servers...

     

    I logged a tracking issue here, but I see Vbawl already commented on this thread... https://github.com/EpochModTeam/Epoch/issues/328

     

    Since there is a chance this is an Epoch 0.3.0.4 issue + Arma 1.48 issue, how are people launching their servers?

     

    Let me start first... :)  Granted this worked flawlessly with Epoch 0.3.0.3 + Arma 1.46:

    start /wait arma3server.exe "" "-mod=@Epoch;@EpochHive;" -profiles=%SERVER_PATH% -cfg=%SERVER_PATH%\basic.cfg -port=2542 -config=%SERVER_PATH%\config.cfg -malloc=tbbmalloc -nosplash -skipintro -world=empty

    I do use a custom memory allocator... thus the '-malloc=tbbmalloc' parameter.  https://github.com/fred41/tbbmalloc_arma

     

    Who's next, and who has ideas?  I will continue to experiment.

  4. Does anyone know how often onPlayerRespawn.sqf is called during gameplay? Players are reporting in with some serious frame drop issues with either Epoch 0.3.0.4, and/or maybe this update to onPlayerRespawn.sqf to add in the ambient sound. I have witnessed the FPS drop too first hand... Framerate sags down to as low as 6 FPS. Anyone else seeing this issue?

     

    I see this FPS issue is a major issue (not just my servers), and is tracked on this forum thread: 

  5. I've got it working, I pulled out onPlayerRespawn.sqf from the client files and added it there, then added file into the mission file

     

    I do not see an exact file named called onPlayerRespawn.sqf.  

     

    The closest one I see is: a3_epoch_code\compile\bis_functions\Respawn\fn_selectRespawnTemplate.sqf

     

    Is this the file you are referring to, or some other file?

  6. ah yes "enableEnvironment false;" this was added to test animal issues, will get it removed for next update. For now you should be able to readd this by executing 

    enableEnvironment true;
    

    in a mission file init.sqf as it should execute after the EPOCH_clientInit.sqf is called.

     

    I tried this today, putting (without quotes) 'enableEnvironment true;' at the top of my mission init.sqf, and it did not work.  Any suggestions?

  7. Any further developments here?  I am testing launching my dedicated Bornholm server with different launch parameters and so far have not found the exact magic start up recipe for a smooth FPS experience.  steam://run/107410//-noLauncher%20-mod=@AllInArmaTerrainPack;@Bornholm;@Epoch%20-connect=76.22.29.76%20-port=2312

     

    Also I have noticed, the server often hangs while loading, with the message, "Starting Epoch... Please wait!"

     

    I tried this different tbbmalloc.dll, which did seem to boost client FPS, but it did not last... https://github.com/fred41/tbbmalloc_arma

     

    One test that "blew away" the FPS quite literally is:

     - I went to the center of the main massive SW city, set a satchel charge in a barracks for 40 second detonation, ran away to a nearby tall building, ran up the stairs, mid-way through run up the stairs the satchel charge went off, the FPS dropped to like 8 or 9 and remained that way...  Can anyone else test this to verify?

     

    Man I love Bornholm, and it is a shame FPS performance is now so terrible.

  8. How do you know this?

    How do you know this?

    Because I could easily reproduce the issue any time without this script, and so could he players on my servers. All people able to reproduce the exploding help bug can no longer reproduce the issue with ScaRR's script installed.

    Thanks again, ScaRR

  9. I haven't noticed any performance issues or significant FPS drop. Haven't tested it that much but it runs and I haven't had complaints. Any suggestions / recommendations on code improvements are welcome  :)

    You could easily increase the sleep time and it should be fine and would probably be a good idea but needs testing.

     

    Thank you, ScaRR.  I will test it today.

  10. +1 - has anyone tried this yet?  

     

    Players complain often on helos exploding and I have reproduced it once out of many attempts...

     

    I suspected maybe anti-hack measures were causing the helos to explode, so I disabled the "antihack_Enabled" option in epochah.hpp, which I would like to turn back on so the Epoch admin abilities re-enable.  If "anithack_Enabled" is off, the Epoch native admin support also seems to turn off.

     

    The assumption of disabling the "antihack_Enabled" option in epochah.hpp is also incorrect, since I a helo still exploded with it turned off...

  11. This is the RPT log for 2 deaths (I 'x'ed out my ID):

     

    20:53:08 Client: Object 3:7 (type Type_90) not found.
    20:53:08 Client: Object 3:7 (type Type_91) not found.
    20:53:08 Client: Object 3:7 (type Type_388) not found.
    20:53:17 "playerDisconnected:xxxxxxxxxxxxxxxxxxxxx:Terd Fergasen"
    20:53:17 Ragdoll - loading of ragdoll source "Soldier" started.
    20:53:17 Ragdoll - loading of ragdoll source "Soldier" finished successfully.
    20:53:25 "playerConnected:xxxxxxxxxxxxxxxxxxxx:Terd Fergasen"
    20:53:26 No speaker given for Rahim Khalili
    20:53:26 Performance warning: SimpleSerialization::Write 'sjygc' is using type of ',CODE' which is not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types
    20:53:26 Performance warning: SimpleSerialization::Read 'sjygc' is using type of ,'CODE' which is not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types
    20:53:27 Speaker Male03_F not found in CfgVoiceTypes
    20:53:34 [VEMF]: AllowDamage Applied to 1 Units.
    20:54:13 "ADMIN: Created crypto device for xxxxxxxxxxxxxxxxxxx with 0 at [13326.3,14590,1.85084]"
    20:54:13 Client: Object 3:12 (type Type_91) not found.
    20:54:13 Client: Object 3:12 (type Type_90) not found.
    20:54:13 Client: Object 3:12 (type Type_388) not found.
    20:54:19 "playerDisconnected:xxxxxxxxxxxxxxxxxxxxxxxx:Terd Fergasen"
    20:54:24 "playerConnected:xxxxxxxxxxxxxxxxxxxxxxxxx:Terd Fergasen"
    20:54:30 "A3EAI Monitor: Uptime: 0:7:7. FPS: 40.201. Active AI Groups: 9. Respawn Queue: 1 groups. HC Connected: false."
    20:54:30 "A3EAI Monitor: Static Spawns: 1. Dynamic Spawns: 0. Random Spawns: 14. Air Patrols: 1. Land Patrols: 7."
    20:54:56 No speaker given for Majeed Amin
    20:54:56 Performance warning: SimpleSerialization::Write 'sjygc' is using type of ',CODE' which is not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types
    20:54:56 Performance warning: SimpleSerialization::Read 'sjygc' is using type of ,'CODE' which is not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types
    20:54:56 Speaker Male03_F not found in CfgVoiceTypes
     
     
    ---
     
    The 3 lines with the following are weird...
     
    20:53:08 Client: Object 3:7 (type Type_90) not found.
    20:53:08 Client: Object 3:7 (type Type_91) not found.
    20:53:08 Client: Object 3:7 (type Type_388) not found.
  12. Hey, I have written a little script to deal with this issue until BI resolves it.

     

    It is not perfect but works. The installation and configuration information is in the script.

     

    Short description

     

        The damage is only disabled when the following conditions are true:

            - Player gets in pilot seat

            - AND The rope is attached to an object

            - AND the Taru's altitude is greater than _altitudeDisable

            - AND (

                    the Taru's pitch is greater than the angle parameter or smaller than the angle parameter * -1

                    OR the Taru's bank is greater than the angle parameter or smaller than the angle parameter * -1

            )

        Damage is re-enabled when the Taru is hit by bullets or projectiles

     

     

     OX3_Taru_SL_ATRQ_Lock.sqf

    /*
    	File: OX3_Taru_SL_ATRQ_Lock.sqf
    	Author: ScaRR
    	Date Created: 2 May 2015
    	Date Updated: 4 May 2015
    	Description: This is an attempt to fix the issue where the Taru's VRotor is damaged while lifting.
    	This script could possibly be optimised a bit more. 
    	The damage is only disabled when the following conditions are true:
    		- Player gets in pilot seat 
    		- AND The rope is attached to an object
    		- AND the Taru's altitude is greater than _altitudeDisable
    		- AND (
    				the Taru's pitch is greater than the angle parameter or smaller than the angle parameter * -1 
    				OR the Taru's bank is greater than the angle parameter or smaller than the angle parameter * -1 
    		)
    	Damage is re-enabled when the Taru is hit by bullets
    	BE filters:
    		scripts.txt
    			on the allowDamage line append  !="_vHeli allowDamage false;" !="_vHeli allowDamage true"; !="_x allowDamage _allow;"
    			on the addEvenHandler line append the following filters:
    				!="_x addEventHandler [\"GetIn\", {_this call fn_HandleGetIn;}];" 
    				!="_x addEventHandler ["\GetOut\", {_this call fn_HandleGetOut;}];" 
    				!="_x addEventHandler [\"RopeAttach\", {_this call fn_HandleRopeAttach;}];"	
    				!="_x addEventHandler ["\RopeBreak\", {_this call fn_HandleRopeDetach;}];"
    				!="[] execVM \"scripts\OX3_Taru_SL_ATRQ_Lock.sqf\";"
    			on the allMissionObjects line append:
    				!="forEach  allMissionObjects \"O_Heli_Transport_04_F\",\"O_Heli_Transport_04_black_F\",\"O_Heli_Transport_04_EPOCH\";"
    		setvariable.txt
    			append !="RopeAttached" !="DriverIn" !="added_EHSL" !="SLHintState"
    	Installation:
    		Copy into your scripts folder, add this line to your init.sqf,  	[] execVM \"scripts\OX3_Taru_SL_ATRQ_Lock.sqf";
    	Configuration:
    		Change the _angle and _altitudeDisable to your liking in the fn_HandleSlVRotorDamage function
    		Setting _showLight = true will turn on the heli's collision lights when protected and off when not
    		Setting _showHint = true will display hints regarding the heli's protection status
    	PLEASE KEEP CREDITS - THEY ARE DUE TO THOSE WHO PUT IN THE EFFORT!	
    */
    
    if(!isServer) exitWith {};
    
    
    fn_HandleHit = {
    	private ["_this","_vHeli"];
    	_vHeli = _this select 0;
    	_vHeli allowDamage true;
    };
    
    fn_HandleRopeAttach = {
    	private ["_this","_vHeli","_pilotIn"];
    	_vHeli = _this select 0;
    	_vHeli setVariable ["RopeAttached",true];
    	_pilotIn = _vHeli getVariable "DriverIn";
    		
    	if(_pilotIn) then{
    		_vHeli allowDamage false;
    	};
    };
    
    fn_HandleRopeDetach = {
    	private ["_this","_vHeli"];
    	_vHeli = _this select 0;
    	_vHeli setVariable ["RopeAttached",false];
    	_vHeli setVariable ["SLHintState",0];
    	_vHeli allowDamage true;
    };
    
    fn_HandleGetIn = {
    	private ["_this","_vHeli","_pos"];
    
    	_vHeli = _this select 0;
    	_pos = _this select 1;
    	
    	if(_pos == "driver") then {
    		_vHeli setVariable ["DriverIn",true];
    		_vHeli setVariable ["SLHintState",0];
    	};	
    };
    
    fn_HandleGetOut = {
    	private ["_this","_vHeli","_pos"];
    	_vHeli = _this select 0;
    	_pos = _this select 1;
    	if(_pos == "driver") then {
    		_vHeli setVariable ["DriverIn",false];
    		_vHeli setVariable ["SLHintState",0];
    	};	
    };
    
    
    fn_HandleSlVRotorDamage = {
    		private ["_this","_vHeli","_driverIn","_slingLoad","_pitch","_bank","_pitched","_angle","_allowDamage","_showHint","_hintState","_altitudeDisable","_aboveAlt","_showLight"];
    
    		//Configurable option
    		_angle = 3; //set the angle to your liking
    		_showHint = true; //set to false to disable hint
    		_altitudeDisable = 15; // altitude in meters below which protection is disabled
    		_showLight = true; // turn collision lights on when protected  or off when not
    				
    		_vHeli = _this;
    		
    		_driverIn = _vHeli getVariable ["DriverIn",false];
    		_slingLoad = _vHeli getVariable ["RopeAttached",false];
    		_hintState = _vHeli getVariable ["SLHintState",0];
    		
    		_pitch = _vHeli call BIS_fnc_getPitchBank select 0;
    		_bank = _vHeli call BIS_fnc_getPitchBank select 1;
    		_pitched = false;
    		_allowDamage = true;
    		
    		if((getPos _vHeli select 2) > _altitudeDisable) then {_aboveAlt=true;} else {_aboveAlt=false;};
    		
    		if(_driverIn && _slingLoad && _aboveAlt) then {
    			if(_pitch > _angle || _pitch < (-1 *_angle)) then {
    				_pitched = true;
    			};
    			if(_bank > _angle || _bank < (-1 * _angle)) then {
    				_pitched = true; 
    			};
    			_allowDamage = !_pitched;
    			
    			if(!_pitched) then {_showHint};
    			
    			if(_showHint) then {
    				if(_pitched && (_hintState != 1)) then {
    					hint "ATRQ slingload lock engaged";	
    					_hintState = 1;
    				};
    				
    				if(!_pitched && (_hintState != 2)) then{
    					hint "ATRQ slingload lock dis-engaged";	
    					_hintState = 2;
    				};
    			};	
    			
    			if(_showLight) then {
    				_vHeli setCollisionLight _pitched;
    			};
    			
    		}
    		else{
    			
    			if(!_aboveAlt && _driverIn && _slingLoad ) then {
    				if(_hintState != 2) then {hint "ATRQ slingload lock dis-engaged";};
    				if(_showLight) then {
    					_vHeli setCollisionLight false;
    				};
    			};
    			_hintState = 0;
    		};
    		
    			
    		_vHeli setVariable ["SLHintState",_hintState];
    		
    		_allowDamage
    		
    };
    
    diag_log "OX3 - Taru slingload protection script loaded";
    while {true} do 
    {
    
    	{
    		if (!(_x getVariable ["added_EHSL",false])) then {
    			
    			_x addEventHandler ["GetIn", {_this call fn_HandleGetIn;}];
    			_x addEventHandler ["GetOut", {_this call fn_HandleGetOut;}];
    			_x addEventHandler ["RopeAttach", {_this call fn_HandleRopeAttach;}];
    			_x addEventHandler ["RopeBreak", {_this call fn_HandleRopeDetach;}];
    			_x setVariable ["added_EHSL",true];
    		 };
    		
    		_allow = _x call fn_HandleSlVRotorDamage;
    		_x allowDamage _allow;
    		
    	}forEach  allMissionObjects "O_Heli_Transport_04_F","O_Heli_Transport_04_black_F","O_Heli_Transport_04_EPOCH";
    	
    	uiSleep 1;
    
    };  

     

    Updated - added the option to turn on the collision lights when the ATRQ lock is enabled and added the Epoch version of the Taru to the helis to check and updated the BE filter in the description

     

    I tested this script today.  With this script I still blew up while getting into the pilot seat twice.

  13. wow nice share! anyone tried this yet?

     

    +1 - has anyone tried this yet?  

     

    Players complain often on helos exploding and I have reproduced it once out of many attempts...

     

    I suspected maybe anti-hack measures were causing the helos to explode, so I disabled the "antihack_Enabled" option in epochah.hpp, which I would like to turn back on so the Epoch admin abilities re-enable.  If "anithack_Enabled" is off, the Epoch native admin support also seems to turn off.

  14. I have this exact same issue. I think it's because the spawn traders are static set, not dynamically created by the server. I've noticed all dynamically created traders have the proper inventory as defined in epochconfig.hpp, but any trader that is set in "@epochhive/a3_epoch_server_settings.pbo/configs/maps/[mapname].h" will not have the defined inventory.

     

    TL:DR = Black dot traders will not have the pre-defined inventory, brown dot traders will.

     

    +1 to what mimic has listed here...

     

    This really should be fixed on the Epoch mod dev side to fill all traders regardless of trader type (black dot, brown dot, or orange dot) to have what is defined in the starterTraderItems[] array.  It is not sustainable for admins to back fill the trader types that do not receive this array at server start.

  15. Is this the setting you are referring to?

     

    antihack_ahInitAuthCfg[] = {0,90}; // 0 == BAN - 1 = LOG, 60 = ban or log if anti hack is not started in 90 seconds
     
    Does this read "-1" or "1" as the option  to log only?
  16. LOL. Message heard loud and clear... The community uses this as a "user voice" to provide community feedback on new bugs when they are reported. Got. It. *man hug*

    For people that are not aware of this method of shooting down some random person raising an issue to the dev team as a bug (the 'that's unrealistic' comment), there is room for miscommunication of the intention of your feedback between the bug logger and the guy complaining to the bug logger...

    A smarter way to report bugs and simultaneously provide user feedback would be to vote up a target bug only. That way only the most desired bug fixes by the community float to the surface and the least desired bugs would remain on the backlog.

    That said, I don't care if this particular bug gets prioritized, or is ever fixed. I can experiment by working around this issue and set the inventory quantity to the highest value that does not clip the trader UI.

    GG.

  17. You're unrealistic. ;-)

    It's to avoid refilling the traders. I don't want to refill them and I always want them to have stock of these items.

    Also... WTF is up with the community commenting on a real bug in the software. I have logged issues here before (for the dev team) and undoubtedly some community member jumps in with an irrelevant comment. Silly.

  18. Trader inventory UI glitching: 10,000 stock of 1 item causes the UI to glitch, including not showing the item cost

     

    Repro:

    1. Delete all traders in Redis server instance OR MANUALLY edit traders' inventory to items listed in step #2
      1. Manual edit all traders' inventory: [DB instance] -> AI_ITEMS -> [instance ID] -> Edit value for: AI_ITEMS:[instance ID]:[Trader ID]
    2. @EpochHive -> epochconfig.hpp -> change 'starterTraderItems[]' to:
      1.  
        starterTraderItems[] = { { "ebike_epoch","mosquito_epoch", "CinderBlocks", "MortarBucket", "ItemScraps", "ItemCorrugated", "ItemCorrugatedLg", "PartPlankPack", "WoodLog_EPOCH", "KitStudWall", "KitWoodFloor", "KitWoodStairs", "KitWoodRamp", "KitFirePlace", "KitTiPi", "KitShelf", "KitFoundation", "JackKit", "KitPlotPole", "KitCinderWall", "FirstAidKit", "VehicleRepair" },{ 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000 } };
    3. Save file
    4. Start server
    5. Find a trader
    6. View Shop
    7. Click on one of the items listed in Step #2

    Result: UI glitch view of '10000' and no price listed due to this UI clipping issue.

     

    Expected: Ability to handle 10000 inventory of an item, or published limitation of traders' "max inventory" value

×
×
  • Create New...