7 Days to Die Dedicated Server

From Valve Developer Community
Jump to: navigation, search

A 7 Days to Die Dedicated Server is used for playing with multiple people in the same world. 7 Days to Die Dedicated Servers can be hosted by yourself, as well as by a company. Servers used to only allow up to 4 people, but that was changed as of Alpha 1.1 Official site

Dedicated server

Installation

  • Start SteamCMD
    • Log in with a Steam account :Subject to the availability of the game on the accounts
    • Select install folder: force_install_dir PATH:c:\SteamCMD\7_Days_to_Die_server\
    • Run: app_update 294420 to download 7 Days to Die Dedicated Server Alpha

Serverconfig.xml

This is a table of the up-to-date Alpha 14.6 serverconfig.xml file that comes with 7 Days to Die.

Only change the data in the "value=" part of the file, otherwise it will not work.

Option Values Description
ServerPort 26900 Port you want the server to listen on.
ServerIsPublic true Should this server register to master server
ServerName My Game Host Whatever you want the name to be.
ServerPassword Password to gain entry to the server
ServerMaxPlayerCount 8 Maximum Concurrent Players (8 is the most supported by TFP.)
ServerDescription A 7 Days to Die server Whatever you want the description to be.
ServerWebsiteURL Website URL for the server
GameWorld Navezgane Navezgane, or Random Gen
GameName My Game Whatever you want the game name to be THIS CONTROLS THE RANDOM GENERATION SEED
GameDifficulty 2 0 - 5, 0=easiest, 5=hardest
GameMode GameModeSurvivalMP GameModeSurvivalMP, GameModeSurvivalSP (MP has land protection)
ZombiesRun 0 0 = default day/night walk/run, 1 = never run, 2 = always run
BuildCreate false Cheat mode on/off
DayNightLength 50 real time minutes per in game day: 50 minutes
DayLightLength 18 in game hours the sun shines per day: 18 hours day light per day
FriendlyFire false Can friendly players damage each other (PvP)
PersistentPlayerProfiles true If disabled a player can join with any selected profile. If true they will join with the last profile they joined with
PlayerSafeZoneLevel 5 If a player is less or equal this level he will create a safe zone (no enemies) when spawned
PlayerSafeZoneHours 5 Hours in world time this safe zone exists
ControlPanelEnabled false Enable/Disable the control panel
ControlPanelPort 8080 Port of the control panel webpage
ControlPanelPassword CHANGEME Password to gain entry to the control panel
TelnetEnabled true Enable/Disable the telnet
TelnetPort 8081 Port of the telnet server
TelnetPassword CHANGEME Password to gain entry to telnet interface
AdminFileName serveradmin.xml Server admin file name
DropOnDeath 0 0 = everything, 1 = toolbelt only, 2 = backpack only, 3 = delete all
DropOnQuit 1 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only
EnemySenseMemory 60 Time, in seconds, that a zombie will pursue something that has been sensed.
EnemySpawnMode 3 0 = Disabled 0%, 1 = Very Low 50%, 2 = Low 75%, 3 = Medium 100%, 4 = High 125%, 5 = Very High 150%
EnemyDifficulty 0 0 = Normal, 1 = Feral
BlockDurabilityModifier 100 Percentage in whole numbers
LootAbundance 100 Percentage in whole numbers
LootRespawnDays 7 Days in whole numbers
LandClaimSize 7 Size in blocks that is protected by a keystone (Must be an odd number)
LandClaimDeadZone 30 Keystones must be this many blocks apart (unless you are friends with the other player)
LandClaimExpiryTime 3 The number of days a player can be offline before their claims expire and are no longer protected
LandClaimDecayMode 0 Controls how offline players land claims decay. All claims have full protection for the first 24hrs. 0=Linear, 1=Exponential, 2=Full protection until claim is expired.
LandClaimOnlineDurabilityModifier 4 How much protected claim area block hardness is increased when a player is online. 0 means infinite (no damage will ever be taken). Default is 32x
LandClaimOfflineDurabilityModifier 4 How much protected claim area block hardness is increased when a player is offline. 0 means infinite (no damage will ever be taken). Default is 32x
AirDropFrequency 72 How often airdrop occur in game-hours
AirDropMarker false Sets if a marker is added to map/compass for air drops.
MaxSpawnedZombies 60 Making this number too large (more than about 80) may cause servers to run at poor framerates which will effect lag and play quality for clients.
MaxSpawnedAnimals 50 If your server has a large number of players you can increase this limit to add more wildlife. †
EACEnabled true Enables/Disables EasyAntiCheat
SaveGameFolder absolute path Use this to override the default save game path

† Animals don't consume as much CPU as zombies. NOTE: That this doesn't cause more animals to spawn arbitrarily: The biome spawning system only spawns a certain number of animals in a given area, but if you have lots of players that are all spread out then you may be hitting the limit and can increase it.

