Jump to content

[WIP] Epoch Headless Client EHC v1.1 RC


david

Recommended Posts

class Item2
		{
			side="CIV";
			class Vehicles
			{
				items=1;
				class Item0
				{
					position[]={4078.8516,30.836605,4757.7241};
					id=0;
					side="CIV";
					vehicle="Survivor1_DZ";
					player="PLAYER COMMANDER";
					skill=0.60000002;
					text="HeadlessClient";
					init="this enableSimulation false; this allowDamage false";
					description="HeadlessClient";
					name="HeadlessClient";
					forceHeadlessClient=1;
				};
			};
		};

From mission.sqm for epoch zombie HC code.   The position[] is the middle of the map (this position happens to be Lingor 1.5 center).

 

init="this enableSimulation false; this allowDamage false";  <-- tells every machine that processes it (server, HC, and player clients) that they cannot hurt it AND it will be frozen (unmoving).

 

Don't remember the really neat way to make it invisible ... but I kinda like to see an indestructible civilian statue in full color in the middle of my islands.  Weirdly, only sun and moon light sources will interact with it (a side effect of "enableSImulation false").  So don't stick your HCs in the middle of roads unless you like random vehicle destruction on dark nights.

 

Goober

 

We are having to execute the playemonitor.fsm on the Headless Client or it gets kicked every couple minutes and by doing so it if spawns it as a normal player on the shore and can take damage.

 

My workaround is here. This also makes it invisible. 

 

https://github.com/TayTayTheKiller/epoch-hc/blob/1.2-Stable/hc/headless_client/HC_Protect.sqf

 

This is what it looks like in game. If you hit it with a car it just moves to the side of it.

 

https://www.youtube.com/watch?v=aajSa1V-wPc&feature=youtu.be

Link to comment
Share on other sites

Little update :)

 

After spending all day yesterday and all of today so far I have it running pretty well i have fix 99% of errors in the rpt's

zombies are controlled by the headless client, no errors related to loot and the loot spawns perfect.

 

A few issues I have seen so far..

 

Sometimes you can see zombies spawning in.

 

If the headless client goes down all the zombies disappeared until its back online.

 

Just a little bit more testing to do and then ill speak to David about knocking up a good guide as that's not really my thing being dyslexic lol

 

 I'm no expert scripter or anything so things could still be wrong  so don't go crazy and put this on your main servers right away as there could be many issues still It definitely needs testing more :)

 

Just want to say thanks to goober and David as I have had a blast playing around with this  :D  :P

Link to comment
Share on other sites

Could you stick the HC inside an unenterable buliding or under water just go get it out the way for those 1 in a million chances someone will wonder into it and get a WTF moment =p

 

That said I like the idea of sticking it on one of the plinths in town as a statue XD, can you set it to a pose =p

 

Love this idea and I'm seriously considering upgrading to a dedicated server just so I can run this.

We have "walking dead" on our server so I've been upping their numbers but to be able to have a proper horde without lagging the crap out the server...my god ^_^

Link to comment
Share on other sites

Could you stick the HC inside an unenterable buliding or under water just go get it out the way for those 1 in a million chances someone will wonder into it and get a WTF moment =p

 

That said I like the idea of sticking it on one of the plinths in town as a statue XD, can you set it to a pose =p

 

Love this idea and I'm seriously considering upgrading to a dedicated server just so I can run this.

We have "walking dead" on our server so I've been upping their numbers but to be able to have a proper horde without lagging the crap out the server...my god ^_^

 

As goober pointed out it needs to be in the center of the map as the zombies loiter in its direction. You could build him something there and make it visible haha.

After some huge confusion I started from scratch on the files again last night and there is no need to run playermonitor.fsm on it anymore.

About the slow walking zombies. I'm guessing they use a custom zombie_agen.fsm? that would also need to be edited to work with this. I haven't spent a huge deal looking at the fsm yet to see the changes But I'm sure someone could do it.

 

Edit >>>

Update from what it looks like playermonitor.fsm is needed to run on the HC or zombies are lifeless they just ignore you until u get close then they hit and go back to ignoring you

I really cant say why it doesn't work without it   :huh:

This whole little project has been driving me nuts lol

 

Edit 2 >>>>

Ok its looking like it doesn't need to be in the center of the map. I put him here.

