Author Topic: Box Dynamic Campaign Server  (Read 950 times)

Offline AKA_Scorp

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • View Profile
Box Dynamic Campaign Server
« on: April 07, 2018, 02:38:44 pm »
We are moving slowly closer to getting a BoX Dynamic Campaign server up and running. 

I spent almost all of yesterday trying to figure out how to set it up on my home system.  The instructions are sparse but with what there is and from the forums (people who had the same issues I was) I finally got it running last night.

This morning (Saturday) I multi-tasked between trying to setup a Dynamic Campaign on the AKA server and watching Manchester United come back from 0-2 to win 3-2 against their arch rivals Manchester City.

I had hoped that it would be possible to just copy our BoX install to another folder and it would work.  It certainly looked like it was working, the DServer started and said it was registered on the master server but it never showed up on the list as available to join.  At present I am downloading BoX into a different folder than the normal server we run.  There are two reasons for this:
  • For the campaign to work it must be installed in a folder that has no spaces right the way back to the Drive letter. If I did this it would mess up everything else on the server.
  • If we run our normal server as we do now it will create log files that will mess up any campaign we try to run

There are a number of campaigns that come with it, these will probably be the ones we see on Coconuts server.  It is possible to make our own campaigns but that is still a ways off.

If I every get it working I'll let you know.

AKA_Scorp

Offline AKA_Taipan

  • Commanding Officer
  • Administrator
  • Hero Member
  • *****
  • Posts: 741
  • AKA_Wardogs
    • View Profile
Re: Box Dynamic Campaign Server
« Reply #1 on: April 07, 2018, 02:58:47 pm »
A great football game indeed! Pogda was great for a change and City have to wait for the cup👍🏻
Thanks for all the work and your efforts!

Cheers

Tai


Sink your teeth in...Let go only when dead.

Offline AKA_BUCKY

  • AKA_Wardogs
  • Sr. Member
  • *
  • Posts: 293
    • View Profile
Re: Box Dynamic Campaign Server
« Reply #2 on: April 07, 2018, 04:49:22 pm »
That's great Scorp.  Thanks!

Offline AKA_Relent

  • Training Officer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1715
  • AKA_Wardogs
    • View Profile
Re: Box Dynamic Campaign Server
« Reply #3 on: April 07, 2018, 05:35:39 pm »
Great news Scorp!  Thanks for your effort, looking forward to what you can come up with.

S! Rel

Offline AKA_Scorp

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • View Profile
Re: Box Dynamic Campaign Server
« Reply #4 on: April 08, 2018, 09:02:21 am »
The Campaign Server is up and running.  It only has a single mission not the dynamic campaign, still needs some work.

Once I get Gos to open up a few more ports in his firewall I will put the old server back up and both will run at the same time.

AKA_Scorp

Offline AKA_Relent

  • Training Officer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1715
  • AKA_Wardogs
    • View Profile
Re: Box Dynamic Campaign Server
« Reply #5 on: April 08, 2018, 11:42:59 am »
Great job Scorp!  I jumped in and was able to get up and fly, excellent! :).

One small thing, maybe something with settings... I took off in an IL2 from Kalach and attacked Zryininsky, which showed as fully green (should be fully defended with AAA).  I saw minimal flak bursts and killed a 37mm, but was pretty much free to attack with no defensive fire.  I destroyed 14 planes on the ground and a few fuel storage tanks, and left..  not complaining as an attacker ;), but if I was on the German side I'd be a little miffed that it was so easy for one plane to ravage an airbase.  I wonder if there are settings to adjust this sort of thing, stuff I'm sure you'll probably be looking into tweaking anyway.

