Jump to content

A3EAI - Roaming/Vehicle AI Patrols - Discontinued


Face

Recommended Posts

With the Arma 3 1.40 update today, I've started development on headless client support for A3EAI. As of today with the development build, HC support has been successfully added to the following AI types:

 

  • Static AI
  • Random AI
  • Dynamic AI (non-hunting type).

Other types of AI will take some time since they're more complicated to adapt to headless clients.

 

What's "unique" about A3EAI HC support is that it won't be purely headless, instead, it's more of a "hybrid headless" setup where the dedicated server handles background tasks while the headless client handles the AI. The benefit of this setup is that A3EAI will be able to operate under dedicated mode (everything on dedicated server) or hybrid headless mode (background tasks on dedicated server, AI computations on headless client), and will be able to switch between modes on-the-fly. For example, if the headless client disconnects or crashes randomly, A3EAI will revert to dedicated mode and handle everything on the dedicated server, then when the headless client is restarted, AI will be transferred back to the HC.

 

Of course, only a single day has been put into HC support development so far and everything is far from stable. I expect that it will take several months for full working support to be added.

 

Dude! We bow down and kiss your ring.

 

Sounds outstanding!. If you need anything testers, hardware to run it on, whatever just let me know!

 

You the man!

 

Mike.

Link to comment
Share on other sites

Another announcement regarding the future HC support:

 

After a week of development, HC support in the current development build has been extended to non-custom air and land vehicle patrols. Custom air/land vehicle patrols is next on the list but I expect only minor changes will be required.

 

There's been some very heavy changes done to A3EAI code (as large as or larger than the DZAI - A3EAI conversion) and I'm still making sure everything works properly. Minimizing unnecessary network traffic is also a priority and it's going well so far, I've reduced the amount of public variable calls by about 90% (63 down to 6) and I'm still working on trimming it down to the bare minimum.

 

Sometime during the next few weeks I will be needing a very small number of volunteers (1-2) to help test out the HC support. Volunteers will need:

 

  • An A3 Epoch server with basic working headless client setup already made and ready to go (you will know it works when your HC appears in the cloning lab as a fresh spawn). How-to-guides are already readily available on these forums and Google. If I can do it, so can you.
  • Ability to not freak out over strange errors in your HC RPT file. There is going to be metric-f**kton of RPT errors in your HC log when the HC logs in, all of which are completely harmless.
  • A server not reliant on the "alternative antihack" is a plus, since I don't know how antihacks other than the stock Epoch AH will interact with HCs.
Link to comment
Share on other sites

Hi there, for some reason my radio message stopped working, I am using infi for AH, do you guys have that issue? Txs.

I also don't see/hear any radio chatter either.  All the Tools and scripts are running otherwise. 

server running Infistar / SEM 0.8.3 / A3EAI 0.4.3 

 

I had it working Pre 1.40.

 

I cannot see anything that stands out in my logs. 

Link to comment
Share on other sites

I'm thinking it may be because of the "alternative antihack", the radio messages have worked for me before and after the 1.40 update.

Working fine for me with The *only* AH :P

Just make sure you are true/true in a3eai settings and remove client folder and readd newest. Used with the stock settings on AH (true/falses) and it was working fine. If you add more true's on experimental entries, I'd remove those.

Link to comment
Share on other sites

Now my logs seem to be showing things. I seem to be an issue with the init.sqf.
Should  #include "A3EAI_Client\A3EAI_initclient.sqf";  be in a particular position in the file when running with other AI (like SEM)requiring an entry in the init.sqf file?

I am getting the following:
 3:02:44 Error in expression <Interface)then{execVM "semClient.sqf"}; #include "A3EAI_Client\A3EAI_initclient.>
 3:02:44   Error position: <#include "A3EAI_Client\A3EAI_initclient.>
 3:02:44   Error Invalid number in expression
 3:02:44 File mpmissions\__cur_mp.Altis\init.sqf, line 2

Link to comment
Share on other sites

Get this spam on my rpt

