This article sets out some key basic information for running a DayZ server on AMP.
1. Server versions
AMP has two templates for DayZ:
Original - for running the original server (Steam AppID 223350)
Experimental - for running the experimental server (Steam AppID 1042420)
The original server currently is only available on Windows. Support for Linux using Wine may be enabled in future. The experimental server is available on both Windows and Linux.
Use the client type that matches the server.
2. Dependencies on Windows
DayZ requires the following dependencies on Windows to be installed:
DirectX End-User Runtimes (June 2010) (if the web installer doesn’t work, you can download the files from here and manually install them)
DayZ uses (or reserves) a number of ports, which are allocated accordingly in AMP:
- Game Port: 2302 UDP by default
- Reserved Port: 2303 UDP by default
- BattlEye Port: 2304 UDP by default
- RCON Port: 2305 UDP by default
- Query Port: 27016 UDP by default
At least the game port and query port need to be port forwarded (if you’re on a NAT network). Also forward the BattlEye port if using BattlEye on the server.
Check what ports are actually allocated to your instance by clicking on the “Edit Ports” button for the instance.
The query port is used for finding and connecting to the server in Steam. The game port is used for finding and connecting to the server in-game.
You can use the RCON port to connect to the server’s RCON by an external RCON client if needed.
Note that the reserved port and the BattlEye port are configured by the server as relative to the game port. So the reserved port is game port + 1 and the BattlEye port is game port + 2. Make sure that the relevant ports are sequential in AMP.
All settings that can be configured in the server’s config file, as listed here, are included in AMP’s UI.
You can search for a setting using its formal name (eg
allowFilePatching) using AMP’s search bar to find it in AMP’s UI.
AMP uses a file called
AMP_serverDZ.cfg to control DayZ’s settings. This file is in the server base directory. This file writes the relevant settings to
serverDZ.cfg, which is then loaded by the server. Don’t edit
serverDZ.cfg directly - AMP will overwrite it.
AMP_serverDZ.cfg has two sections. You should not change the first section in any way.
Any settings that are not handled by AMP in the first section (none at the time of template creation) can be added in the second section, under “USER CONFIGURABLE SETTINGS”.
The “Steam workshop items” option under the SteamCMD and Updates menu is used to download and update mods on the server.
Specify the mods to be downloaded and updated by adding its mod ID, such as
1819514788. Each mod ID has to be added separately. Order doesn’t matter.
The mods will be downloaded and updated whenever the server is updated.
The mod files are downloaded to the directory
steamapps/workshop/content/221100, in separate directories.
To load mods, they need to be specified either under “Load Mods” or “Load Server Mods” in the DayZ Server Settings menu, depending on the mod type (ie whether they need to be used on the client as well, or only on the server).
The mod lists must be separated by semi-colons.
On both Windows and Linux, AMP automatically creates symlinks (technically directory junctions on Windows) in the server base directory to the mod directories downloaded via SteamCMD and Updates. So you only have to specify the mod IDs to load them, such as
On Linux, AMP also ensures that all the mod files are in lowercase, to prevent loading issues.
Note that, for some mods, order of loading is important.
5.3 Signature verification
DayZ requires addon signature verification, meaning that clients cannot connect if they are using mods not allowed by the server. This is a cheating protection.
To permit mods, the relevant
.bikey file needs to be added to the
keys directory in the server base directory. For mods installed on your server that clients are also intended to use, copy the
.bikey files from the
keys directory inside each mod directory. Also add the
.bikey files of other mods (eg client-only mods) that you wish to allow.
6. Server binding
By default the DayZ server is bound to the application IP binding set for the instance. This is normally 0.0.0.0 (all interfaces) unless it has been changed under New Instance Defaults.
If you have multiple IPs on your host, you may wish to bind the server to one of them. You can change the
App.ApplicationIPBinding setting in
GenericModule.kvp in the instance datastore for that purpose. The instance (not just the server) must be stopped before editing this setting.
The IP binding set in this way must be one that AMP itself can reach. Otherwise AMP will not be able to connect to the server’s RCON, and therefore logging output to the console, and input from the console, will not be enabled. This can particularly be an issue if the server is bound to a public IP (such as on a VPS). Generally it is better to keep the binding as 0.0.0.0.