Still, it's great, our own little mini-AKA/Coconut campaign server, you da man Scorp!  If you need help and want to give me the Cliffs notes version, I can assist with tweaking.  For example, tweaking the plane set, or counts, etc.  I notice there are limited aircraft numbers in Coconuts campaigns, with slightly more at a "supply" base.  This would be an easy tweak to increase the numbers at a designated supply base on both sides, so that you don't run out of aircraft - especially if it's so easy to destroy them at the airfields and deplete the numbers.  Also, if we wanted to add a couple aircraft types, I imagine it wouldn't be too difficult, but more to learn.  All we need now is stats for the point whores (you all know who you are! :) ), and we're set! :D

Thanks again Scorp - this is great... the only reason I see to keep the dogfight server going is that it could be a place (like it is now) to have all aircraft available, for training, practice, etc.

S! Rel

Offline AKA_Relent

  • Training Officer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1715
  • AKA_Wardogs
    • View Profile
Re: Box Dynamic Campaign Server
« Reply #6 on: April 08, 2018, 07:42:12 pm »
Hey Scorp - I killed the two BoX servers running prior to starting the usual '46 campaign mission.  I went to restart them after but I only started the dogfight server (Battle of Stalingrad Dedicated Server, at the original/first location).  Assuming you have another copy of the dedicated server, and another config file.  Can you start the dynamic campaign for me?

Thanks.. S! Rel

Offline AKA_Scorp

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • View Profile
Re: Box Dynamic Campaign Server
« Reply #7 on: April 08, 2018, 09:48:57 pm »
Rel,

The mission you were flying was one of the campaign missions but the campaign was not running.  After more trying things that didn't work I think I have the campaign running.  I went in and attacked a tank column with some success and made it home.  I'll know how things are working if it's still running tomorrow.

The way it looks to me I think the objects on the map are controlled by a template mission (much like our campaign) and a config file that sets the density of objects, number of AI aircraft etc.  It's early days and there is limited documentation so I don't see it being a fast process but at least we have made a start.

When we get a chance I'll run you through starting it up.
AKA_Scorp

Offline AKA_Relent

  • Training Officer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1715
  • AKA_Wardogs
    • View Profile
Re: Box Dynamic Campaign Server
« Reply #8 on: April 08, 2018, 10:43:09 pm »
Sounds good Scorp, thanks.
S! Rel

Offline AKA_Greywolf

  • AKA_Wardogs
  • Sr. Member
  • *
  • Posts: 317
    • View Profile
Re: Box Dynamic Campaign Server
« Reply #9 on: April 09, 2018, 05:29:22 am »
Nice work on AKA server Scorp. Went in last night for a quick test and it was very much like coconuts. Are we going to ease up on the settings tho?

The three most common expressions (or famous last words) in aviation are: "Why is it doing that?" "Where are we?" and "Oh Shit!"


Offline AKA_Relent

  • Training Officer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1715
  • AKA_Wardogs
    • View Profile
Re: Box Dynamic Campaign Server
« Reply #10 on: April 09, 2018, 07:54:08 am »
I meant to mention settings too, if we’re putting our vote in :).  I like the way it’s set up, it’s like a cross between Coconuts expert and normal...  the briefing map shows your icon, but externals and labels are off.  For what it’s worth.

S! Rel

Offline AKA_Greywolf

  • AKA_Wardogs
  • Sr. Member
  • *
  • Posts: 317
    • View Profile
Re: Box Dynamic Campaign Server
« Reply #11 on: April 09, 2018, 10:09:47 am »
Well if the concept of having our own BoX server is for both practice and a secondary purpose of developing and acclimating current AKA members to the BoX style of gameplay and aircraft operation. Having a fixed setting in which the icons are turned off is most likely going to be detrimental and will keep the new players away.

Just my 2 cents on the matter.

Also for what it's worth ..... I'm pretty sure the game developers did put in the ability for every player to turn on/off their icons. If you want to enforce the icons being off at the server level ..........

There is also the kiddie pool ..... come on in the water is fine.

Grey

The three most common expressions (or famous last words) in aviation are: "Why is it doing that?" "Where are we?" and "Oh Shit!"


