HEADLESS CLIENT

  1. ‹ Older
  2. 8 years ago

    @wihardy have you tried it without all this and going in the server and dragging the HC to the HC slot? I don't have any clue how this all works either. You would have to be admin to drag the HC around

    What do you mean "dragging" it into the slot.

    When I log into admin I see the Headless Client module on the side of the screen but it can't move anywhere. Tried dragging it.

    Mods...I check my dedi server RPT and I'm getting this.

    ALIVE AI Distributor exiting, no headless clients [] or not server false
    ALiVE SYS_DATA_COUCHDB - READ DATA: SendJSON ['GET','players/76561198012420991','']

    Do I just have the wrong ip address in?

    Here is the init.sqf I put in the mission folder

    if (!hasInterface && !isDedicated) then {
    headlessClients = [127.0.0.1];
    headlessClients set [(count headlessClients), player];
    publicVariable "headlessClients";
    isHC = true;
    };

  3. you should not put the ip in Init.sqf but in Server.cfg

    this is in my server.cfg

    headlessClients [] = {"127.0.0.1", "209.126.105.25"};

    this is in my init.sqf mission

    if (!hasInterface && !isDedicated) then {
    headlessClients = [];
    headlessClients set [(count headlessClients), player];
    publicVariable "headlessClients";
    isHC = true;
    };

  4. Edited 8 years ago by AUTigerGrad

    Ok,

    So I did what you suggested above and I'm still getting the following...

    ALIVE AI Distributor exiting, no headless clients [] or not server false
    ALiVE SYS_DATA_COUCHDB - READ DATA: SendJSON ['GET','players/76561198012420991','']
    ALiVE SYS_DATA_COUCHDB - READ DATA RESPONSE: {"_id":"76561198012420991","_rev":"1-8bdbc023a0b621eadf534436adfc1df8","username":"AuburnAlumni","ServerGroup":"OSTACT","A3PUID":"76561198012420991"}

    ALiVE SYS_DATA_COUCHDB - RESTORE DATA BEGIN:

    Here is my current server config. (took out my ip and password)

    // Config file generated 10/15/2015 4:32 PM with TADST.

    steamPort = 8766;
    hostName = "DrewonCerberus";
    password = "xxxxx";
    passwordAdmin = "";
    logFile = "";

    motd[] = {
    };
    motdInterval = 3;

    maxPlayers = 10;
    kickduplicate = 0;
    verifySignatures = 0;
    requiredSecureId = 0;
    headlessClients[]={"127.0.0.1", "99.999.999.99"}; // (took out my ip)
    localClient[]={"127.0.0.1"};

    voteMissionPlayers = 3;
    voteThreshold = 0.33;

    disableVoN = 1;
    vonCodecQuality = 10;
    persistent = 0;
    timeStampFormat = "none";
    BattlEye = 0;

    doubleIdDetected = "";
    onUserConnected = "";
    onUserDisconnected = "";
    onHackedData = "";
    onDifferentData = "";
    onUnsignedData = "";
    regularCheck = "";

    class Missions
    {
    class Mission_1
    {
    template = "Headless.Stratis";
    difficulty = "regular";
    };

    };

    Anything missing? Wrong? Do I need to add? delete?

    To review my steps so you know where I'm at...

    1. I'm using Tophe's TADST server tool. Running the dedi server on my personal machine.

    2. I clicked the "Enable HC" button and have the ip as the standard 127.0.0.1 in the main module screen.

    3. I also went into the TADST folder (which saves all profiles you create, including each server.cfg for those profiles). I edited the tadst cfg to the above.

    4. I went into the main Arma game, then into the editor, placed a headless client module, named it "HC" and made it playable.

    5. I then switched my ALiVE Required module to enable Headless Client.

    6. I added the init.sqf suggested above to my mission folder.

    7. Started ARMA.

    8. Started the TADST server tool.

    9. Went into Server, logged in as admin, saw the Headless client icon on the left side of the server room...launched the mission.

    That's the exact steps I've done. Am I missing something?

  5. So I scoured the internet for folks attempting to do what I've done and I found this post on the TADST thread...

    Anyone whos interested with server and headless affinitys using tophes.

    1. Create a new profile in tophes.
    2. Create a .bat that sets the affinity and use the -params from tophes in the .bat
    3. Point tophes server line at the .bat for server.
    4. Launch :)

    For the Headless :-
    Create a new profile in tophes
    Create your headless .bat
    Point tophes server line at the .bat for the HC
    Dont copy the -params from tophes to the .bat this time.

    Launch :)

    Hope this helps someone.

    I know how to create a bat cmd file, but how do you set the affinity, etc. for it? What would I need to include?

  6. Welll after many many hours of trial and error, I got it to work....

    ALiVE [m_18|190] Module ALiVE_mil_logistics INIT COMPLETE TIME: 59.538
    ALIVE AI Distributor switching group O Alpha 1-1 to HC HC
    ALIVE AI Distributor switching group B Alpha 1-2 to HC HC
    ALIVE AI Distributor switching group B Alpha 1-3 to HC HC
    ALIVE AI Distributor switching group B Alpha 2-1 to HC HC

    The key piece was I did all of the above, but I also created a bat file pointed at the TADST server location. Then I launched the bat file, which launched the HC, launched the TADST dedi server...joined the server..and voila...the HC was in and working.

    Now.....

    My next question is this.....

    23:59:45 > 0:05:18.599 (0:00:00.000) cba_versioning - cba - Version Mismatch! (Machine: HC (HC) version: 1.1.23.150604, serverVersion: 2.1.1.151010, Level: 4)
    23:59:45 > 0:05:18.634 (0:00:00.000) cba_versioning - alive_main - Version Mismatch! (Machine: HC (HC) version: 0.9.9.1.50622e+006, serverVersion: 0.9.10.1.51013e+006, Level: 4)

    Why is it saying version mismatch? This is all on the same computer?

  7. For everyone using this script...

    if (!hasInterface && !isDedicated) then {
      headlessClients = [];
      headlessClients set [(count headlessClients), player];
      publicVariable "headlessClients";
      isHC = true;
    };

    You can write like this to make it faster...

    if (!hasInterface && !isDedicated) then {
      headlessClients = [];
      headlessClients pushBack player;
      publicVariable "headlessClients";
      isHC = true;
    };

    'pushBack' is a faster method then using 'set count'

  8. Hey Dixon, thanks.

    I have a question.

    Now that I can successfully connect HCs to my Dedi...how would I go about setting up 3 separate HCs with different affinitys so that I can use all 4 cores simultaneously (Dedi on core 1, HC1 on core 2, HC2 on core 3, etc.)

    Would that all be one bat file? Separate bat files?

    Any help would be appreciated. Now that I can use the HCs, I want to optimize my performance as much as possible.

  9. How do you setup your HC currently. I have each of my HC's setup with a separate bat file and my dedicated server on my own bat file so that we are not always dependent on an HC and we can choose how many HC's to run.

  10. Here is my HC Bat file
    start "Headless" "E:\Games\Steam\SteamApps\common\Arma 3\arma3server.exe" -connect=localhost -port=2302 -client -nosound -password=os -name=HC -profile=HC "-mod=@alive;@cba_a3;"

    One thing that is weird is that it said there was a cba and alive version mismatch when the HC joined the server....how is that happening? It's on the same computer? I assumed it would simply use any of the mods I included and they would be the same mods from my computer's Arma 3 folder.

  11. Friznit

    16 Oct 2015 Administrator
    Edited 8 years ago by Friznit

    This is how I do it. This'll run the HC on cores 4 & 5 only.

    start /affinity 30 "" arma3.exe -client -nosound -connect=localhost -port=2330 -profiles=C:\Games\ArmA3\Svr_HC -name=Headlessclient -password=xxxx -mod=@etc;@etc;@etc
    exit

    Hex values for Affinities (use a Bin to Hex translator to convert an 8 Core CPU 11111111 (all cores) to 00001111 (cores 0,1,2,3) or 11110000 (cores 4,5,6,7) etc

    CPU 0 = 1
    CPU 1 = 2
    CPU 0+1 = 3
    CPU 2+3 = C
    CPU 4,5 = 30
    CPU 6,7 = C0
    CPU 0,1,2,3 = F
    CPU 4,5,6,7 = F0

  12. @Friznit This is how I do it. This'll run the HC on cores 4 & 5 only.

    start /affinity 30 "" arma3.exe -client -nosound -connect=localhost -port=2330 -profiles=C:\Games\ArmA3\Svr_HC -name=Headlessclient -password=xxxx -mod=@etc;@etc;@etc
    exit

    Hex values for Affinities (use a Bin to Hex translator to convert an 8 Core CPU 11111111 (all cores) to 00001111 (cores 0,1,2,3) or 11110000 (cores 4,5,6,7) etc

    CPU 0 = 1
    CPU 1 = 2
    CPU 0+1 = 3
    CPU 2+3 = C
    CPU 4,5 = 30
    CPU 6,7 = C0
    CPU 0,1,2,3 = F
    CPU 4,5,6,7 = F0

    Ok, so I have a quad core (and my game is on E:) so if I'm understanding correctly....

    I would do this?

    start /affinity C "" arma3.exe -client -nosound -connect=localhost -port=2330 -profiles=E:\Games\ArmA3\Svr_HC -name=Headlessclient -password=xxxx -mod=@etc;@etc;@etc
    exit

    If I am running 2 HCs do I essentially make 2 copies of this bat file and run both prior to starting the dedi?

  13. Friznit

    16 Oct 2015 Administrator
    Edited 8 years ago by Friznit

    Yep. Be sure to -name= them something different (HC1 & HC2) and the modules placed in the editor must be names differently too so they know which slot to join.

    Then your first bat file can be affinity 3, the second affinity C and you can leave your main server running across all cores. Or whatever floats yer boat!

    You can use port 2302 (that's the default arma2 port). I just use port 2330 for our test server so I can run it at the same time as the main mission server. The HC's need to be set to the same port as the server they're joining.

  14. gotcha...so duplicate everything exactly the same except -name?

    So if I run two named HC and HC2 for example...

    • name=HC in the first bat
    • name=HC2 in the second bat file

    Do I also need to copy any mods I'm using to that same folder that the bat files are in? I noticed I got a version mismatch in my first successful test, which I didn't understand since I assumed it would just find the mods I have on the computer in my Arma 3 folder.

  15. Yes make sure all mods used are installed for each HC instance
    ie: copy the required mods to e:\games\arma3\srv_hc and make sure the HC loads them in the bat file.

  16. Friznit

    16 Oct 2015 Administrator

    Edited the above ref ports. Just be sure to have the server & HCs on the same port.

    Copy the mod line for both server and HC. Don't know why you get a version mismatch - CBA can be funny like that sometimes though. Shouldn't cause a problem.

  17. Edited 8 years ago by AUTigerGrad

    my TADST server is located here

    E:\Games\Steam\SteamApps\common\Arma 3\arma3server.exe

    So I'm assuming that all mods should be at E:\Games\Steam\SteamApps\common\Arma 3 which they already are (I guess I'm confused here)

    or do I have a e:\games\arma3\srv_hc?

    (sorry, I'm new at all of this)

  18. Edited 8 years ago by AUTigerGrad

    Oh wait I get it....

    So I need to create a new folder called srv_hc right?

    Then copy the mods into that folder and place the bat files in that folder as well???

    Is that right?

    so in my case the path would be

    E:\Games\Steam\SteamApps\common\Arma 3\srv_hc

    Am I right?

  19. Friznit

    16 Oct 2015 Administrator

    Think Sav is confusing things - you only need that if you have a totally separate ArmA3 install which you're using for HC's

    I run everything from a single installation of ArmA3. In your case E:\Games\Steam\SteamApps\common\Arma 3

    You can run ArmA3.exe -client and arma3server.exe from the same installation quite happily. Only need to install the mods in that folder.

  20. @Friznit Think Sav is confusing things - you only need that if you have a totally separate ArmA3 install which you're using for HC's

    I run everything from a single installation of ArmA3. In your case E:\Games\Steam\SteamApps\common\Arma 3

    You can run ArmA3.exe -client and arma3server.exe from the same installation quite happily. Only need to install the mods in that folder.

    Ok, so I need copies of my mods in what folder?

    Because if its pulling from my main Arma game folder..something isn't working because it says I have a version mismatch when the HC joins the server.

    What folder should I put copies of the mods I'm using for that mission into so the HC can access them?

    Should the bat files and mods all be in the same folder?

  21. Edited 8 years ago by SavageCDN

    Ah sorry was going by what he wrote in a previous post (e:\games\arma3\) which looked like he had a separate install for HC (also would explain the CBA mismatch errors if he had an older version in the HC folder).

    edit: ignore the cba mismatch error for now it's probably just cba weirdnes

    https://community.bistudio.com/wiki/Arma_3_Headless_Client

  22. Newer ›
 

or Sign Up to reply!