• 0
newborn

Dedicated Server Guide

Question

Our Windows dedicated server binaries are now available through Steam. The recommended way to set up a dedicated server is:

 

Ports:

  • Reflex uses ports 25787 and 25797 so open/forward them. 
  • If you want to run multiple servers on the same box, you will need to forward 2 additional ports per server (one for the game, one for the steam connection)

Installing and updating with steamcmd:

  • Grab steamcmd from this page (which also has full instructions on its usage).
  • You can install / update the server with: steamcmd +login anonymous +force_install_dir ./reflex_ds +app_update 329740 +quit
  • Once installed, edit the dedicatedserver.cfg file -- most of the values are pretty self explanatory but the key ones are sv_hostname, sv_gameport and sv_steamport.
  • Since we don't specify countries yet, its nice to append [AU], [uS], [EU] etc to your sv_hostname.
Running multiple servers:
  • The easiest way to run multiple servers is to simply send command line arguments to override the values in dedicated.cfg
  • An example of this would be: reflexded.exe +sv_hostname FooBar Server #2 +sv_gameport 25788 +sv_steamport 25798

Recording replays (Not recommended):

  • Replay recording is deliberately broken for servers right now but it's just a missing path. If you want to record replays, create the folder /replays
  • We currently don't offer any way to limit the number of replays stored on a server and they'll happily chew up your entire drive if you don't delete them occasionally.
  • Right now, there is no way for players to actually download replays from servers. The most common solution right now is to run a webserver that serves the contents of /replays. 
  • Recording replays is really not recommended right now.

Running the test branch:

Grab the test branch through steamcmd and run as usual: steamcmd +login anonymous +force_install_dir ./reflex_ds_test +app_update 329740 -beta test +quit 

Skytoon, Gangland, LoNeZiLLa and 1 other like this

Share this post


Link to post
Share on other sites

116 answers to this question

  • 0
On 29/1/2016 at 6:08 AM, Andee said:

I downloaded SteamCMD and all. When I enter  steamcmd +login anonymous +force_install_dir ./reflex_ds +app_update 329740 +quit It says it's an unknown command as seen here: 

 

869c0f73da.png

 

Any help would be greatly appreciated :)