Offline AKA_Scorp

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • View Profile
Re: Box Dynamic Campaign Server
« Reply #12 on: April 09, 2018, 10:27:25 am »
When I started the server yesterday I wasn't paying attention to settings, I was just trying to get it running without loosing what little hair I have left.

I checked this morning and the server was still up  :) and it looks to me as if the front line has moved so it which meets all the expectations I had for this stage.

When restarting this morning I have adjusted the setting so that everyone can touch the bottom with their toes.

If the server stays stable the next step is coming up with an AKA designed campaign (even if it is only a modification of one of Coconuts Campaigns).
AKA_Scorp

Offline AKA_Scorp

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • View Profile
Re: Box Dynamic Campaign Server
« Reply #13 on: April 09, 2018, 10:31:49 am »
How to create a campaign map

1. Define campaign start date
Done in the mission properties dialog.

2. Define regions
Use influence areas.
They cannot overlap.
Each region's boundary must be convex.
Neighbouring regions must share contiguous segments. Corresponding vertices must be close.
In a region's boundary, vertices must be separated by at least 2km.
Airfields that participate in the campaign must all be located within some region.
Neighbouring regions should be connected by roads or rails. The roads and rails can go through other regions, or outside of all regions, but they must start and end in the two regions.
Avoid holes between regions, they will look ugly in the mission map and confuse players.
Put region icons on identifiable cities, need not be in the center of the region.
Put all regions in a group named "Regions".
Set region owners. Each coalition must own at least one region with factories.
In the initial world state, regions which have "***" in their Description are fully supplied. Those are the "strong bases".
Other regions are supplied depending on their distance to the nearest strong base.

3. Define roads and railways
Each road path must start with a waypoint named "StartR" or "StartL" and finish with another one named "EndR" or "EndL".
Each rail path must start with a waypoint named "Start" and finish with another one named "End".
Each path is bidirectional, so you don't need (and must not) define another identical path going in the opposite direction.
The speed, altitude and radius of waypoints do not matter.
The direction matters, and should be a tangent of the road/railway at the location of the waypoint.
Roads must be put in a group called "Roads", railways must be in "Trains".
Each bridge should be preceded by a waypoint named "BeforeBridge" and followed by a waypoint named "AfterBridge" (Not implemented yet, so you need not bother for now).
Make sure you place the waypoints on the actual location of the road. You need to use the terrain view in the editor, as the GUI map is often misaligned.
Consecutive waypoints should be separated by at most 20km (direct line).
Waypoints of roads should be adjusted to match the ground's altitude.
If the waypoint name ends with "R", the column will spawn in a line to the right of the waypoint, at 90 degrees of the waypoint's direction.
Similarly if it ends with "L", but on the left side instead.
Picking the side where the convoy spawns is important if one side is occupied by a lake or by static objects.

4. Water paths
Create waypoints with end points named Start and End. They should be between 20 and 30km long. Start point must be in start region, End point in destination.
Regions of start and end must be neighbours.
The game automatically creates mirrored paths, i.e. the paths you specify are two-ways.
Put all these waypoints in groups named "Sea" and "River".

Note about spacing of waypoints in seaway paths: Try to keep at most 10km between two consecutive waypoints.
Keep the waypoints within the influence areas of regions.
The reason for that is that the mission generator will pick a sub-sequence of the path that is short enough that a cargo convoy does not take more than one hour.
Excessively long supply convoys would delay other convoys planned later in the mission.
Seaway paths are also used for military ships, and those are typically faster. They need longer paths so that their missions last one hour.

5. Place factories
Place static blocks in a group named "Factories" or "Static".
Suitable static blocks start with: "industrial_", "vl_pvrz01", "vl_rounddepot" (complete list is actually bigger than that).
Tip: On the Kuban and Moscow maps, all you need to do is import the template for that map into a group named "Static".
Factory buildings will be recognized automatically.

