Jump to content

Recommended Posts

073.2 sounds sweet, cant wait for it :D

About the Headless client... how does it work exactly? Does it do all of the ai calculation or can you limit it to specific values? Can you have multiple HC's on a server? And how do you start it on the machine you want to have it on?

Would be nice if there was a little tutorial for it, or maybe there is one on the internet that i just cant find?

Implementing HC in Editor:

1. In the mission editor you add 1 (or more) playable slot (from boar to hooker it doesn't matter). Give it a description like "Headless Client" to make it easier in the lobby

2. Save the mission

3. Edit the mission.sqm

4. Find the slots in the mission.sqm and add "forceHeadlessClient=1;" in those slot properties (see below).

	class Item114
	{
		side="CIV";
		class Vehicles
		{
			items=1;
			class Item0
			{
				position[]={4723.4199,-8.379611,12673.128};
				id=303;
				side="CIV";
				vehicle="TK_CIV_Worker01_EP1";
				player="PLAY CDG";
				leader=1;
				skill=0.60000002;
				description="Headless Client";
				forceHeadlessClient=1;
			};
		};
	};

5. The editor is now Headless Client ready.

Implementing HC in Scripts:

You can skip this part if you want, It's just a "what kind of witchcraft make this thing work" :D

An Headless client can be determined with the following code

isHeadless = ! (hasInterface || isDedicated)

Then it's up to you on how you handle the headless client but here's how I handle mine, remember that an HC is just a player without an interface (= 1 more licence).

1. HC A joins.

2. HC A finish it's init and notify the server side that it's here and ready.

//--- Notify the server that our headless client is here.
["RequestSpecial", ["connected-hc", player]] Call WFBE_CO_FNC_SendToServer;

3. Server receives HC A notification and prepare it.

case "connected-hc": {
	Private ["_hc","_id","_uid"];
	_hc = _args select 1;
	_id = owner _hc;
	_uid = getPlayerUID _hc;

	["INFORMATION", Format["Server_HandleSpecial.sqf: Headless client is now connected [%1] [%2] with Owner ID [%3].", _hc, _uid, _id]] Call WFBE_CO_FNC_LogContent;

	if (_id != 0) then {
		//--- Add the Headless client to our candidates.
		missionNamespace setVariable [Format["WFBE_HEADLESS_%1", _uid], group _hc];
		missionNamespace setVariable ["WFBE_HEADLESSCLIENTS_ID", (missionNamespace getVariable "WFBE_HEADLESSCLIENTS_ID") + [group _hc]];
	} else {
		["WARNING", Format["Server_HandleSpecial.sqf: Headless client [%1] Owner ID is [0], it is server controlled.",_hc]] Call WFBE_CO_FNC_LogContent;
	};
};

Here, we add the HC A group to the available Headless Clients global array (server will pick a random one later on, it will be round robin later on).

(Note that the code above will changer later on so that it'll store ID rather than groups).

4. Our HC is now known by the server.

5. When AI spawn in towns, the server will try to delegate it to the HC clients (if there's any of course).

The server creates the empty groups first (more convenient to track them) and the positions before sending the units type to create along with the groups and position to the HC.

/*
Delegate town AI creation to an headless client.
 Parameters:
	- Town
	- Side
	- Groups
	- Spawn positions
	- Teams
*/

Private ["_clients", "_groups", "_positions", "_side", "_teams", "_town"];

_town = _this select 0;
_side = _this select 1;
_groups = +(_this select 2);
_positions = +(_this select 3);
_teams = +(_this select 4);

//--- Delegate The groups to the miscelleanous headless clients.
for '_i' from 0 to count(_groups) -1 do {
_clients = missionNamespace getVariable "WFBE_HEADLESSCLIENTS_ID";

if (count _clients > 0) then {
	[leader(_clients select floor(random count _clients)), "HandleSpecial", ['delegate-townai', _town, _side, [_groups select _i], [_positions select _i], [_teams select _i]]] Call WFBE_CO_FNC_SendToClient;
};
};

6. The client receive the client delegation request.

case "delegate-townai": {_args spawn WFBE_CL_FNC_DelegateTownAI};

/*
Create a delegation request.
 Parameters:
	- Town
	- Side
	- Groups
	- Spawn positions
	- Teams
*/

Private ["_groups", "_positions", "_side", "_teams", "_town", "_town_vehicles"];

_town = _this select 0;
_side = _this select 1;
_groups = _this select 2;
_positions = _this select 3;
_teams = _this select 4;

["INFORMATION", Format["Client_DelegateTownAI.sqf: Received a town delegation request from the server for [%1] [%2].", _side, _town]] Call WFBE_CO_FNC_LogContent;

...
_retVal = [_town, _side, _groups, _positions, _teams] call WFBE_CO_FNC_CreateTownUnits;
...

7. Headless client crash or disconnect.

We catch it in the server EH onPlayerDisconnected and release it if needed.

_get = missionNamespace getVariable Format["WFBE_HEADLESS_%1", _uid];
if !(isNil '_get') then {
	missionNamespace setVariable ["WFBE_HEADLESSCLIENTS_ID", (missionNamespace getVariable "WFBE_HEADLESSCLIENTS_ID") - [_get]];
	missionNamespace setVariable [Format["WFBE_HEADLESS_%1", _uid], nil];
};

Voila for the scripting part :)

Preparing the HC in the server config:

In our server.cfg we add the list of our potential HC so that the server allocated them an infinite bandwidth.

If it's the same machine:

localClient[]={127.0.0.1};

If we can have 2 LAN clients 192.168.1.5 and 192.168.1.6 then we use:

localClient[]={192.168.1.5, 192.168.1.6};

Using the HC:

And the final piece!

Remember that the headless client is simply a client without an interface (no graphism) so it's unfortunately an extra licence per HC :(

You can launch it after/before the server, it will hammer until it connects.

Here's how to launch it assuming the server port is 2300 and that the HC is on the same server (otherwise change -connect=localhost to a LAN IP like -connect=192.168.0.1).

"C:\Server\Expansion\beta\arma2oa.exe" -world=none -nosplash -nopause -client -profiles=hc -name=hc -connect=localhost -nosound -port=2300

Remember that you need an ArmA 2 OA Beta greater than or equal to 1.62 build 101334 (that beta has some performance issues on the client so be aware).

Once more I hope that it's clear :)

I'm getting excited :).

So are you referring to being able to make this release work with any map, in my case Isla Duala ? Is this easy to do ? If not then I'd like to request Isla Duala support from you or another forum member.

It's way easier than 071 regarding that.

You no longer need to set the town count in the WF_Logic, only the town templates (which is optionnal and will be moved to a file later on)

All that you have to do is "merging/copying" the content of an existing WF mission to a new island (like chernarus) and rename the towns.

A very important note is that i'm using logics like there's no tomorrow, the logics you see in a town are all in the same group so be aware when you place them. Use a "NONE" formation if you plan on adding more (otherwise you'll have a fancy result).

Roughly: Town elements are all in the same group and synchronized to the depot :)

073.2 Release:

You will find 073.2 here as usual.

Keep in mind that those version are huge test versions (48p & 56p). They come with and without HC so you may have to reduce the slots a bit and tweak the params to your liking.

Share this post


Link to post
Share on other sites

Hi Benny, I did a quick single player LAN game with both maps. And both had no AIs in game. I am using lastest betas.

Share this post


Link to post
Share on other sites
Hi Benny, I did a quick single player LAN game with both maps. And both had no AIs in game. I am using lastest betas.

Hey,

I havn't tested LAN with those yet (I usually test it last).

Could you send me your arma2oa.rpt?

Share this post


Link to post
Share on other sites
Hi Benny, I did a quick single player LAN game with both maps. And both had no AIs in game. I am using lastest betas.

Are you sure you turned on AI Squads and the AI commander parameters? They are disabled by default in 073.2

I tried sp lan and it worked perfectly for me. Couldnt check out the HC Version though because of the need for 2 licenses.

Share this post


Link to post
Share on other sites
Are you sure you turned on AI Squads and the AI commander parameters? They are disabled by default in 073.2

I tried sp lan and it worked perfectly for me. Couldnt check out the HC Version though because of the need for 2 licenses.

Kavoriken you are right, have to turn them on in the settings.

Benny thank you for the new version.

Share this post


Link to post
Share on other sites
Kavoriken you are right, have to turn them on in the settings.

Benny thank you for the new version.

Glad it's nothing ;)

Share this post


Link to post
Share on other sites
Keep in mind that those version are huge test versions (48p & 56p). They come with and without HC so you may have to reduce the slots a bit and tweak the params to your liking.

What settings would you recommend? I tried the hc verison today on windows as I cannot use it with linux (no arma2oa executable compiled for linux other than server versions). I used all 24 slots with 10 units and server fps was at 9... with HC on?!

Share this post


Link to post
Share on other sites
What settings would you recommend? I tried the hc verison today on windows as I cannot use it with linux (no arma2oa executable compiled for linux other than server versions). I used all 24 slots with 10 units and server fps was at 9... with HC on?!

It all depends of the server CPU first.

Were the server and the client on the same machine?

Note that AI Teams are not delegated, only the towns AI.

Share this post


Link to post
Share on other sites
It all depends of the server CPU first.

Were the server and the client on the same machine?

Note that AI Teams are not delegated, only the towns AI.

Hi Benny,

Thanks for adding HC to warfare, this could add some really interesting possibilities!

Is there any reason Ai teams are not put on HC? They seem the ideal solution to keep low pop servers interesting.

Also what about all the other Ai things we would always want but never enable due to server fps, e.g. base patrols, wandering patrols etc?

P.s tried to setup xr this am with hc but no hc filling civilian slot? How do u get hc to show?

Edited by rory_pamphilon

Share this post


Link to post
Share on other sites

@Benny

Thanks for all your time and effort mate, much appreciated. Waiting for my mate to login and gonna give this a 4 hour plus workout. I work weekends and play ArmA2 during the week, easy life! ;)

Share this post


Link to post
Share on other sites
It all depends of the server CPU first.

Were the server and the client on the same machine?

Note that AI Teams are not delegated, only the towns AI.

Yes they are. Only the town AI is delegated? Oh ok!

Can you tell me how to reduce the available slots directly in the mission files :p

EDIT: Well there is definetly sth wrong, either in my config or somewhere else. Instead of giving me a fps boost, my server fps is almost cut in half compared to 2.073 with Client side AI delegation . I don't know if its from the OS change to windows in order to get headless client running or sth else but after 10 min the server is almost at 5 fps. AI slots have been manually reduced to 12 per faction in the lobby before starting the game. Here is my server.cfg and my basic.cfg:

basic.cfg:

adapter=1;
3D_Performance=1;
Resolution_Bpp=32;
Windowed=0;
MinBandwidth=71457280;
MaxBandwidth=322428800;
MaxMsgSend=1024;
MaxSizeGuaranteed=1024;
MaxSizeNonguaranteed=512;
MinErrorToSend=0.020000001;
MinErrorToSendNear=0.020000001;

server.cfg:

hostName = "***";
password = "***";
passwordAdmin = "***";
maxPlayers = 4;
logFile = "";
reportingIP = "127.0.0.1";
timeStampFormat = "short";
disableVoN = 1;
persistent = 1;
kickduplicate = 0;
verifySignatures = 1;
BattlEye = 0;
localClient[]={127.0.0.1};

class Missions
{
class Mission1
{
	template = "56_warfarev2_0732litecohc.Takistan";
	difficulty = "regular";
	class Params
	{
		WFBE_C_AI_DELEGATION = 2;
		WFBE_C_AI_MAX = 8;
		WFBE_C_PLAYERS_AI_MAX = 12;
		WFBE_C_AI_TEAMS_JIP_PRESERVE = 0;
		WFBE_C_AI_TEAMS_ENABLED = 1;
		WFBE_C_ARTILLERY = 1;
		WFBE_C_ARTILLERY_COMPUTER = 2;
		WFBE_C_ARTILLERY_UI = 1;
		WFBE_C_AI_COMMANDER_ENABLED = 1;
		WFBE_C_STRUCTURES_ANTIAIRRADAR = 1;
		WFBE_C_BASE_AREA = 24;
		WFBE_C_BASE_DEFENSE_MAX_AI = 100;
		WFBE_C_BASE_DEFENSE_MANNING_RANGE = 1000;
		WFBE_C_STRUCTURES_MAX = 10;
		WFBE_C_STRUCTURES_CONSTRUCTION_MODE = 0;
		WFBE_C_STRUCTURES_HQ_COST_DEPLOY = 100;
		WFBE_C_STRUCTURES_HQ_RANGE_DEPLOYED = 50;
		WFBE_C_BASE_PATROLS_INFANTRY = 4;
		WFBE_C_BASE_START_TOWN = 1;
		WFBE_C_BASE_STARTING_DISTANCE = 9000;
		WFBE_C_BASE_STARTING_MODE = 2;
		WFBE_C_STRUCTURES_COLLIDING = 1;
		WFBE_C_ECONOMY_CURRENCY_SYSTEM = 0;
		WFBE_C_ECONOMY_INCOME_INTERVAL = 30;
		WFBE_C_ECONOMY_INCOME_SYSTEM = 4;
		WFBE_C_ECONOMY_FUNDS_START_EAST = 8000;
		WFBE_C_ECONOMY_FUNDS_START_WEST = 8000;
		WFBE_C_ECONOMY_FUNDS_START_GUER = 8000;
		WFBE_C_ECONOMY_SUPPLY_START_EAST = 3600;
		WFBE_C_ECONOMY_SUPPLY_START_WEST = 3600;
		WFBE_C_ECONOMY_SUPPLY_START_GUER = 3600;
		WFBE_C_ECONOMY_SUPPLY_SYSTEM = 0;
		WFBE_C_ENVIRONMENT_FAST_TIME = 0;
		WFBE_C_ENVIRONMENT_STARTING_HOUR = 9;
		WFBE_C_ENVIRONMENT_STARTING_MONTH = 6;
		WFBE_C_ENVIRONMENT_WEATHER_VOLUMETRIC = 1;
		WFBE_C_ENVIRONMENT_WEATHER = 0;
		WFBE_C_MODULE_BIS_BAF = 1;
		WFBE_C_MODULE_BIS_PMC = 1;
		WFBE_C_GAMEPLAY_HANGARS_ENABLED = 1;
		WFBE_C_UNITS_CLEAN_TIMEOUT = 300;
		WFBE_C_UNITS_EMPTY_TIMEOUT = 1200;
		WFBE_C_GAMEPLAY_FAST_TRAVEL = 2;
		WFBE_C_GAMEPLAY_HANDLE_FRIENDLYFIRE = 0;
		WFBE_C_ENVIRONMENT_MAX_CLUTTER = 50;
		WFBE_C_GAMEPLAY_TEAMSWAP_DISABLE = 0;
		WFBE_C_GAMEPLAY_BOUNDARIES_ENABLED = 0;
		WFBE_C_GAMEPLAY_MISSILES_RANGE = 0;
		WFBE_C_MODULE_WFBE_MISSIONS = 1;
		WFBE_C_GAMEPLAY_UID_SHOW = 1;
		WFBE_C_UNITS_PRICING = 0;
		WFBE_C_GAMEPLAY_THERMAL_IMAGING = 3;
		WFBE_C_UNITS_TRACK_INFANTRY = 1;
		WFBE_C_UNITS_TRACK_LEADERS = 1;
		WFBE_C_UNITS_BALANCING = 0;
		WFBE_C_UNITS_BOUNTY = 1;
		WFBE_C_GAMEPLAY_UPGRADES_CLEARANCE = 7;
		WFBE_C_GAMEPLAY_VICTORY_CONDITION = 0;
		WFBE_C_ENVIRONMENT_MAX_VIEW = 2000;
		WFBE_C_MODULE_WFBE_FLARES = 2;
		WFBE_C_MODULE_WFBE_EASA = 1;
		WFBE_C_MODULE_BIS_HC = 1;
		WFBE_C_MODULE_WFBE_ICBM = 1;
		WFBE_C_MODULE_WFBE_IRS = 1;
		WFBE_C_MODULE_UPSMON = 1;
		WFBE_C_RESPAWN_CAMPS_MODE = 2;
		WFBE_C_RESPAWN_CAMPS_RULE_MODE = 0;
		WFBE_C_RESPAWN_DELAY = 10;
		WFBE_C_RESPAWN_LEADER = 1;
		WFBE_C_RESPAWN_MASH = 1;
		WFBE_C_RESPAWN_MOBILE = 1;
		WFBE_C_RESPAWN_PENALTY = 0;
		WFBE_C_RESPAWN_CAMPS_RANGE = 4000;
		WFBE_C_UNITS_RESTRICT_AIR = 0;
		WFBE_C_TOWNS_AMOUNT = 4;
		WFBE_C_CAMPS_CREATE = 1;
		WFBE_C_TOWNS_CAPTURE_MODE = 1;
		WFBE_C_TOWNS_CONQUEST_MODE = 0;
		WFBE_C_TOWNS_DEFENDER = 3;
		WFBE_C_TOWNS_GEAR = 3;
		WFBE_C_TOWNS_OCCUPATION = 3;
		WFBE_C_UNITS_FACTION_EAST = 2;
		WFBE_C_UNITS_FACTION_WEST = 1;
		WFBE_C_TOWNS_REINFORCEMENT_OCCUPATION = 3;
		WFBE_C_TOWNS_PATROLS = 3;
		WFBE_C_TOWNS_BUILD_PROTECTION_RANGE = 500;
		WFBE_C_UNITS_TOWN_PURCHASE = 1;
		WFBE_C_UNITS_FACTION_GUER = 1;
		WFBE_C_TOWNS_REINFORCEMENT_DEFENDER = 3;
		WFBE_C_TOWNS_VEHICLES_LOCK_DEFENDER = 0;
		WFBE_C_TOWNS_STARTING_MODE = 0;
	};
};
};

Tweaks in Init_CommonConstants.sqf:

	WFBE_C_TOWNS_DETECTION_RANGE_ACTIVE_COEF = 3; //--- Town activation range once active (town range * coef)
WFBE_C_TOWNS_DETECTION_RANGE_COEF = 3; //--- Town activation range while idling (town range * coef)

Edited by gabberxxl

Share this post


Link to post
Share on other sites
Hi Benny,

Thanks for adding HC to warfare, this could add some really interesting possibilities!

Is there any reason Ai teams are not put on HC? They seem the ideal solution to keep low pop servers interesting.

Also what about all the other Ai things we would always want but never enable due to server fps, e.g. base patrols, wandering patrols etc?

P.s tried to setup xr this am with hc but no hc filling civilian slot? How do u get hc to show?

I'm slowly merging things toward the HC, it's a bit complicated for AI teams and since i'm doing the AI fsm all over again, why bother now? :D

HC won't work on XR unless i boot it up, thought we got little room for extra resources atm :P

Yes they are. Only the town AI is delegated? Oh ok!

Can you tell me how to reduce the available slots directly in the mission files :p

EDIT: Well there is definetly sth wrong, either in my config or somewhere else. Instead of giving me a fps boost, my server fps is almost cut in half compared to 2.073 with Client side AI delegation . I don't know if its from the OS change to windows in order to get headless client running or sth else but after 10 min the server is almost at 5 fps. AI slots have been manually reduced to 12 per faction in the lobby before starting the game. Here is my server.cfg and my basic.cfg:

basic.cfg:

adapter=1;
3D_Performance=1;
Resolution_Bpp=32;
Windowed=0;
MinBandwidth=71457280;
MaxBandwidth=322428800;
MaxMsgSend=1024;
MaxSizeGuaranteed=1024;
MaxSizeNonguaranteed=512;
MinErrorToSend=0.020000001;
MinErrorToSendNear=0.020000001;

server.cfg:

hostName = "***";
password = "***";
passwordAdmin = "***";
maxPlayers = 4;
logFile = "";
reportingIP = "127.0.0.1";
timeStampFormat = "short";
disableVoN = 1;
persistent = 1;
kickduplicate = 0;
verifySignatures = 1;
BattlEye = 0;
localClient[]={127.0.0.1};

class Missions
{
class Mission1
{
	template = "56_warfarev2_0732litecohc.Takistan";
	difficulty = "regular";
	class Params
	{
		WFBE_C_AI_DELEGATION = 2;
		WFBE_C_AI_MAX = 8;
		WFBE_C_PLAYERS_AI_MAX = 12;
		WFBE_C_AI_TEAMS_JIP_PRESERVE = 0;
		WFBE_C_AI_TEAMS_ENABLED = 1;
		WFBE_C_ARTILLERY = 1;
		WFBE_C_ARTILLERY_COMPUTER = 2;
		WFBE_C_ARTILLERY_UI = 1;
		WFBE_C_AI_COMMANDER_ENABLED = 1;
		WFBE_C_STRUCTURES_ANTIAIRRADAR = 1;
		WFBE_C_BASE_AREA = 24;
		WFBE_C_BASE_DEFENSE_MAX_AI = 100;
		WFBE_C_BASE_DEFENSE_MANNING_RANGE = 1000;
		WFBE_C_STRUCTURES_MAX = 10;
		WFBE_C_STRUCTURES_CONSTRUCTION_MODE = 0;
		WFBE_C_STRUCTURES_HQ_COST_DEPLOY = 100;
		WFBE_C_STRUCTURES_HQ_RANGE_DEPLOYED = 50;
		WFBE_C_BASE_PATROLS_INFANTRY = 4;
		WFBE_C_BASE_START_TOWN = 1;
		WFBE_C_BASE_STARTING_DISTANCE = 9000;
		WFBE_C_BASE_STARTING_MODE = 2;
		WFBE_C_STRUCTURES_COLLIDING = 1;
		WFBE_C_ECONOMY_CURRENCY_SYSTEM = 0;
		WFBE_C_ECONOMY_INCOME_INTERVAL = 30;
		WFBE_C_ECONOMY_INCOME_SYSTEM = 4;
		WFBE_C_ECONOMY_FUNDS_START_EAST = 8000;
		WFBE_C_ECONOMY_FUNDS_START_WEST = 8000;
		WFBE_C_ECONOMY_FUNDS_START_GUER = 8000;
		WFBE_C_ECONOMY_SUPPLY_START_EAST = 3600;
		WFBE_C_ECONOMY_SUPPLY_START_WEST = 3600;
		WFBE_C_ECONOMY_SUPPLY_START_GUER = 3600;
		WFBE_C_ECONOMY_SUPPLY_SYSTEM = 0;
		WFBE_C_ENVIRONMENT_FAST_TIME = 0;
		WFBE_C_ENVIRONMENT_STARTING_HOUR = 9;
		WFBE_C_ENVIRONMENT_STARTING_MONTH = 6;
		WFBE_C_ENVIRONMENT_WEATHER_VOLUMETRIC = 1;
		WFBE_C_ENVIRONMENT_WEATHER = 0;
		WFBE_C_MODULE_BIS_BAF = 1;
		WFBE_C_MODULE_BIS_PMC = 1;
		WFBE_C_GAMEPLAY_HANGARS_ENABLED = 1;
		WFBE_C_UNITS_CLEAN_TIMEOUT = 300;
		WFBE_C_UNITS_EMPTY_TIMEOUT = 1200;
		WFBE_C_GAMEPLAY_FAST_TRAVEL = 2;
		WFBE_C_GAMEPLAY_HANDLE_FRIENDLYFIRE = 0;
		WFBE_C_ENVIRONMENT_MAX_CLUTTER = 50;
		WFBE_C_GAMEPLAY_TEAMSWAP_DISABLE = 0;
		WFBE_C_GAMEPLAY_BOUNDARIES_ENABLED = 0;
		WFBE_C_GAMEPLAY_MISSILES_RANGE = 0;
		WFBE_C_MODULE_WFBE_MISSIONS = 1;
		WFBE_C_GAMEPLAY_UID_SHOW = 1;
		WFBE_C_UNITS_PRICING = 0;
		WFBE_C_GAMEPLAY_THERMAL_IMAGING = 3;
		WFBE_C_UNITS_TRACK_INFANTRY = 1;
		WFBE_C_UNITS_TRACK_LEADERS = 1;
		WFBE_C_UNITS_BALANCING = 0;
		WFBE_C_UNITS_BOUNTY = 1;
		WFBE_C_GAMEPLAY_UPGRADES_CLEARANCE = 7;
		WFBE_C_GAMEPLAY_VICTORY_CONDITION = 0;
		WFBE_C_ENVIRONMENT_MAX_VIEW = 2000;
		WFBE_C_MODULE_WFBE_FLARES = 2;
		WFBE_C_MODULE_WFBE_EASA = 1;
		WFBE_C_MODULE_BIS_HC = 1;
		WFBE_C_MODULE_WFBE_ICBM = 1;
		WFBE_C_MODULE_WFBE_IRS = 1;
		WFBE_C_MODULE_UPSMON = 1;
		WFBE_C_RESPAWN_CAMPS_MODE = 2;
		WFBE_C_RESPAWN_CAMPS_RULE_MODE = 0;
		WFBE_C_RESPAWN_DELAY = 10;
		WFBE_C_RESPAWN_LEADER = 1;
		WFBE_C_RESPAWN_MASH = 1;
		WFBE_C_RESPAWN_MOBILE = 1;
		WFBE_C_RESPAWN_PENALTY = 0;
		WFBE_C_RESPAWN_CAMPS_RANGE = 4000;
		WFBE_C_UNITS_RESTRICT_AIR = 0;
		WFBE_C_TOWNS_AMOUNT = 4;
		WFBE_C_CAMPS_CREATE = 1;
		WFBE_C_TOWNS_CAPTURE_MODE = 1;
		WFBE_C_TOWNS_CONQUEST_MODE = 0;
		WFBE_C_TOWNS_DEFENDER = 3;
		WFBE_C_TOWNS_GEAR = 3;
		WFBE_C_TOWNS_OCCUPATION = 3;
		WFBE_C_UNITS_FACTION_EAST = 2;
		WFBE_C_UNITS_FACTION_WEST = 1;
		WFBE_C_TOWNS_REINFORCEMENT_OCCUPATION = 3;
		WFBE_C_TOWNS_PATROLS = 3;
		WFBE_C_TOWNS_BUILD_PROTECTION_RANGE = 500;
		WFBE_C_UNITS_TOWN_PURCHASE = 1;
		WFBE_C_UNITS_FACTION_GUER = 1;
		WFBE_C_TOWNS_REINFORCEMENT_DEFENDER = 3;
		WFBE_C_TOWNS_VEHICLES_LOCK_DEFENDER = 0;
		WFBE_C_TOWNS_STARTING_MODE = 0;
	};
};
};

Tweaks in Init_CommonConstants.sqf:

	WFBE_C_TOWNS_DETECTION_RANGE_ACTIVE_COEF = 3; //--- Town activation range once active (town range * coef)
WFBE_C_TOWNS_DETECTION_RANGE_COEF = 3; //--- Town activation range while idling (town range * coef)

Simply open the editor and remove some slots :P

Otherwise you'll end up with 56*8 AI handled by the server (ai teams).

The tweak in the constants shouldn't impact the server FPS that much ihmo, try not to put it too high otherwise you'll end up with a badass chain reaction (3 = 1.5 km~) :D

Chaman is captured > Jilavur is triggered > kushab is triggered > chaman is triggered ...

Share this post


Link to post
Share on other sites

Hi Benny, I just played a single player LAN game for 3 hours. And just as with version 073, version 073-2 Factory Upgrades seem to stop upgrading when the Commander is AI. I'm not sure if this is by design, or a bug.

Level 2 Barrack; 2 Gear; 2 Light Factory; 1 Supply.

Everything else seems to work fine.

Share this post


Link to post
Share on other sites

Hi Benny, thanks for the awesome mission! Am I missing something or is it not possible to spawn empty vehicles? Also would be more than grateful if the next version would contain "dedicated server saving for noobs"-option :D

Share this post


Link to post
Share on other sites
Hi Benny, I just played a single player LAN game for 3 hours. And just as with version 073, version 073-2 Factory Upgrades seem to stop upgrading when the Commander is AI. I'm not sure if this is by design, or a bug.

Level 2 Barrack; 2 Gear; 2 Light Factory; 1 Supply.

Everything else seems to work fine.

Hey,

Are you sure that it was supply 1? This is the upgrade path of the AI Commander, did he have the supply for it?

[WFBE_UP_BARRACKS,1],
[WFBE_UP_GEAR,1],
[WFBE_UP_LIGHT,1],
[WFBE_UP_SUPPLYRATE,1],
[WFBE_UP_BARRACKS,2],
[WFBE_UP_GEAR,2],
[WFBE_UP_LIGHT,2],
[WFBE_UP_BARRACKS,3],
[WFBE_UP_LIGHT,3],
[WFBE_UP_RESPAWNRANGE,1],
[WFBE_UP_SUPPLYRATE,2],
[WFBE_UP_HEAVY,1],
[WFBE_UP_HEAVY,2],
[WFBE_UP_ARTYTIMEOUT,1],
[WFBE_UP_SUPPLYRATE,3],
[WFBE_UP_HEAVY,3],
[WFBE_UP_ARTYTIMEOUT,2],
[WFBE_UP_GEAR,3],
[WFBE_UP_RESPAWNRANGE,2],
[WFBE_UP_ARTYTIMEOUT,3],
[WFBE_UP_AIR,1],
[WFBE_UP_AIRLIFT,1],
[WFBE_UP_RESPAWNRANGE,3],
[WFBE_UP_AIR,2],
[WFBE_UP_FLARESCM,1],
[WFBE_UP_PARATROOPERS,1],
[WFBE_UP_PARATROOPERS,2],
[WFBE_UP_AIR,3],
[WFBE_UP_UAV,1],
[WFBE_UP_PARATROOPERS,3],
[WFBE_UP_EASA,1],
[WFBE_UP_SUPPLYPARADROP,1],
[WFBE_UP_AIRAAM,1]

Hi Benny, thanks for the awesome mission! Am I missing something or is it not possible to spawn empty vehicles? Also would be more than grateful if the next version would contain "dedicated server saving for noobs"-option :D

Hey,

You can buy empty vehicles, by default they come manned (check the wheel/gunner/commander icons above the units list in the vehicle buy menu, you can click on them).

Share this post


Link to post
Share on other sites

Hi Benny

Everything plays fine and smooth with this new version and out of curiosity i thought i'd check my RPT and i'm getting this continuously:

for '_i' from 0 to count(_template)-1 do {
_current = _template s>
 Error position: <_template)-1 do {
_current = _template s>
 Error Undefined variable in expression: _template
Error in expression <ce = objNull;

Again, appreciate all the time and effort put into this mate. ;)

Edited by Law-Giver

Share this post


Link to post
Share on other sites

Hi Benny, yes it always happen this way after 20 minutes of play. Supply and Money was set to max level on all sides. Supply was +5000 to 10000 (after 2-3 hours).

Level 2 Barrack; 2 Gear; 2 Light Factory; 1 Supply.

There is my RPT if it might help.

http://sdrv.ms/WlENhV

Share this post


Link to post
Share on other sites

Your isHostedServer in the init does not work, I replaced it with

isHostedServer = (isServer && !isDedicated);

so I can play on a listen server

Share this post


Link to post
Share on other sites

Another thing concerning AI. I keep having problems with AI Air buytypes being availible from the beginning on, even before having built a Barracks/Aircraft Factory/Command Center at all.

Whats even worse is that in the 56 player Version, 24 AI's get an Air buytype assigned from the beginning on, and of course they wont build anything at all because the Chopper is on top of the priority list. It gets balanced later in the game, as i research more and more stuff. When ive researched everything the buytype balance between heavy/air/infantry/light is balanced, but before that its just air madness.

At first i thought this was due to the high number of mods i was using with the game, but i just tried with all mods deactivated and it still happens. The problem is also persistent across all Warfare BE Versions ive tried from 2.071 upwards.

Is this a problem that only i am facing? Or is it a bug that came up with recent beta patches?

Share this post


Link to post
Share on other sites
Another thing concerning AI. I keep having problems with AI Air buytypes being availible from the beginning on, even before having built a Barracks/Aircraft Factory/Command Center at all.

Whats even worse is that in the 56 player Version, 24 AI's get an Air buytype assigned from the beginning on, and of course they wont build anything at all because the Chopper is on top of the priority list. It gets balanced later in the game, as i research more and more stuff. When ive researched everything the buytype balance between heavy/air/infantry/light is balanced, but before that its just air madness.

At first i thought this was due to the high number of mods i was using with the game, but i just tried with all mods deactivated and it still happens. The problem is also persistent across all Warfare BE Versions ive tried from 2.071 upwards.

Is this a problem that only i am facing? Or is it a bug that came up with recent beta patches?

Use command center menu and define new buy types for the AI ...

Share this post


Link to post
Share on other sites

Yes, that is an option of course. But first of all it is kind of annoying, especially because once you have set your own buytypes, the ai wont re-adjust the buytypes once youve researched more factory upgrades, so youre stuck setting all buytypes manually for the rest of the game.

And secondly this bug also applies to the enemy team, so the only option for me to manually fix it is to disable "kick teamswappers" and manually adjust both team's buytypes throughout the game.

Surely this can not be the intended way to play the game.

Share this post


Link to post
Share on other sites
Your isHostedServer in the init does not work, I replaced it with
isHostedServer = (isServer && !isDedicated);

so I can play on a listen server

That's odd, i've never really had any trouble with isServer && local player before. I'll change it just in case.

Another thing concerning AI. I keep having problems with AI Air buytypes being availible from the beginning on, even before having built a Barracks/Aircraft Factory/Command Center at all.

Whats even worse is that in the 56 player Version, 24 AI's get an Air buytype assigned from the beginning on, and of course they wont build anything at all because the Chopper is on top of the priority list. It gets balanced later in the game, as i research more and more stuff. When ive researched everything the buytype balance between heavy/air/infantry/light is balanced, but before that its just air madness.

At first i thought this was due to the high number of mods i was using with the game, but i just tried with all mods deactivated and it still happens. The problem is also persistent across all Warfare BE Versions ive tried from 2.071 upwards.

Is this a problem that only i am facing? Or is it a bug that came up with recent beta patches?

Don't bother too much with that problem, the whole AI commander/teams FSM are being rewrote so the problem shall be gone.

Share this post


Link to post
Share on other sites

Alright then :)

Will you be making any chances to the AI capabilities regarding transporting? Its just so sad to see the transport chopper/Truck/IFV following the AI squadleader walking from one end of the map to the other. SOMETIMES the leader enters the transport he has built, but it seems like he only does that when he is close to the base when the transport vehicle is finished building.

Share this post


Link to post
Share on other sites
That's odd, i've never really had any trouble with isServer && local player before. I'll change it just in case.

In my case, the init was running before the engine initialized the player object, so at that point in time

local player = false

.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×