I think you need to type that command into the Command Prompt (or equivalent if you're not on Windows), rather than the SteamCMD window. If you open the command prompt and navigate to the steamcmd folder, then enter steamcmd +login anonymous +force_install_dir ./reflex_ds +app_update 329740 +quit, it should work.

Share this post


Link to post
Share on other sites
  • 0
On 1/6/2016 at 11:01 PM, xx said:

Any eta on linux binaries?

I wonder about that as well... considering they were "a couple of updates" away over a year ago I really wonder why it's taking so long, it's only dedicated server binaries (though I'd really appreciate a linux client, too).

Porting to linux should be a huge gain for the game since I believe there are quite a few linux users among arena FPS enthusiasts. So.. please answer our prayers :(

Share this post


Link to post
Share on other sites
  • 0

since i setup a Windows Server 2016 TP4 w/o UI (aka Windows Server Core) here are my steps
start powershell

downloading, extracting, installing/updating steamcmd
Invoke-WebRequest <url-to-steamCmd.zip> -o steamcmd.zip
expand-archive steamcmd.zip <target-dir>
<target-dir>\steamcmd

 

if expand-archive is not available --> http://serverfault.com/a/447073

creating a script for updating reflex
notepad reflexUpdate.cmd

there i wrote
powershell -command "Stop-Process -name reflexded"
<full-path-to-steamcmd> +login anonymous +force_install_dir <folder-of-reflex> +app_update 329740 +quit
pushd <folder-of-reflex>
start <full-path-to-reflexded>

popd

save, close notepad and execute
.\reflexUpdate.cmd

it should spawn a reflex server

next, we need to ReflexDed bypass the firewall
New-NetFirewallRule -DisplayName ReflexDed -Direction Inbound -Program <pathToReflexDed>

and since we have this nice script to update reflex, we can create a job for it - auto update daily at 05:00
schtasks.exe /create /sc DAILY /st 05:00 /tn UpdateReflex /tr <path-to-updateReflex.cmd>

to verify we did nothing wrong
schtasks.exe /query /tn UpdateReflex

it should display your taskname with expected next run time

hth

Share this post


Link to post
Share on other sites
  • 0

I can't seem to change maps using the workshop. At all. Any ideas? sv_steam is 1. Otherwise everything seems to work. The workshop load and all, I just can't use it. It just goes back to the map that was on.

Share this post


Link to post
Share on other sites
  • 0
On 05/06/2016 at 0:59 AM, newborn said:

Any clues in the console?

No, nothing.

 

On 05/06/2016 at 11:18 PM, Bonuspunkt said:

 

make sure your dns is setup

How? Edit: Yes, pinging Google works. 

Share this post


Link to post
Share on other sites
  • 0

Any cheap solutions to actually rent a dedicated server? :)

 

Share this post


Link to post
Share on other sites
  • 0
38 minutes ago, VN1X said:

Any cheap solutions to actually rent a dedicated server? :)

 

If you want a dedicated VPS where you can host any amount of game servers from, Amazon EC2 and DigitalOcean are popular options. If you'd just like to rent a game server, I highly recommend Swiftnode. You can get an eight slot server for about $2.50 a month. Even cheaper if you just want a small private server for you and some friends.

Share this post


Link to post
Share on other sites
  • 0
2 hours ago, Nathan said:

If you want a dedicated VPS where you can host any amount of game servers from, Amazon EC2 and DigitalOcean are popular options. If you'd just like to rent a game server, I highly recommend Swiftnode. You can get an eight slot server for about $2.50 a month. Even cheaper if you just want a small private server for you and some friends.

Thanks, went and bought a 8-slot server in France. Now I just need to know all of the rcon commands (setting a password for example). Could you point me in the right direction? :P

 

Share this post


Link to post
Share on other sites
  • 0
1 minute ago, Duck said:

 

Does this mean I need SteamCMD to set up map rotation, server password and all that jazz or? 

Share this post


Link to post
Share on other sites
  • 0

Because right now it's not listening to my sv_country, sv_startwmap or sv_startmap commands. Not from the game itself or the configuration text editor on Swiftnode. 

EDIT: Weirdly enough it does listen to the sv_password command via the Swiftnode text editor. 

Share this post


Link to post
Share on other sites
  • 0
18 minutes ago, VN1X said:

Because right now it's not listening to my sv_country, sv_startwmap or sv_startmap commands. Not from the game itself or the configuration text editor on Swiftnode. 

sv_county should be ISO format which can be found here
sv_startwmap should be the map's workshop ID which can be found in the url's of the workshop pages like this "steamcommunity.com/sharedfiles/filedetails/?id=666602461"

Once you've changed properties, you'll need to restart the server from the control panel

Most of the available server parameters can be found with documentation here or by opening the console and typing "sv_" and pressing tab twice. That will list all the game's server parameters. Most of them are self explanatory :)

VN1X likes this

Share this post


Link to post
Share on other sites
  • 0
7 minutes ago, Nathan said:

sv_county should be ISO format which can be found here
sv_startwmap should be the map's workshop ID which can be found in the url's of the workshop pages like this "steamcommunity.com/sharedfiles/filedetails/?id=666602461"

Once you've changed properties, you'll need to restart the server from the control panel

Most of the available server parameters can be found with documentation here or by opening the console and typing "sv_" and pressing tab twice. That will list all the game's server parameters. Most of them are self explanatory :)

Ok cheers, managed to get it to start on the map I wanted now. Still doesn't give us a country flag icon in the server browser. Even went so far as to include all of the ISO options haha!

This is the current configuration file:

sv_hostname Rllmuk's House of T.R.A.S.H.
sv_steam 1
sv_allowedit 0
sv_maxclients 8
sv_gameport 24047
sv_steamport 24047
sv_country NL
sv_country NLD
sv_country 528

sv_startwmap 609506884
sv_startmode ffa
sv_timelimit 3600
sv_timelimit_round 3600

EDIT: Ok also included sv_country ISO 3166-2:NL 

which weirdly enough got us a random flag instead of the Dutch one lol. 

Share this post


Link to post
Share on other sites
  • 0
14 minutes ago, VN1X said:

EDIT: Ok also included sv_country ISO 3166-2:NL 

which weirdly enough got us a random flag instead of the Dutch one lol. 

Just use NL

Right now you're getting Iceland's flag because "ISO 3166..." starts with IS and it's only reading the IS which Iceland. So remove all the ones you have and just use  sv_country NL

Also, remove all your sv_timelimit commands and just use "sv_timelimit -1" so it uses all default timelimits

VN1X likes this

Share this post


Link to post
Share on other sites
  • 0
39 minutes ago, Nathan said:

Just use NL

Right now you're getting Iceland's flag because "ISO 3166..." starts with IS and it's only reading the IS which Iceland. So remove all the ones you have and just use  sv_country NL

Also, remove all your sv_timelimit commands and just use "sv_timelimit -1" so it uses all default timelimits

Thanks! That worked.

19 minutes ago, Duck said:

Those are some long-ass games.

Haha yeah you're right. However these commands just put them on default for some reason. 

sv_timelimit 480

sv_timelimit_round 150

Share this post


Link to post
Share on other sites
  • 0

I have some trouble with the "sv_allowmodes" command.

I have this now:

// Sets the name of your server.
// This is what will show up in the server browser and in game HUD.
sv_hostname <name>

// Set the maximum amount of clients for the server. Spectators count towards this.
// We do not recommend setting this above 10.
sv_maxclients 12

// Enable Steam integration. Disabling this prevents Steam authentication meaning that
// workshop maps, cosmetics and registering with the master server will all be disabled.
// Leave it on unlesss you're on LAN.
sv_steam 1

// Allow map editing on the server. Generally you want to leave this disabled.
sv_allowedit 0

//Automatically takes a server side replay of all games. Put on 0 to disable.
sv_autorecord 0

// The ports used by the server. These are both UDP and need to be correctly forwarded.
sv_gameport 25787

// Configures the game modes that can be voted on this server. We recommend you leave
// this unset (i.e, allow all modes).
sv_allowmodes TDM CTF

// Sets the country the server is located in, using its 2 letter country code. We
// We recommend always setting this. It's disabled here primarily because some people won't read this.
sv_country de

// The timelimit for matches, in minutes. We recommend leaving this unset although
// many race-only servers set it really high.
// sv_timelimit_override 600

// The password required to join the server. If you want to run a private server, this is how. In most
// cases, it obviously makes sense to leave it disabled. The password can be cleared with "sv_password ".
// This is an awkward way to clear a setting and we'll fix it later ;)
// sv_password asdf

// The password required to become a referee. If a player is a referee, thier votes will instantly
// pass. Unless you're running a competition server, it's best to leave this disabled.
sv_refpassword <password>

// the mode the server will start on
sv_startmode ATDM

// The server needs either a local map, workshop map or rotation with which to start the
// server. In this example, the rotation will take precedence.
// sv_startmap Fusion
sv_startwmap 650922918
//sv_startrotation default

// Optional: log file, writes console output to a file. If you don't specify one, no log file will be
// written.
com_logfilename reflexded.log

-----------------------------------------------------------------------------------------

So I allowed TDM and CTF on my server. The server starts with ATDM mode and Asylum map. However I can't switch to anything. Sometimes switching to CTF works but than I can't switch to anything from CTF. It's a little weird. What exactly am I doing wrong?

Share this post


Link to post
Share on other sites
  • 0

I'm trying to set up multiple gameservers on my server. it is just a Win10 machine running at my workplace (I own it, and it has an FTTC connection; works nicely so far). I can't figure it out. I ran steamcmd again with the same arguments but specifying a different local folder, then setup the dedicatedserver.cfg file appropriately for each one, set up port forwarding and a different port (same steam workshop port though). Ran reflexded.exe in each folder, but only one server shows up in the browser.

I'd really like to get multiple servers up. I'm thinking a generic one allowing all gamemodes, and then one for FFA/AFFA, one for TDM/ATDM, one for CTF, one for RACE, and one for 1V1/A1V1 - I think it will be ok unless all of them fill up, but I need to know server requirements really:

How much CPU, RAM, and bandwidth does each player require? Upstream and downstream figures for bandwidth.

Also, I've just edited this post because I figured something out - sv_startupmode and sv_country are case sensitive. That's why I couldn't get those working.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now