6. Place supply storage
Place static blocks with entities in a group named "Storage".
Suitable static blocks are: "arf_barak" (100), "arf_dugouts_2" (400), "arf_dugouts_3" (600).
Number between parentheses above are the storage capacity of each static block.
Storage is used for anti-tank (AT) and anti-air (AAA) defenses. Each gun consumes 50.
(Note: the storage groups I used in Velikie-Luki provide 3200 storage units, enough for 64 guns)
Storage near airfields is used for bombs, each storage unit represents 10Kg of bombs.

7. Define AAA defense zones
Use influence areas named "AAA-nn" or "AA-nn" in a group named "Defenses", with "nn" replace by a number indicating the maximum number of guns in that area.
If the zone is named "AAA-nn", it will be composed of flak and fast firing artillery (20mm).
If the zone is named "AA-nn", it will be composed of flak and anti-air machine guns. The Germans get more machine guns than the Russians due to the difference in fire power of their respective machine guns.
Each area must be located within a region.
Each area must be convex.
Avoid trees and buildings in the area.

Make sure there is enough storage in the region for all the AAA canons in the defense areas.
Additional storage facilitates transferring supplies, it's a good idea to leave some extra storage capacity unused for defenses.

8. Define battle areas
Use influence areas in a group named "Battles". Each influence area should be shaped as a rectangle that is about 5km long.
The marker of each area should be roughly in its center.
There should be an influence area for each direction from which a region can be attacked, facing the direction from which attackers will come.
In other words, there should be an area for each neighbouring region connected with a road, facing that region.
Strictly speaking, only one battle area is really needed, but having multiple properly oriented lets the mission generator create more believable battles.

9. Define airfield spawn points
Use fakefields for planes. Both types (sideways and runway) can be used. They must be in a group named "Aifield spawns"
Do not create the entity.
Do create the chart. It's needed for picking spawn points according to wind, and also for AIs that are landing.
Create multiple spawn points, typically one at each runway end. This allows the mission generator to pick a takeoff and landing direction that faces the wind.
These alternative waypoints should all have the same name (typically the name of the airfield).

10. Define airfield storage
Create hangars in a group called "Airfield storage".
Alternatively, all hangars, ammo tents and fuel tanks found under "Static" will be considered.
These hangars must be within 3km of the airfield's spawn points.

11. Place plane parking spots
Planes are parked in caponiers. If needed, add a couple to an airfield that lacks them.
There are multiple sizes, make sure there is enough of each type (small fighters, medium attackers, large bombers and transports)

12. Place tank parking areas
Use influence areas in a group named "Tank parks"
Make sure there's plenty of room for up to 100 tanks
Each region must have exactly one

13. Windsocks
Create windsocks with entities in a group named "Windsocks"

14. Non-directional beacons
Create non-directional beacons (ndb under "vehicles") with entities in a group named "NDBs".
Set beacon channel to 1 in the advanced properties.
Keep the the number of NDBs low. The game puts them all in the same channel, so having too many of them will confuse players.

15. Land fires
Create land fire effects with entities named "LandFire" in a group named "Land fires"

16. Land lights
Create land lights with entities named "LandLight" in a group named "Land lights".
Create a pair for each spawn so that planes will take off and land with the lights in their back.

17. Bridges and other buildings
Bridges and other blocks, buildings... need not be in groups, although they can.
You can import the standard templates and leave them as is. The mission generation script will remove everything that's not in a region, and keep the rest.

18. Anchorage (not used yet)
They play a similar role to tank parks, but for armed ships (destroyers, speed boats and submarines).
Create influence areas name "Anchorage" in a group name "Anchorage".
Orientation of influence areas is used to orient the ships.
AKA_Scorp

Offline AKA_Scorp

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • View Profile
Re: Box Dynamic Campaign Server
« Reply #14 on: April 09, 2018, 10:34:08 am »
This is the settings file, it more or less controls how busy the mission gets as far as AI objects go, plane set, and map.

