Dedicated Servers

Dedicated Servers are servers that are capable of connecting client computers over the Internet. WARFRAME does not have dedicated servers for PvE matchmaking. However, Digital Extremes does offer tools for players to host PC Conclave games on their own computers as of . Consoles will not have the capability to host Conclave matches. However, as of with crossplay, they will be able to join 
dedicated Conclave servers if allowXPlatform is set to 1 in the config file.
Leaderboards for Dedicated Servers are found here.
==Instructions==
DedServ01.jpg|First, simply launch Warframe to bring up the Warframe Launcher and click on the Settings Gear in the top right.
DedServ02.jpg|From here click on the Start Server button under the new Dedicated Server tab.
DedServ03.jpg|From there you'll be prompted to select the Conclave mode you wish to host, along with the options to restrict access to your Clan/Alliance, the option to host a VARIANT mode, as well as the option to include your own personalized MOTD seen when players enter your server.
DedServ04.jpg|Clicking 'Ok' will then launch a dedicated server on your machine! A new command window will appear which will output all of the log details for your brand spanking new server. You'll be able to track how many players have joined, what maps are currently being run, along with a plethora of other backend info from here.
DedServe05.jpg|You can now host PvP matches!
==Documentation for Setting Up Servers==
Adopted from https://forums.warframe.com/topic/751561-dedicated-conclave-servers-part-ii-advanced-guide/ and reformatted to match wiki formatting.
===Introduction===
LotusDedicatedServerSettings structure will be created and initialized for you after starting the server for the first time (recommended/easiest way is to do it using Launcher, as described in the first post).
LotusDedicatedServerSettings resides in the DS.cfg file (only accessed by dedicated server process) and looks like:
[LotusDedicatedServerSettings,/Lotus/Types/Game/DedicatedServerSettings]
(..settings)
Dedicated server applet has only 1 required argument: default dedicated server settings type (to initialize your DS.cfg with). For the time being, it should always be "/Lotus/Types/GameRules/DefaultDedicatedServerSettings".
Example:
Warframe.x64.exe -applet:/Lotus/Types/Game/DedicatedServer /Lotus/Types/GameRules/DefaultDedicatedServerSettings
Other applet arguments:
* -instance:X (where X is a positive number) - useful when running multiple instances on the same computer, it'll make sure each unique instance uses an unique network port (base port + instance number)
* -override:JSON string - allows for overriding parts of the LotusDedicatedServerSettings. This is what the Launcher uses, but if you insist on running applet by hand, it's easier to use th next argument -
* -settings:server settings name (in DS.cfg) - specifies server settings type to use instead of LotusDedicatedServerSettings. For example to start a Lunaro server we add the following settings type to DS.cfg:
[LunaroDedicatedServerSettings,LotusDedicatedServerSettings]
missionId=SB_Title
...and run the applet with -settings:LunaroDedicatedServerSettings argument.
Alternatively, you can edit your default settings (LotusDedicatedServerSettings).
===Server Settings Properties===
Note: boolean in this context is represented as a number. 0 = false/disabled, 1 = true/enabled
Property 	Type 	Description
serverPort 	number 	network port to use (default: 5010)
missionId 	string 	mission/gamemode ID (default: empty). Possible values:
* SB_Title (Lunaro), TDM_Title (Team Deathmatch), DM_Title (Deathmatch), CTF_Title (Capture the Flag)
eloRating 	number 	only 2 values allowed 0 (recruit conditioning enabled) or 2 (FFA, default)
matchmakingRegionOverride	string 	matchmaking region. Use with care. Possible values:
* NORTH_AMERICA, SOUTH_AMERICA, EUROPE, ASIA, OCEANIA, RUSSIA.
motd 	string 	Message Of The Day
enableVoice 	boolean 	1 = VOIP enabled (default), 0 = VOIP disabled (for clients)
clanOnly 	boolean 	1 = only members of your clan can join, 0 = FFA (default)
allianceOnly 	boolean 	1 = only members of your alliance can join, 0 = FFA (default). NOTE: if both clanOnly & allianceOnly are set, clanOnly takes priority as it's more specific
useAlternativePVPMode: 	boolean 	1 = try host "variant" mode (if available). Default: 0
highBandwidth 	number (0, 1 or 2)	controls frequency of object property updates (property = position, rotation, health and so on). By default (highBandwidth=0) our high priority props are transmitted up to 30 times per second. highBandwidth=2 doubles tha frequence to 60hz and highBandwidth=2 gives 120hz. Please keep in mind that setting it to 1/2 effectively doubles your bandwidth requirements, so make sure your connection can handle it.
Example (DS.cfg):
Let's assume we'd like to host a newb-friendly DM server at port 2500, without VOIP and sending updates at 60z:
[MyDedicatedServerSettings,LotusDedicatedServerSettings]
serverPort=2500
missionId=DM_Title
eloRating=0
enableVoice=0
highBandwidth=1
Apart from controlling how often we try to send properties, we can also set desired update rate (FPS essentially). By default, dedicated server is getting updated 30 times per second. Update rate is controlled by the application (not server!) setting and can be changed in the LotusDedicatedServerConfig section of the DS.cfg file. For example, to run updates at 60hz (required for the highBandwidth=1 to work properly), we add/edit the following lines:
[LotusDedicatedServerConfig,/Lotus/Types/GameRules/LotusDedicatedServerConfig]
App.DedicatedServerFrameRate=60
Apart from *applet* commandline arguments, there are certain Warframe arguments that can come handy, especially if running more than one instance (note: these need to appear before -applet argument):
* allowmultiple: allows us to run more than 1 instance of Warframe process
* log:logname: specifies the log file to use (so that multiple instances do not fight for access)
For example, let's assume we've created 2 setting types, one for Lunaro (LunaroDedicatedServerSettings) and one for DM (MyDedicatedServerSettings). In order to run 2 server instances we can do:
Warframe.x64.exe -log:DS0.log -cluster:public -applet:/Lotus/Types/Game/DedicatedServer /Lotus/Types/GameRules/DefaultDedicatedServerSettings -settings:LunaroDedicatedServerSettings
Warframe.x64.exe -log:DS1.log -cluster:public -allowmultiple -applet:/Lotus/Types/Game/DedicatedServer /Lotus/Types/GameRules/DefaultDedicatedServerSettings -settings:MyDedicatedServerSettings -instance:1
===Launcher Arguments===
In most cases it's recommended to use Launcher for starting a dedicated server process instead of running the applet manually. It ensures you're always running the most up-to-date version of Warframe and validates command-line arguments. The easiest and most straightforward way is to simply use the Launcher GUI as described in the first post. However, there are cases where we might need to run a commandline version (for example our server doesn't have a GPU beefy enough to run WF, but CPU can handle the dedicated server fine). In order to run the Launcher in the headless mode and start server as soon as the updates are done use -headless -dedicated command line arguments.
* -headless: run in headless mode (no GUI)
* -dedicated: automatically run the dedicated server after the update. It's possible to specify additional properties here - number of DS instances and/or server settings to use.
* -dscfg:config_file_name: use custom config file to streamline launching multiple instances of different server types, see the DS Config File section
Some examples:
* Launcher.exe -headless -dedicated - spawn 1 instance of the dedicated server, using default settings (LotusDedicatedServerSettings in DS.cfg)
* Launcher.exe -headless -dedicated:3 - spawn 3 server instances, all using default settings
* Launcher.exe -headless -dedicated:LunaroDedicatedServerSettings - spawn 1 instance of Lunaro server
* Launcher.exe -headless -dedicated:2,MyDedicatedServerSettings - spawn 2 server instances, using given settings
* Launcher.exe -headless -dedicated -dscfg:MyServerConfig.txt
Note: -headless version is known to work under Linux+WINE
===DS Config File===
Format is technically JSON based, but I'm not super strict, at the very bottom it's a list of key:value pairs separated with commas or newline characters. Key = server settings to use (referencing settings in DS.cfg file), value = number of instances to spawn.
For example, to spawn 2 instances of Lunaro server and 3 instances of CTF:
1) Create required settings types in DS.cfg (let's name them LunaroDedicatedServerSettings and CTFDedicatedServerSettings):
[LunaroDedicatedServerSettings,LotusDedicatedServerSettings]
missionId=SB_Title
[CTFDedicatedServerSettings,LotusDedicatedServerSettings]
missionId=CTF_Title
2) Create config file, for example MyServerConfig.txt, in Launcher directory:
"LunaroDedicatedServerSettings" : 2,
"CTFDedicatedServerSettings" : 3
3) Start launcher with the following command line arguments: Launcher.exe -headless -dedicated -dscfg:MyServerConfig.txt
4) Enjoy!
===Updates===
Server will periodically check whether our version is up-to-date. If not - it'll shut down as soon as it's safe to do so (no one connected or between missions) and run the Launcher (headless version, so it should update and restart the server).
===Key Shortcuts===
Dedicated server window handles the following commands:
*Alt+F4 - shutdown server forcefully (immediately, no other checks)
*Q - shutdown server gracefully at the next opportunity (no players or between games)
==Community Servers==
See https://conclave.uasclan.net/ for a fansite that shows dedicated server status and other information.
==Patch History==
==External Links==
*Dedicated hosting service on Wikipedia
*https://www.warframe.com/news/player-dedicated-servers
*https://forums.warframe.com/topic/709664-dedicated-conclave-servers/
*https://forums.warframe.com/topic/751561-dedicated-conclave-servers-part-ii-advanced-guide/
Category:Development
Category:Real-World References