david Posted July 8, 2014 Report Share Posted July 8, 2014 Description The purpose of EHC is to offload the servers management of zombies and building loot spawn to a headless client. This should enable the server to focus on server stuff, and the HC will take care of the zombie management. In theory, this could increase server performance while allowing more zombies to be spawned. This mod is not extensively tested - anyone who helps out testing and commenting feedback automatically qualifies for bro status. :) Installation instructions See github readme for details: https://github.com/DavidFrendin/epoch-hc/blob/master/readme.md Warning! This is still a work in progress and has yet to mature into a stable release. Any testing and feedback is greatly appreciated, but be mindful of the nature of this if you choose to install this mod. Credits Goober - Original source David - Active developer TayTayTheKiller - Collaborator Download https://github.com/DavidFrendin/epoch-hc/archive/master.zip Github repository: https://github.com/DavidFrendin/epoch-hc Zupa, 31_D!4b10, hambeast and 4 others 7 Link to comment Share on other sites More sharing options...
david Posted July 8, 2014 Author Report Share Posted July 8, 2014 *reserved for future use* Link to comment Share on other sites More sharing options...
hambeast Posted July 8, 2014 Report Share Posted July 8, 2014 very interested to see how this goes. I'd just like to note, that for many of us battleye is essential so if you can get that working, that would be tits! I did have an idea for this. You should be able to pull the latest BE dll's right from BE's website if you get that far. I got HC's working before but they had to be manually updated. A batch script that pulls it right before the HC starts may be the key. Link to comment Share on other sites More sharing options...
david Posted July 8, 2014 Author Report Share Posted July 8, 2014 I actually have the EHC running on my server along with BE. I'll update the install guide section shortly, though the installation and server configuration at times seems to be overlapping..I was thinking of making a youtube video describing step by step how to install it, just have to get into the mood first :) Link to comment Share on other sites More sharing options...
TayTayTheKiller Posted July 8, 2014 Report Share Posted July 8, 2014 very interested to see how this goes. I'd just like to note, that for many of us battleye is essential so if you can get that working, that would be tits! I did have an idea for this. You should be able to pull the latest BE dll's right from BE's website if you get that far. I got HC's working before but they had to be manually updated. A batch script that pulls it right before the HC starts may be the key. I actually have the EHC running on my server along with BE. I'll update the install guide section shortly, though the installation and server configuration at times seems to be overlapping.. I was thinking of making a youtube video describing step by step how to install it, just have to get into the mood first :) Yep this even uses a battleye kick for the HC to make sure it goes into the correct slot at server startup if no one joins before it. Credits go to Goober for that one also :) Link to comment Share on other sites More sharing options...
hambeast Posted July 8, 2014 Report Share Posted July 8, 2014 I actually have the EHC running on my server along with BE. I'll update the install guide section shortly, though the installation and server configuration at times seems to be overlapping.. I was thinking of making a youtube video describing step by step how to install it, just have to get into the mood first :) for me and a lot of the guys, a video is great but text is king. It is much easier to copy/paste and follow along with a text instruction than a video. But videos are always nice. Love to help test this out maybe sometime this weekend if I get time. Kind of stretched as it is but good work none the less. david and insertcoins 2 Link to comment Share on other sites More sharing options...
david Posted July 8, 2014 Author Report Share Posted July 8, 2014 for me and a lot of the guys, a video is great but text is king. It is much easier to copy/paste and follow along with a text instruction than a video. But videos are always nice.Of course the text description has priority; some people have a hard time following written instructions though but I was mostly thinking of the commentary monologue of the do's, don'ts and to better visualize what stuff should look like when you are tinkering with it :)Love to help test this out maybe sometime this weekend if I get time. Kind of stretched as it is but good work none the less.Looking forward to the input, and thanks. Link to comment Share on other sites More sharing options...
hambeast Posted July 8, 2014 Report Share Posted July 8, 2014 Looking forward to the input, and thanks. oh god, what have I done! lol jk I'm pretty eager to test this out and see how it works. Running two overpoch servers so I'll provide you with some decent performance reports. Link to comment Share on other sites More sharing options...
david Posted July 8, 2014 Author Report Share Posted July 8, 2014 oh god, what have I done! lol jk I'm pretty eager to test this out and see how it works. Running two overpoch servers so I'll provide you with some decent performance reports.I hope for a smooth sailing, but if you miss anything out of the installation description please let me know. Link to comment Share on other sites More sharing options...
cen Posted July 8, 2014 Report Share Posted July 8, 2014 +1 vote for written tutorial. Videos are meh. kat 1 Link to comment Share on other sites More sharing options...
Goober Posted July 9, 2014 Report Share Posted July 9, 2014 Glad you guys are having fun. Couple of points: 1) I don't think I am the one who did the BattleEye kick thingy. 2) zombie_agent.fsm (a finite state machine) has internal script references to player position. This FSM file is part of what makes a zombie do stuff (see the execVM of the fsm in zombie_generateHC.sqf ). When in loitering behaviour, the fsm wants to make the zombie shuffle in the general direction of the player that spawned it. SO, that means all your loitering zombies will be basically heading toward wherever you put the HC in the mission.sqm file. This may be unintentionally hilarious, especially if you have put your HC in an odd place on the map (you typically want to put it smack in the middle of the map). Check my original HC.zip for a modified fsm: http://www.mediafire.com/download/zyrzrs05x1um0mn/HC.zip I used plain oid FSMEditor to change it. https://community.bistudio.com/wiki/FSM_Editor Goober Link to comment Share on other sites More sharing options...
DeliciousAce Posted July 9, 2014 Report Share Posted July 9, 2014 Nice to see how this project goes up!And Thank you for your great work are you doing, that needs to be said :PI'm going to try the HC this next days again. Ace Link to comment Share on other sites More sharing options...
bFe Posted July 9, 2014 Report Share Posted July 9, 2014 The startup parameter, do I just add -profiles=HeadlessClient or does it require a new .bat? And, I see you use the arma2oa_be.exe, not the server? Link to comment Share on other sites More sharing options...
TayTayTheKiller Posted July 9, 2014 Report Share Posted July 9, 2014 Glad you guys are having fun. Couple of points: 1) I don't think I am the one who did the BattleEye kick thingy. 2) zombie_agent.fsm (a finite state machine) has internal script references to player position. This FSM file is part of what makes a zombie do stuff (see the execVM of the fsm in zombie_generateHC.sqf ). When in loitering behaviour, the fsm wants to make the zombie shuffle in the general direction of the player that spawned it. SO, that means all your loitering zombies will be basically heading toward wherever you put the HC in the mission.sqm file. This may be unintentionally hilarious, especially if you have put your HC in an odd place on the map (you typically want to put it smack in the middle of the map). Check my original HC.zip for a modified fsm: http://www.mediafire.com/download/zyrzrs05x1um0mn/HC.zip I used plain oid FSMEditor to change it. https://community.bistudio.com/wiki/FSM_Editor Goober Glad you guys are having fun. Couple of points: 1) I don't think I am the one who did the BattleEye kick thingy. 2) zombie_agent.fsm (a finite state machine) has internal script references to player position. This FSM file is part of what makes a zombie do stuff (see the execVM of the fsm in zombie_generateHC.sqf ). When in loitering behaviour, the fsm wants to make the zombie shuffle in the general direction of the player that spawned it. SO, that means all your loitering zombies will be basically heading toward wherever you put the HC in the mission.sqm file. This may be unintentionally hilarious, especially if you have put your HC in an odd place on the map (you typically want to put it smack in the middle of the map). Check my original HC.zip for a modified fsm: http://www.mediafire.com/download/zyrzrs05x1um0mn/HC.zip I used plain oid FSMEditor to change it. https://community.bistudio.com/wiki/FSM_Editor Goober So your not jwo7777777? I was reading up about the port of dzai on opendayz and I assumed it was you same avatar etc jwo7777777 linked to the battleye kick and it was posted by jwo7777777 :) Link to comment Share on other sites More sharing options...
david Posted July 9, 2014 Author Report Share Posted July 9, 2014 The startup parameter, do I just add -profiles=HeadlessClient or does it require a new .bat?And, I see you use the arma2oa_be.exe, not the server?Headless client is not a parameter for the server, it's an actual client you start and connect to the server (hence arma2oa_be.exe, not the server). Link to comment Share on other sites More sharing options...
TayTayTheKiller Posted July 9, 2014 Report Share Posted July 9, 2014 Here is the start up bat i use on my test server. @echo off ::Set Server Settings Start ::BEC Settings ::set BECpath="C:\- Dayz-Servers\OverPoch\bec" ::set BecExeName=BEC_OverPoch.exe ::set BecConfigFile=OverPoch.cfg ::Server Settings set ARMApath="C:\- Dayz-Servers\TestServer" set ServerExeName=test.exe set mod=Expansion\beta;@DayzOverwatch;@DayZ_Epoch;@hive set config=instance_666_overpoch\instance_666_overpoch.cfg set cfg=instance_666_overpoch\basic.cfg set profiles=instance_666_overpoch set port=2367 set cpuCound=2 set exThreads=1 set ServerPriority=high :: Headless Client Settings :: Note Server Mod Settings Also Used For HeadlessClient set HCPath="C:\Program Files (x86)\Steam\SteamApps\common\Arma 2 Operation Arrowhead" ::Needed For New Steam Beta To launch ArmA2OA.exe set HCExeName=ArmA2OA_BE.exe set HCExeNameKill=ArmA2OA.exe set HCpriority=low ::Set Server Settings End timeout 6 goto Initialize :Initialize cls echo Killing Current Running Server ... taskkill /IM %ServerExeName% /F taskkill /IM %HCExeNameKill% /F ::taskkill /IM %BecExeName% /F echo. goto Start :Start echo STARTING SERVER UP.. timeout 5 cd %ARMApath% @start /%ServerPriority% %ServerExeName% -mod=%mod% -name=%name% -config=%config% -cfg=%cfg% -profiles=%profiles% -port=%port% -cpuCount=%cpucount% -exThreads=%exThreads% -beta=Expansion\beta;Expansion\beta\Expansion -noPause -noSound -maxMem=2048 echo. goto Start_Bec :Start_Bec ::echo Starting BEC Again In... timeout 5 ::echo. ::cd %BECpath% ::@start %becExeName% -f %BecConfigFile% goto HCLoad :HCLoad echo. echo Starting Up Headless Client In.. timeout 20 echo. goto HCLoad :HCLoad cd %HCPath% @start /%HCpriority% %HCExeName% 0 0 -skipIntro -nosplash -showScriptErrors -noPause -client -connect=127.0.0.1 -port=%port% -nosound "-mod=Expansion\beta;Expansion\beta\Expansion" -mod=%mod% -cpuCount=2 -name=HeadlessClient -profiles=HeadlessClient echo Loading HeadlessClient echo. echo StartUp Complete timeout 10 exit (Everything BEC related has been commented out as I'm not using it on my test server) david 1 Link to comment Share on other sites More sharing options...
Gungy Posted July 9, 2014 Report Share Posted July 9, 2014 OK time for me to chime in.... I have this installed, the HC connects and no longer gets kicked by BE for being idle. However....... The HC is not invisible or totally indestructible, put enough round in him and he dies. Also there doesn't seem to a drastic change in the number of zombies if at all. I would really appreciate some input on this from some more capable coders, what would be the best way to test whether it's the HC or clients that are spawning the zeds? BTW David Edit the mission.sqf file, in the Groups class, change items to items=3. needs changing to Edit the mission.SQM file, in the Groups class, change items to items=3. and arma2oa_be.exe 0 0 -skipintro -nosplash -noPause -client -connect 127.0.0.1 -port:2302 -nosound "-mod=@dayz_epoch" -cpuCount=2 -name=Server -profiles=HeadlessClient needs changing to arma2oa_be.exe 0 0 -skipintro -nosplash -noPause -client -connect 127.0.0.1 -port:2302 -nosound "-mod=@dayz_epoch" -cpuCount=2 -name=Server -profile=HeadlessClient the extra S will cause failures to start and BE kicks. Link to comment Share on other sites More sharing options...
TayTayTheKiller Posted July 9, 2014 Report Share Posted July 9, 2014 OK time for me to chime in.... I have this installed, the HC connects and no longer gets kicked by BE for being idle. However....... The HC is not invisible or totally indestructible, put enough round in him and he dies. Also there doesn't seem to a drastic change in the number of zombies if at all. I would really appreciate some input on this from some more capable coders, what would be the best way to test whether it's the HC or clients that are spawning the zeds? BTW David Edit the mission.sqf file, in the Groups class, change items to items=3. needs changing to Edit the mission.SQM file, in the Groups class, change items to items=3. and arma2oa_be.exe 0 0 -skipintro -nosplash -noPause -client -connect 127.0.0.1 -port:2302 -nosound "-mod=@dayz_epoch" -cpuCount=2 -name=Server -profiles=HeadlessClient needs changing to arma2oa_be.exe 0 0 -skipintro -nosplash -noPause -client -connect 127.0.0.1 -port:2302 -nosound "-mod=@dayz_epoch" -cpuCount=2 -name=Server -profile=HeadlessClient the extra S will cause failures to start and BE kicks. I have a fix in place for the headless client taking damage, spawning on the shore and not being invisible Just working on it now. Also to increase zombie numbers you need to edit the loot tables :) Edit >> Also editing the players max Zombies is still needed. And about telling if the HC is controlling the zombies? I would like to know this also as I cant figure out a way of telling lol. I mainly been using this for spawning ai personally. Link to comment Share on other sites More sharing options...
TayTayTheKiller Posted July 9, 2014 Report Share Posted July 9, 2014 Ok current posted version doesn't work! I managed to get it working and zombies are 100% spawning off the HC, I test this by kicking the HC and the zombies disappear. Just testing this some more until I push an updated version. Link to comment Share on other sites More sharing options...
cen Posted July 9, 2014 Report Share Posted July 9, 2014 You guys are awesome. Keep it up! AI/Zombies/Loot controlled by HC is the goal! david and TayTayTheKiller 2 Link to comment Share on other sites More sharing options...
TayTayTheKiller Posted July 9, 2014 Report Share Posted July 9, 2014 At First you seem them... And then you don't :D https://www.youtube.com/watch?v=2lT9v43ure4&feature=youtu.be Good progress porting it to 1.0.5.1 so far. The Fix for the HC taking damage and moving him to center of the map seems to be working fine also. For the lol's https://www.youtube.com/watch?v=LU-Qmejc4ec&feature=youtu.be cen, david and stonXer 3 Link to comment Share on other sites More sharing options...
Gungy Posted July 9, 2014 Report Share Posted July 9, 2014 any chance i can get it from you... like yesterday :P Link to comment Share on other sites More sharing options...
TayTayTheKiller Posted July 9, 2014 Report Share Posted July 9, 2014 any chance i can get it from you... like yesterday :P Everything is a mess right now file wise lol but its getting there... Link to comment Share on other sites More sharing options...
Goober Posted July 9, 2014 Report Share Posted July 9, 2014 So your not jwo7777777? I was reading up about the port of dzai on opendayz and I assumed it was you same avatar etc jwo7777777 linked to the battleye kick and it was posted by jwo7777777 :) Sorry. Yes, I am jwo7777777. I suppose I simply didn't remember doing anything like that. Oh, well. I am getting old ... Goober TayTayTheKiller 1 Link to comment Share on other sites More sharing options...
Goober Posted July 9, 2014 Report Share Posted July 9, 2014 I have a fix in place for the headless client taking damage, spawning on the shore and not being invisible Just working on it now. 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 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