Campaign:
    # Can be auto or the name of a plane set
    PlaneSet: auto
    # Name of file describing the scenario
    StrategyFile: StalingradSummer.Mission
    # Whether to use the textual mission file (slow but better compatibility with new versions of the game)
    # Otherwise the binary file is used (fast, but new versions of the game often change that format)
    UseTextMissionFile: true
    # Seed for the random generator; affects weather
    Seed: 42
    # Max deviation of the weather with respect of standard weather for start date
    WeatherDayMaxOffset: 7
    # Max number of fires (on destroyed storage/factories)
    MaxFires: 20
    # Max number of convoys in mission (per side)
    MaxConvoys: 8
    # Max number of attacker planes (per side)
    MaxAttackers: 3
    # Max number of patrolling fighters (per side)
    MaxPatrols: 4
    # Max number of captured planes available for spawning (per airfield)
    MaxCapturedPlanes: 0
    # Base name of generated mission file
    MissionName: DynCampaign
    # Length of mission, in minutes
    MissionLength: 180
    # Interval between group of vehicles in a column (for columns larger than 15 tanks)
    ColumnSplitInterval: 60
    # Max number of convoys active simultaneously (per side)
    MaxSimultaneousConvoys: 2
    # Max number of ferry flights active simultaneously (per side)
    MaxSimultaneousFerryFlights: 2
    # Max number of vehicles in a battle (per side)
    MaxVehiclesInBattle: 15
    # Number of in-game tank kills per battle resolution kills
    BattleKillRatio: 5
    # Ratio of max in-game tank kills (by players) in battles
    MaxBattleKillsRatioByPlayers: 1.0
    # Ratio of max in-game tank kills (by AI) in battles
    MaxBattleKillsRatioByAI: 0.25
    # Where the textual generated mission file is written; this also the place where the campaign state is kept
    OutputDir: D:\BoXCampaign\data
    # IL2 data dir
    ServerDataDir: D:\BoXCampaign\IL2\data
    # IL2 bin dir
    ServerBinDir: D:\BoXCampaign\IL2\bin
    # SDS file, relative to data dir
    ServerSdsFile: sds\campaign.sds
    # Where this file resides
    InstallPath: D:\BoXCampaign\Campaign\bin
    # Whether to purge old mission logs
    PurgeLogs: true
    # Max think time for column movement planning
    ThinkTime: 60
    # Total production of all factories in an average region. Used to compute production factor to adjust production per factory building on the map.
    DesiredProduction: 300.0
    # Amount of production (resource units per hour) for planes. 500.0f gives one i16 or bf109e7 per hour.
    PlaneProduction: 2000.0
    # Fixed part of the mission briefing
    Briefing: |
        This mission is part of a dynamic campaign where the events from one mission affect the following missions.
       
        Objectives: Truck convoys, tank columns, field camps (look for dugouts), factories, parked planes, anti-air cannons.
       
        Each region has a 'life bar' indicating the storage health (colored bar) and current supply level (color of the bar).
        If the bar is red, the region is poorly defended. If it's green, it's fully defended.
        If the bar is short, it means storage is damaged. The shorter the bar, the mode damage.
       
        Some regions have numbers beside their name: these represent the number of tanks in that region at the start of the mission.
       
        Planes can be transferred from one airfield to another, but the result will only be visible in the next mission.

    # If non-empty, webhook URL of a discord channel where comments extracted from the ongoing mission log entries will be posted.
    WebHook: ""
    # Max number of friendly fire incidents. Ban occurs when that number is reached
    MaxFriendlyFireEvents: 2
    # Duration of ban for friendly fire
    FriendlyFireBanDuration: 1
    # Maximum "noob score". When reached, player is banned for NoobBanDuration. Self-inflicted damage after take-off gives 1.0 pt, before take-off 2.0 pts. Friendly fire gives 1.0 pt
    MaxNoobScore: 3.0
    # Ban duration for excessively clumsy players, in hours. 0 will still give the in-game ban of 15min.
    NoobBanDuration: 1
« Last Edit: April 09, 2018, 10:37:00 am by AKA_Scorp »
AKA_Scorp