133a7d24cb.jpg

 

And see no noticeable difference to how the zombies behave.

 

Also if the headless client Goes offline that = no zombies spawning. (restart on crash is your friend and I would advise reserving a slot for it)

Link to comment
Share on other sites

If someone knows how to start up a headless client and is willing to give this a go as it is right now then grab my current test version here

 

1. Put the folder hc in your mission.pbo

 

2. Open your missions init.sqf and replace the line

 

if (!isDedicated) then {

 

with

 

if (!isDedicated && hasInterface) then {

 

3. Add this line to the bottom of the init.sqf

 

[] execVM "hc\initHC.sqf";

 

4. Edit your battleye filters (follow the part about it on the git from the link in first post)

 

5. Read the instructions on the git about editing the mission.sqm & server.cfg etc and follow it.

 

4. Check out the settings.sqf from the hc folder

 

If you could let me know your experience with it that would be great! Please make sure it goes in the civ slot :)

 

Untested with infistar but should be fine if there is any issues with it moving to the center of the map add it as an admin to bypass tp protection lol

 

Don't forget you need to be checking 2 rpt's for errors now, the Headless clients  and the servers.. well checking the player rpt wouldn't be a bad idea also :)

Link to comment
Share on other sites

WTF is that? how about using github that doesn't have 50 links to gamble on and shits tonnes of malware. seriously mate im all for testing but I point blank refuse to use sites that intentiopnally try to get you to download gawd noes what instead of the files you want. please use something else.

Link to comment
Share on other sites

WTF is that? how about using github that doesn't have 50 links to gamble on and shits tonnes of malware. seriously mate im all for testing but I point blank refuse to use sites that intentiopnally try to get you to download gawd noes what instead of the files you want. please use something else.

because I cant be assed.

 

Also use adblock  :rolleyes:

 

Edit

ok I updated the link to a direct link for people who don't use adblock

Link to comment
Share on other sites

dunno what you have done but they are super zeds that will not die, but they will not attack either.

Odd I don't have this problem. Sounds like the playermonitor.fsm isn't running on it (the same thing happened to me when it wasn't) 

 

my init.sqf if this helps.

startLoadingScreen ["","DayZ_loadingScreen"];
cutText ["","BLACK OUT"];
enableSaving [false, false];
dayZ_instance =	1;
dayzHiveRequest = [];
initialized = false;
dayz_previousID = 0;
player setVariable ["BIS_noCoreConversations", true];
enableRadio false;
enableSentences false;
spawnShoremode = 1;
spawnArea= 1500;
MaxVehicleLimit = 300;
MaxDynamicDebris = 500;
dayz_MapArea = 14000;
dayz_maxLocalZombies = 30;
dayz_paraSpawn = false;
dayz_sellDistance_vehicle = 10;
dayz_sellDistance_boat = 30;
dayz_sellDistance_air = 40;
dayz_maxAnimals = 5;
dayz_tameDogs = true;
DynamicVehicleDamageLow = 0;
DynamicVehicleDamageHigh = 100;
DZE_BuildOnRoads = false; 
EpochEvents = [["any","any","any","any",30,"crash_spawner"],["any","any","any","any",0,"crash_spawner"],["any","any","any","any",15,"supply_drop"]];
dayz_fullMoonNights = true;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf";	
progressLoadingScreen 0.1;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";
progressLoadingScreen 0.2;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf";	
progressLoadingScreen 0.4;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf";
progressLoadingScreen 0.5;
call compile preprocessFileLineNumbers "server_traders.sqf";
progressLoadingScreen 1.0;

"filmic" setToneMappingParams [0.153, 0.357, 0.231, 0.1573, 0.011, 3.750, 6, 4]; setToneMapping "Filmic";

if (isServer) then {
	//Compile vehicle configs
	call compile preprocessFileLineNumbers "\z\addons\dayz_server\missions\DayZ_Epoch_17.Chernarus\dynamic_vehicle.sqf";				
	// Add trader citys
	_nil = [] execVM "\z\addons\dayz_server\missions\DayZ_Epoch_17.Chernarus\mission.sqf";

	_serverMonitor = 	[] execVM "\z\addons\dayz_code\system\server_monitor.sqf";
};

if (!isDedicated && hasInterface) then {

	0 fadeSound 0;
	waitUntil {!isNil "dayz_loadScreenMsg"};
	dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");
	
	_id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];
	_playerMonitor = 	[] execVM "\z\addons\dayz_code\system\player_monitor.sqf";	
	
};

	[] execVM "hc\initHC.sqf";
 

 

Edit >>>

I cant pm you :(

Link to comment
Share on other sites

What was catching me out was your init.sqf is called initHC.sqf the one on the github is just init.sqf, might help if you match file names with Davids build mate. other than that it is working like a god thank you.

I will merge it when I think it is working 100% this is just my own test build. I thought I'd post it so someone could check it out and give me feedback.

 

I found another issue now Zombies are retarded at hitting you looking into it now.

Edit >>>

 

Ok I found the issue its not related to the headless client but a problem with epoch in general it seems.

 

If your not the owner of the zombies they wont hit you properly.

I tested it out on a fresh epoch mission.pbo and server.pbo I then got my friend to run around and spawn some zombies. After I teleported to him in a car.  he got in and drove off and this is what happened with the zombies attacking me. lol 

 

https://www.youtube.com/watch?v=2ibssJb8jiQ&feature=youtu.be

Link to comment
Share on other sites

Awww! that happened to me on my Epoch and I was going nuts trying to work out what I had done wrong XD!

(This was shortly after my friend disconnected).

Glad to know it's just Epoch and not me! XD

Pinned it down to player_zombieAttack.sqf.

I just used dayz 1.8.1's file and it fixed it. It even includs the cool fall over animations that happen to you sometimes from dayzmod lol

 

As you can see Huge improvement  :)

 

https://www.youtube.com/watch?v=aoQeXf5_dUU

Link to comment
Share on other sites

As goober pointed out it needs to be in the center of the map as the zombies loiter in its direction. 

And see no noticeable difference to how the zombies behave.

 

Also if the headless client Goes offline that = no zombies spawning. (restart on crash is your friend and I would advise reserving a slot for it)

 

Center of the map is just a recommendation.  It was generally necessary in the early days of HC because Bohemia had not coded high precision into position reporting for HC controlled AI.  Basically this meant a zombie all the way across the map from the HC vehicle (body) had a lot of error information about its position and yours.  This is generally fixed, but it is still good practice to centralize the HC position.

 

zombie_agentHC.fsm needs to be included in the package or you will get zeds all loitering towards the HC.  I reworked parts of it so that they loiter around their last target position instead of the player client that controls them.  It may not be very noticeable, but part of what makes DayZ special is that even the unalerted zeds slowly creep towards players, so you can't just sit still forever.

 

Goober

Link to comment
Share on other sites

Center of the map is just a recommendation.  It was generally necessary in the early days of HC because Bohemia had not coded high precision into position reporting for HC controlled AI.  Basically this meant a zombie all the way across the map from the HC vehicle (body) had a lot of error information about its position and yours.  This is generally fixed, but it is still good practice to centralize the HC position.

 

zombie_agentHC.fsm needs to be included in the package or you will get zeds all loitering towards the HC.  I reworked parts of it so that they loiter around their last target position instead of the player client that controls them.  It may not be very noticeable, but part of what makes DayZ special is that even the unalerted zeds slowly creep towards players, so you can't just sit still forever.

 

Goober

I decided to keep it at the center of the map its just easier for using on different maps and stuff. I'm using your modded fsm and the version I knocked up now is pretty much 100% working with no issues :D

Link to comment
Share on other sites

I'm getting this error when the HC tries to load in.

 

"z/addons/dayz_code/system/ca/functions/init.sqf" not found

 

However, when launching as a normal client, it loads in just fine.

Where are you seeing this error to. In the servers rpt or the HC rpt?

i just checked out my logs and cant see an error looking like this? Also what version are you running the one from the git (that's broke) or the zip I posted a few posts back? Are you sure you got epoch loading up for the headless client also?

 

For me my current version its working as it should and with 0 errors.

I'm running a totally stock server.pbo & mission.pbo + ah (not infistars) and running overpoch I cant really support running this with extra mods as I don't have the time.

I may update the git with my current version tomorrow, but David is away for a week and I don't feel comfortable pushing all these updates to his project without him checking everything out.

 

Edit>

 

Also to speed things up it would be great to post the servers rpt, the headless clients rpt and also your own player rpt if you have any errors

Link to comment
Share on other sites

it's because the info on github tells you to add [] execVM "hc\init.sqf"; but TayTayThekiller's build has initHC.sqf, just change the [] execVM "hc\init.sqf"; in your init.sfq in the mission file to [] execVM "hc\initHC.sqf";

Link to comment
Share on other sites

Ok TayTay after testing your build since you uploaded it, I have a few issues with it. 

 

After running for about 2 hours the zeds start to spawn in fewer numbers till they are at vanilla or less. They also start to lag, i.e. you can shoot them six times and they keep coming, then suddenly the first shot registers and kills it 10 seconds later.

 

Also they keep spawning directly in front of players. e.g. you arrive at the NE airfield, and there are no zeds. you get out your vehicle and then suddenly 40 spawn at various distances around you from 5m to 300m.

Link to comment
Share on other sites

Where are you seeing this error to. In the servers rpt or the HC rpt?

i just checked out my logs and cant see an error looking like this? Also what version are you running the one from the git (that's broke) or the zip I posted a few posts back? Are you sure you got epoch loading up for the headless client also?

 

For me my current version its working as it should and with 0 errors.

I'm running a totally stock server.pbo & mission.pbo + ah (not infistars) and running overpoch I cant really support running this with extra mods as I don't have the time.

I may update the git with my current version tomorrow, but David is away for a week and I don't feel comfortable pushing all these updates to his project without him checking everything out.

 

Edit>

 

Also to speed things up it would be great to post the servers rpt, the headless clients rpt and also your own player rpt if you have any errors

I'm seeing this error as a pop up on the HC client, and then the client closes upon clicking ok.

 

This is what is shown in the HC rpt.

"ErrorMessage: Include file z\addons\dayz_code\system\ca\functions\init.sqf not found."

 

I'm also running overpoch. I can load in with the same files normally as a normal playing client. However when switching to a headless client, it keeps crashing on this error. The HC slots in correctly and the only thing preventing it from doing anything is this annoying error.

 

Update:

Ok, it would seem it has something to do with my startup bat file.. Launching headless client through dayzcommander works just fine, although the zombie spawning isn't off-loaded to the HC. WIll continue further testing.

Link to comment
Share on other sites

Ok TayTay after testing your build since you uploaded it, I have a few issues with it. 

 

After running for about 2 hours the zeds start to spawn in fewer numbers till they are at vanilla or less. They also start to lag, i.e. you can shoot them six times and they keep coming, then suddenly the first shot registers and kills it 10 seconds later.

 

Also they keep spawning directly in front of players. e.g. you arrive at the NE airfield, and there are no zeds. you get out your vehicle and then suddenly 40 spawn at various distances around you from 5m to 300m.

Yeah I have seen the issues with them spawning in front of you. Not sure what can be done about this yet.

How many players did you have on the server at the time? I haven't done any huge tests only 1-3 people online so far had a few hours of up time with no issues would be great to pm me your rpt's or something might find some clues in it. I would say right now this is at best a very early Beta and needs a lot more testing.

I will upload my current version to git today I also added a simple debug monitor to keep track of the amount of zombies while we test this.

 

edit> What are your server specs also?

Link to comment
Share on other sites

Hmm, my HC gets kicked for authentification timeout, any ideas ?

btw. do i need to create a extra folder for the HC ?

and i connect with the same key as the server, but i have disabled battleye and kick on duplicate.

What beta build are you using on the server? It sounds like a version miss match. It could be your starting up the headless on the new steam build but are running an older beta for the server it self.

 

I'm seeing this error as a pop up on the HC client, and then the client closes upon clicking ok.

 

This is what is shown in the HC rpt.

"ErrorMessage: Include file z\addons\dayz_code\system\ca\functions\init.sqf not found."

 

I'm also running overpoch. I can load in with the same files normally as a normal playing client. However when switching to a headless client, it keeps crashing on this error. The HC slots in correctly and the only thing preventing it from doing anything is this annoying error.

 

Update:

Ok, it would seem it has something to do with my startup bat file.. Launching headless client through dayzcommander works just fine, although the zombie spawning isn't off-loaded to the HC. WIll continue further testing.

RPT logs are key mate. It will tell you if your starting the headless correctly etc Sounds like you messed up somewhere.

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...