Hosting a Server

This section will describe how to setup a Veloren server.

Note: There are multiple ways to setup a Veloren server therefore this book explains the most common and easiest approaches.

Veloren is composed of the Veloren client (veloren-voxygen), the game server (veloren-server-cli), and the authentication server (auth-server).

When setup with authentication support (default), the game server is using the authentication server to log the player in.

Note: Without authentication the server will allow anyone to log in with any name including those with admin access!

Setup local game server

If you want to play with your friends and do not have a dedicated server follow these instructions.

Note: You will need access to the router and knowledge about port forwarding.

  1. Setup
    1. Port forward 14004 on your router.
  2. Launch game server veloren-server-cli(.exe)
    • check Airshipper section to find out where the files are
    • or download Nightly from the website.

      Note: The assets folder is required to be next to the game server.

  3. Give out your IP
  4. Optionally disable authentication by replacing auth_server_address: Some(...) with auth_server_address: None

Enjoy the game!

Setup dedicated game server

If you want to run a dedicated Veloren server 24/7 follow this.

Note: You will need access to the server, docker, docker-compose installed and we assume general command line and docker-compose knowledge.

  1. Setup
    1. Create folder /opt/veloren-server (feel free to name it differently).
    2. Copy docker-compose.yml from the repository into the folder.
    3. If needed open port 14004 (14005 for metrics) in your firewall.
  2. Configuration
    1. Go into the folder cd /opt/veloren-server.
    2. Add - "./server_settings.ron:/opt/server_settings.ron" to the volumes section of the docker-compose.yml file.
    3. Now create the file touch server_settings.ron as docker would create a folder otherwise.
  3. Start it
    1. Run docker-compose up -d as root.
    2. View logs with sudo docker logs veloren-game-server-master.

You are done!

Note: This will automatically keep the game server updated to the latest nightly release.

Server settings

Server settings will be stored in server_settings.ron file in the same folder as the server.

Note: If the file does not exist, starting the server will create one.

Here is a definition of the provided server settings:

SettingDescriptionDefault value
gameserver_addressAddress and port the game server will listen to. Note that clients will use the port 14004 by default. Changing the port will require to specify it in the client too."0.0.0.0:14004"
metrics_addressAddress and port the game server will expose prometheus metrics."0.0.0.0:14005"
auth_server_addressWhen using Some(<value>): The value is the IP address or domain the game server and client will use. If you want to disable authentication, you replace Some(...) with None.Some("https://auth.veloren.net")
max_playersMaximum number of players connected to the game server.100
world_seedseed number used to setup the random generation of the world.5284
server_namedisplayed server name"Veloren Server"
server_descriptiondisplayed server description"The best Veloren Server"
start_timeServer daylight start time in seconds.32400
adminsList of account names allowed to run admin commands.["The", "Veloren", "Team"]
whitelistList of account names allowed to join the server. Leave empty to disable.[]
map_fileWorld map file to use when starting the server. Note that when None is provided, the default world map file is used. the default file is usually located in assets\world\mapNone
persistence_db_dirDefault server executable relative folder where to save the database file (db.sqlite)."saves"