Dedicated server - Advanced

From Out of Reach Wiki
Jump to: navigation, search

Out of Reach dedicated server can be started as Steam Tool (more details here) or as a stand-alone application which can be downloaded and updated with use of SteamCMD.

SteamCMD[edit | edit source]

SteamCMD is used for download and installation of Out of Reach dedicated server. Please refer to SteamCMD page for detailed instruction on its installation and usage.

Linux[edit | edit source]

Server installation[edit | edit source]

1. Create server folder (referred as <install_dir>)

2. Launch SteamCMD and download server

Steam> login anonymous
Steam> force_install_dir <install_dir>
Steam> app_update 406800 validate
Steam> exit

3. Install required .so libraries

sudo cp <install_dir>/steamclient.so /usr/lib/
echo "<install_dir_absolute_path>/SFS2X/lib/linux64" | sudo tee /etc/ld.so.conf.d/oor.conf
sudo ldconfig

Launching server[edit | edit source]

To launch Out of Reach dedicated server use the following command:

<install_dir>/SFS2X/sfs2x-service start

To stop a server use the following command:

<install_dir>/SFS2X/sfs2x-service stop

Consider adding <install_dir>/SFS2X/ path to you PATH environment variable

Windows[edit | edit source]

Server installation[edit | edit source]

1. Create server folder, i.e. C:\oor-server from now on referred as <install_dir>

2. Launch SteamCMD and download server

Steam> login anonymous
Steam> force_install_dir <install_dir>
Steam> app_update 406800 validate
Steam> exit

3. Make sure you have installed Microsoft Visual C++ 2015 Redistributable (x64). You can download from here.

Launching server[edit | edit source]

To launch Out of Reach dedicated server use:

<install_dir>/SFS/sfs2x-standalone.exe

Web console[edit | edit source]

By default web console is available at http://[host]:19933/web-console URL (port number can be changed, please check Network section for more details). Web console user is: admin and password is: pass

Remember to change the password after first login!

At the first start, server does not have a name and region selected and thus will not be able to connect to Steam Master Server and will not be visible in the game on servers list. To set a name and region go to Server parameters menu.

Network[edit | edit source]

By default Out of Reach server binds to 0.0.0.0 network interface which in most cases is fine and there is no need to change it

But if you you would like to change it to different address, two steps are required:

  1. Set IP address as oor.server.ip.address server launch parameter (or environment variable)
  2. Change Smartfox Server configuration in <install_dir>/SFS2X/config/server.xml file. Change addresses in socketAddress section:
<socketAddresses>
    <socket address="0.0.0.0" port="27016" type="TCP"/>
    <socket address="0.0.0.0" port="27016" type="UDP"/>
</socketAddresses>

Out of Reach dedicated server listens for incoming connections on the ports listed below. Ensure your network configuration allows incoming connections to these ports and directs them to the host that will be running your dedicated server.

Protocol Port number Launch parameter*
Server port TCP/UDP 27016 oor.server.port
Steam's Server browser query port TCP/UDP 27010 oor.steam.master.server.updater.port
Web console port TCP 19933 oor.server.console.port

*Those are default port numbers, they can be overwritten in server launch parameters (or environment variables). Please refer to Server launch parameters section.

Server update[edit | edit source]

To update server launch SteamCMD and use following commands

Steam> login anonymous
Steam> app_update 406800 validate
Steam> exit

To automate server update please refer to SteamCMD wiki.

Database[edit | edit source]

Out of Reach Dedicated Server requires SQL databases to operate, by default it uses PostgreSQL 9.3.

There is an option to use less efficient, but embedded (no additional installation required) H2 database. To do so you need to add -Dspring.profiles.active=h2 server launch parameter. Please refer to Server launch parameters section.

If you still want to go with stand-alone PostgreSQL, please checkout following steps

Installation on Linux[edit | edit source]

1. Installation of PostgreSQL with use of apt-get

sudo apt-get install postgresql

2. Creation of some_user database user with some_password password and oor_server database. Password is encrypted for some_user database user! Please refer to this page for PostgreSQL password encryption details.

echo "CREATE ROLE some_user LOGIN ENCRYPTED PASSWORD 'md59e2e8a8fce0afe2d60bd8207455192cd' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION; CREATE DATABASE oor_server WITH ENCODING='UTF8' OWNER=some_user CONNECTION LIMIT=-1; ALTER ROLE some_user SET search_path = oor_server;" | sudo -u postgres psql

Installation on Windows[edit | edit source]

1. Download PostgreSQL 9.3 Windows installer, i.e. from here

2. Start installer to install database

3. When installation is done, start Windows console and paste there following command:

echo CREATE ROLE some_user LOGIN ENCRYPTED PASSWORD 'md59e2e8a8fce0afe2d60bd8207455192cd' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION; CREATE DATABASE oor_server WITH ENCODING='UTF8' OWNER=some_user CONNECTION LIMIT=-1; ALTER ROLE some_user SET search_path = oor_server; | "C:\Program Files\PostgreSQL\9.3\bin\psql.exe" -U postgres

Those are default values (user, password and database name) used by the server. You can change them (as well as database host), to do so please refer to Server launch parameters section.

Database is also by default installed at C:\Program Files\PostgreSQL\9.3 directory. If you have installed it in some other location, please change it accordingly.

Password is encrypted for some_user database user! If you would like to use different user and password please refer to this page for PostgreSQL password encryption details.

No additional SQLs are needed, database migration is executed each time (if needed) at server startup.

Time zone[edit | edit source]

UTC (Universal Time Coordinated) time zone is preferred as it's 'immune' to DST (Daylight Saving Time) change. After each change of server's system time, Out of Reach dedicated server needs to be restarted.

Parameters[edit | edit source]

Server launch parameters can be specified in <install_dir>/SFS2X/sfs2x-service.vmoptions file in Java Virtual Machine style:

-D[parameter.name]=[parameter.value] 

i.e.

-Door.database.name=oor_server

Here you can find the list of all supported parameters:

Parameter name Example value Description
oor.server.ip.address 192.168.0.54 IP address of network interface which will be used by the server
oor.server.port 27016 Game server port
oor.server.console.port 19933 Web console port
oor.steam.master.server.updater.port 27010 Steam master server query port
oor.database.host localhost:5432 Database host (address) with port number
oor.database.user some_user Name of user used to connect to database
oor.database.password some_password Password used to connect to database
oor.database.name oor_server Name of database OOR server will be using
spring.profiles.active h2 Type of database to be used, possible values are h2 (for embedded database) or postgres (for stand-alone database)