-
Pwsh 7+: appliction runtime
-
Steamcmd: used for arma 3 server and workshop items download
-
GitHub CLI: used for Github repositories release content download
All 3 softwares should be accessible from the system PATH environment variable.
-
A steam account with the following caracteristics:
-
Own Arma 3 base game (DLC not needed)
-
Not limited account (buying Arma 3 should be enough)
-
Steam Guard on is recommended
-
-
Login to your Steam account using the
steamcmd
command line utility -
Login to your GitHub account using the
gh
command line utility -
Set the
STEAM_USERNAME
to the steam account username used previously
All configuration regarding your server must go into a configuration file. This file is expected to use PSD1 format.
Exemple file:
@{
Port = 2302 # main port used by the server
ServerAffinity = 5 # bitmask for CPU affinity of the server
HeadlessAffinity = 10 # bitmask for CPU affinity of the headless client
Hostname = '[FR] SERVER NAME | www.gsri.team' # name of the server visible on the launcher
DefaultMission = 'CONT_Orion.Malden' # name of the mission the server will load at start
Password = 'bouh!' # password for client connection
Players = 32 # max players for the server
VerifySignatures = $true # wether the server should verify clients pbo signatures
Headless = $true # wether to start a headless client with the server
DisableChannels = @(0, 1, 2, 3, 4, 5) # radio channels to disable, see https://community.bistudio.com/wiki/enableChannel
Admins = @(
76561197967609383 # Arwyn # steamid of players allowed to login as admin on the server
)
Mods = @( # list of mods used both on clients and server
450814997 # - workshop item id
'C:\mods\@GSRI' # - absolute path to local mod
)
ClientMods = @( # list of mods whose keys get added to the server
463939057
)
ServerMods = @( # list of mods used on the server but not by clients
894678801
)
# Select one of below options, depending on how you want to obtain the mission pbo file:
Missions = @{ # the mission that will run on the server
'team-gsri/Orion' # - github repository
'C:\Arma3\missions\custom' # - absolute path to pbo mission files
}
WorkshopPath = 'C:\Arma3' # Path where workshop mods get downloaded
MasterPath = 'C:\Arma3\instances\abcd\master' # Path for the Arma3 server executable
ConfigPath = 'C:\Arma3\instances\abcd\config' # Path for server.cfg, basic.cfg, and pid files
ProfilePath = 'C:\Arma3\instances\abcd\profile' # Path for the server profile
}
Caution
|
Server and Headless affinity are bitmasks, allowing each process to run on different CPU cores for performance purpose. See Microsoft documentation |
Note
|
All commands require administrator privileges |
The following commands are available:
-
Install-ArmaServer
: This command will install the server:-
Download Arma 3 dedicated server binaries and workshop content
-
Download missions from GitHub releases
-
Install BI Keys, mission files, and config files
-
-
Start-ArmaServer
: Starts the server using the current user’s context-
If the server is already running, it will try to stop it first
-
It will also run
Install-ArmaServer
before running the server
-
-
Stop-ArmaServer
: Stops the currently running server -
Register-ArmaServerTask
: This command will register a scheduled task that will restart the server every day-
-UserId
the user which will run the server (default:LocalService
) -
-At
time of the day for the server restart (default: 5AM) -
-Force
overwrite the existing task
-
-
Get-ArmaServerTask
: shorthand command to get the server’s scheduled task:-
Get-ArmaServerTask -ConfigFilename argon.psd1 | Unregister-ScheduledTask
-
Important
|
Due to a bug in steamcmd, download of larger mods will timeout. In that case, you can use Start-Download.ps1 . This script will start the download and yield an error. Then you can wait despite the error and the download will actually continue in the background. Watch your network bandwidth for completion, then use quit to exit steamcmd.
|