Navigation: VEAF documentation site - main page > Mission Creation Tools
🚧 WORK IN PROGRESS 🚧
The documentation is being reworked, piece by piece. In the meantime, you can browse the old documentation.
Table of Contents
- complete use case (VEAF public servers) - here
- set up and use the veaf-tools application - here
- configure and use the Weather Injector - here
- configure and use the Mission Selector - here
Introduction
This NodeJS application is a collection of tools that can be used to manipulate missions.
At the moment, it contains the following tools:
- Weather injector
- mission selector
Use case
The VEAF use these tools along with some server hook lua scripts and Powershell process watchdogs (all available on [this GitHub repository][VEAF public servers repository]) to have our servers running 24/7, and restarting automatically if they crash.
Every two hours, if no one is connected (or when the last player disconnects), the server will restart.
The startup script will call the weather injector tool, which will generate a set of missions for this server, with different weather conditions (including real-world weather at the time).
Then it’ll call the mission selector tool, which will select the mission to start depending on the time of the day and the schedule:
This ensures that our servers are always up, and set up with the mission we collectively decided to load for that time.
Weather injector
The Weather injector is a tool that transforms a single mission file into a collection of missions, with the same content but different weather and starting conditions.
It can be used to inject a predefined DCS weather definition, read a METAR and generate a mission with the corresponding weather, or even use real-world weather.
It can also create different starting times and dates for the mission, either with absolute values (e.g., 26/01/2023 at 14:20), or with predefined “moments” (e.g., two hours after sunset).
This is a very useful tool to use with a server that runs 24/7 and that needs to have different weather conditions for each time it starts the same mission.
Mission selector
The mission selector is used to start a dedicated server with a specific mission, depending on a schedule that is defined in a configuration file.
Installation
This is an autonomous tool, it does not need a specific VEAF Mission Creation Tools environment (as described here).
It’s therefore very easy to install on a server, or on your own computer.
Nota bene: this chapter is also available as a tutorial video
You’ll need to install these tools on your computer:
- NodeJS: you need NodeJS to run the JavaScript programs in the VEAF mission creation tools; see here
- yarn: you need the Yarn package manager to fetch and update the VEAF mission creation tools; see here
Install the tools using Chocolatey
The required tools can easily be installed using Chocolatey (see here).
To install Chocolatey, use this command in an elevated (admin) Powershell prompt:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
After Chocolatey is installed, install NodeJS by typing this simple command in a command prompt:
choco install -y nodejs
Then close and reopen the command prompt.
Install the veaf-tools application
In a command prompt type:
npm install -g veaf-mission-creation-tools
Then close and reopen the command prompt.
General usage of the application
To run the VEAF tools, simply type veaf-tools
in a command prompt.
Updating the application
To update the VEAF tools, simply do the same as for the installation.
In a command prompt type:
npm install -g veaf-mission-creation-tools
NPM will fetch and install the latest version automatically.
Using the Weather injector
Please consult the Weather injector documentation for more information.
Using the Mission selector
Please consult the Mission selector documentation for more information.
Contacts
Made and maintained by the Virtual European Air Force, a French DCS pilot community.
If you need help or you want to suggest something, you can
- contact Zip on GitHub or on Discord
- go to the VEAF website
- post on the VEAF forum
- join the VEAF Discord