Starting the Server

To host a server just edit the startdedicated.bat file and the serverconfig.xml using TextPad or notepad++. You shouldn't need to edit the startdedicated.bat. In the batch file you will see the following text:

startdedicated.bat

@echo off
rem Starts a dedicated server
rem
rem -quit, -batchmode, -nographics: Unity commands
rem -configfile			  : Allows server settings to be set up in an xml config file. Use no path if in same dir or full path.
rem -dedicated                    : Has to be the last option to start the dedicated server.

set LOGTIMESTAMP=


:: --------------------------------------------
:: REMOVE OLD LOGS (only keep latest 20)

for /f "tokens=* skip=19" %%F in ('dir 7DaysToDieServer_Data\output_log*.txt /o-d /tc /b') do del 7DaysToDieServer_Data\%%F



:: --------------------------------------------
:: BUILDING TIMESTAMP FOR LOGFILE

:: Check WMIC is available
WMIC.EXE Alias /? >NUL 2>&1 || GOTO s_start

:: Use WMIC to retrieve date and time
FOR /F "skip=1 tokens=1-6" %%G IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') DO (
	IF "%%~L"=="" goto s_done
	Set _yyyy=%%L
	Set _mm=00%%J
	Set _dd=00%%G
	Set _hour=00%%H
	Set _minute=00%%I
	Set _second=00%%K
)
:s_done

:: Pad digits with leading zeros
Set _mm=%_mm:~-2%
Set _dd=%_dd:~-2%
Set _hour=%_hour:~-2%
Set _minute=%_minute:~-2%
Set _second=%_second:~-2%

Set LOGTIMESTAMP=__%_yyyy%-%_mm%-%_dd%__%_hour%-%_minute%-%_second%

:s_start


:: --------------------------------------------
:: STARTING SERVER


echo|set /p="251570" > steam_appid.txt

start 7daystodieserver -logfile 7DaysToDieServer_Data\output_log%LOGTIMESTAMP%.txt -quit -batchmode -nographics -configfile=serverconfig.xml -dedicated


echo Starting server ...
timeout 15

cls

echo.
echo Server running in background, you can close this window.
echo You can check the task manager if the server process is really running.
echo.
echo.

pause

Firewall Ports

You will need to open the following ports on your PC's firewall in order for people to be able to see and connect to your server.

TCP

  • 8080-8081 (ONLY if you plan to administer your server remotely.)
  • 8082 (If you are using Alloc's mods, this is for the web map.)
  • 26900

UDP

  • 26900-26902


Port Forwarding

If you are behind a router, you will need to tell your router that an incoming connection is meant for your server. This is called forwarding a port. You will need to port forward ports 26900-26902 so that others may join.

If router support UPnP - you can use this http://upnp-portmapper.sourceforge.net/

Don't know how to port forward? follow these instructions:

  1. Go to this Site
  2. Select your router brand
  3. Select your router version (if your version is not there, pick the one closest to your version.)
  4. Select 7 Days to Die
  5. Follow the instructions on the site

If you have completed these steps correctly, your friends should now be able to join.

Finding your own External IP

To find the IP which your friends need to use go to this Site. There you will find your External IP. Send it to your friends and they should be able to join if you have already finished Port Forwarding (steps above) your router.

Looking for servers

If you are looking for a server to play on, you can find one on the current top servers list for 7 Days To Die here 7daystodie-servers.com or use the server browser on your game client.

For computers on the same local network as the server you can connect to it by using its internal IP, simply enter this and the chosen port number into the two boxes at the bottom of the games server browser screen.
If you are hosting the server on the same computer you intend to play from you can use 127.0.0.1 (localhost) as the connection IP.
In all other cases you'll need to determine the servers IP address or domain name (if used) in order to make a connection. Windows users should open start, click run or search, type cmd. In the window that opens type ipconfig. You'll see a list of information. You're looking for IP address.

Example: Ethernet adapter Local Area Connection:

  Connection-specific DNS Suffix  . : home
     IPv4 Address. . . . . . . . . . . : 192.168.1.100
  Subnet Mask . . . . . . . . . . . : 255.255.255.0
  Default Gateway . . . . . . . . . : 192.168.1.1


Where mine says 192.168.1.100 that's the IP your server has.

Renting a server

There are several companies/websites that allow you to rent a server from them. This rented server will reside in a datacenter and hosted by them.

These servers are mostly 24/7 servers. This is useful because you won't need to keep your computer running 24/7. You can rent servers to many different specifications, some may not be powerful enough to host a server. Generally, network connections at a datacenter far exceed what is available to residential ISPs, which will cut down on latency that you might experience hosting at home.

Dedicated Server Providers

You can use a Server Manager to setup and manage the server, such as the Cloud-based Server Manager (CBSM) for 7 Days to Die.

References