18:03:46 Error in expression <= (_this select 1) select 1;
call {
if (_isCustom) then {
private ["_spawnParams>
18:03:46   Error position: <_isCustom) then {
private ["_spawnParams>
18:03:46   Error Undefined variable in expression: _iscustom
18:03:46 Error in expression <;
_unitsAlive = {alive _x} count (units _unitGroup);

if (_unitsAlive > 0) then >
18:03:46   Error position: <_unitGroup);

if (_unitsAlive > 0) then >
18:03:46   Error Undefined variable in expression: _unitgroup
18:03:46 File A3EAI\compile\A3EAI_unit_events\A3EAI_veh_destroyed.sqf, line 10
Link to comment
Share on other sites

@SadBoy: I need some more information about the errors - Do you use normal vehicle patrols or custom ones (or both)? And if you know, was this vehicle destroyed by players or did it happen by itself?

 

@Mjolnir: I recommend you place the #include line at the very top of your init.sqf.

 

@omega13: I suppose mission makers could create A3EAI units by using a custom spawn call if they wanted.

 

@larsmos2011: Thank you for the offer. When the time comes to need volunteers, I'll be making another announcement post with more details. I will be needing a very small number of volunteers when I feel that the HC support is just about stable for a full release. Kind of like how Epoch 0.3.x is being tested out on one of their servers before it's first released to the official hosts.

Link to comment
Share on other sites

If the error is something that seems to come and go randomly, it's probably because certain conditions trigger the error. The difficult part is finding exactly what conditions cause it, this is why I'm interested in what was responsible for destroying the vehicle (or if it was considered stuck and cleaned up) and whether its a custom or normal vehicle patrol. All of this matters.

 

If anyone has full logs (as in literally the whole file, Pastebinned) with the error inside, preferably with full debug levels enabled, it would be insanely helpful.

Link to comment
Share on other sites

Well it seemed to start when I added the WAI mission system, so I just assumed it was something in that script conflicting and causing the errors. I will keep a close eye and see if I can pinpoint what may have caused the issue. Right now my logs are pretty clean, so I am finally at ease again. I can also grab one of my old logs with the errors and send it to you if you'd like.

 

Edit...if the error seems to return, I will set full debug, and send you the whole log.

Link to comment
Share on other sites

@cyncrwler: Thanks, you can send the whole logs (Pastebinned) by PM.  Really appreciate the help.

 

During the HC development process I've found a bunch of odd behaviors related to the AI vehicle patrols that I hope to be able release as a fix soon. At the moment, land vehicle patrols are "shaky" at best and I'd advise people to avoid using them for anything important such as guarding AI bases or loot.

Link to comment
Share on other sites

Been noticing a bunch of my vehicles weren't spawning, namely armed/armored. Checked RPT on startup and this is what I've been getting:
"[A3EAI] Removing invalid classname from A3EAI_vehList array: O_APC_Tracked_02_cannon_F."
"[A3EAI] Removing invalid classname from A3EAI_vehList array: O_MBT_02_cannon_F."
"[A3EAI] Removing invalid classname from A3EAI_vehList array: O_G_Offroad_01_F."
"[A3EAI] Removing invalid classname from A3EAI_vehList array: O_G_Offroad_01_armed_F."
"[A3EAI] Removing invalid classname from A3EAI_vehList array: O_G_Quadbike_01_F."
"[A3EAI] Removing invalid classname from A3EAI_vehList array: O_APC_Tracked_02_AA_F."
"[A3EAI] Verified 340 unique classnames in 0.0349998 seconds."
 
They even spawn from the vehicle pool on my map with the same class name. I try to use just Opfor vehicles to hold the lore of the server (CSAT vehicles). 
Tried a few of the *Independent* branch and received the same:
"[A3EAI] Removing invalid classname from A3EAI_vehList array: I_G_Offroad_01_F."
"[A3EAI] Removing invalid classname from A3EAI_vehList array: I_G_Offroad_01_armed_F."
"[A3EAI] Removing invalid classname from A3EAI_vehList array: I_APC_tracked_03_cannon_F."
"[A3EAI] Removing invalid classname from A3EAI_vehList array: I_MBT_03_cannon_F."

Anyway to get these working? I know a few updates ago I was able to use Marshal (only wheeled apcs work?) and armed offroad from Blufor, haven't tested any "B_ " yet this patch though. Would like to use opfor so they all have the same brown camo pattern.

Link to comment
Share on other sites

The "invalid" vehicles are considered "invalid" because they probably contain init statements that execVM a script file for the vehicle, which will cause players to be kicked by BE with the default filters. If you've already placed filters to prevent kicking, then you can allow the vehicles to be spawned by disabling classname verification in the config file.

Link to comment
Share on other sites

A3EAI 0.4.3.1 has been released to fix the undefined variable errors related to A3EAI_veh_destroyed.sqf thanks to cyncrwler's assistance in providing full logs detailing the error.

 

Download the updated/fixed version here: https://github.com/dayzai/A3EAI

 

This error is caused when the server is lagged by other addons/scripts loading during startup, so that AI vehicle patrols are being spawned before the Epoch server is able to compile certain important functions. Because this is a timing-related error, it's something that I would normally never be able to find myself (since my test server is not under heavy loads like real servers) and full logs are required to trace back all the events from server startup to the point of the error. This is why a short log quote with just the error isn't always enough.

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