DayZ:Server Configuration

From Bohemia Interactive Community
Jump to navigation Jump to search

Introduction

This article deals with the configuration file which is used to configure various game server settings.

The name server.cfg means nothing, and this file can be called anything. The real name is determined by the -config command line option when launching the dedicated server. There is no default name; when non is specified, the server won't launch due to the mandatory settings.

Server Configurations

Main Parameters

hostname = "EXAMPLE NAME";  // Server name
password = "";              // Password to connect to the server
passwordAdmin = "";         // Password to become a server admin
 
maxPlayers = 60;            // Maximum amount of players
 
verifySignatures = 2;       // Verifies .pbos against .bisign files. (only 2 is supported)

forceSameBuild = 1;         // When enabled, the server will allow the connection only to clients with same the .exe revision as the server (value 0-1)
 
disableVoN = 0;             // Enable/disable voice over network (value 0-1)
vonCodecQuality = 20;        // Voice over network codec quality, the higher the better (values 0-30)
 
disable3rdPerson=0;         // Toggles the 3rd person view for players (value 0-1)
disableCrosshair=0;         // Toggles the cross-hair (value 0-1)
 
serverTime="SystemTime";    // Initial in-game time of the server. "SystemTime" means the local time of the machine. Another possibility is to set the time to some value in "YYYY/MM/DD/HH/MM" format, f.e. "2015/4/8/17/23" .
serverTimeAcceleration=1;   // Accelerated Time - The numerical value being a multiplier (0.1-64). Thus, in case it is set to 24, time would move 24 times faster than normal. An entire day would pass in one hour.
serverNightTimeAcceleration=1;// Accelerated Nigh Time - The numerical value being a multiplier (0.1-64) and also multiplied by serverTimeAcceleration value. Thus, in case it is set to 4 and serverTimeAcceleration is set to 2, night time would move 8 times faster than normal. An entire night would pass in 3 hours.
serverTimePersistent=0;     // Persistent Time (value 0-1)// The actual server time is saved to storage, so when active, the next server start will use the saved time value.
 
guaranteedUpdates=1;        // Communication protocol used with game server (use only number 1)
 
loginQueueConcurrentPlayers=5;  // The number of players concurrently processed during the login process. Should prevent massive performance drop during connection when a lot of people are connecting at the same time.
loginQueueMaxPlayers=500;       // The maximum number of players that can wait in login queue
 
instanceId = 1;             // DayZ server instance id, to identify the number of instances per box and their storage folders with persistence files
lootHistory = 1;            // How many persistence history files should be kept by instance, number is looped over during save
storeHouseStateDisabled = false;// Disable houses/doors persistence (value true/false), usable in case of problems with persistence
storageAutoFix = 1;         // Checks if the persistence files are corrupted and replaces corrupted ones with empty ones (value 0-1)

 
class Missions
{
    class DayZ
    {
        template="dayzOffline.chernarusplus"; // Mission to load on server startup. <MissionName>.<TerrainName>
    };
};

Additional Parameters

respawnTime = 5;            // Sets the respawn delay (in seconds) before the player is able to get a new character on the server, when the previous one is dead
 
motd[] = {"line1","line2"}; // Message of the day displayed in the in-game chat
motdInterval = 1;           // Time interval (in seconds) between each message
 
maxPing= 200;               // Max ping value until server kick the user (value in milliseconds)
 
timeStampFormat = "Short";  // Format for timestamps in the .rpt file (value Full/Short)
logAverageFps = 1;          // Logs the average server FPS (value in seconds), needs to have ''-doLogs'' launch parameter active
logMemory = 1;              // Logs the server memory usage (value in seconds), needs to have the ''-doLogs'' launch parameter active
logPlayers = 1;             // Logs the count of currently connected players (value in seconds), needs to have the ''-doLogs'' launch parameter active
logFile = "server_console.log";// Saves the server console log to a file in the folder with the other server logs
 
enableDebugMonitor = 1;     //shows info about the character using a debug window in a corner of the screen (value 0-1)

steamQueryPort = 2305;      // defines Steam query port, should fix the issue with server not being visible in client server browser

allowFilePatching = 1;      // if set to 1 it will enable connection of clients with "-filePatching" launch parameter enabled

simulatedPlayersBatch = 20;    // Set limit of how much players can be simulated per frame (for server performance gain)

multithreadedReplication = 1; // enables multi-threaded processing of server's replication system - number of worker threads is derived by settings of jobsystem in dayzSettings.xml by "maxcores" and "reservedcores" parameters (value 0-1)

Server Configurations

dayzsettings.xml

<jobsystem globalqueue="4096" threadqueue="1024">
    <pc maxcores="4" reservedcores="1" /> <!--maxcores - maximum number of CPU cores which will be used for jobsystem; reservedcores - number of CPU cores which will be used for other threads; number of worker threads is then "maxcores - reservedcores", but still at least one worker thread is allocated -->
</jobsystem>

BattlEye Configuration

The config file BEServer_x64.cfg needs to be in the same folder as BEServer_x64.dll. The location of this folder can be customized via the startup parameters -bePath and -profiles.

Supported parameters:

  • RConPassword MyPassword - Sets the password for the connection of the RCon tool (remote connection admin tool like BEC/Dart)
  • RestrictRCon 1 - Enables/Disables RCon functions (kick/ban/connection restrictions)

Launch Parameters

Run the DayZServer_x64.exe via the batch file, shortcut with parameters or other options.

Supported parameters:

  • -config=serverDZ.cfg - Selects the Server Config File
  • -port=2302 - Port to have dedicated server listen on
  • -profiles=C:\Users\%USER%\Documents\DayZServer – Path to the folder containing server profile. By default, server logs are written to server profile folder. Logs/dumps/etc will be created there, along with BattlEye/BEC/Rcon related files. Windows Environment variables are supported (E.g. %userprofile%).
  • -doLogs - Enables all log messages in the server RPT file
  • -adminLog - Enables the admin log
  • -netLog - Enables the network traffic logging
  • -freezeCheck - Stops the server when frozen for more than 5 min and create a dump file
  • -filePatching - Ensures that only PBOs are loaded and NO unpacked data.
  • -BEpath= - Sets a custom path to the Battleye files
  • -cpuCount= - Sets the number of logical CPU cores to use for parallel tasks processing. It should be less or equal than the numbers of available cores.

Priority Queuing

Specified users can be prioritized in the login queue, they will get on the first position, before the non-prioritized users.

Flagged users simply need to added to a priority.txt file, located in the root directory of the server install.

SteamId;SteamId;01234567890123456;01234567890123456