Requirements
The Dedicated Server files are available for Windows and Linux (64 bit only). It's no longer required to have Java installed. The Dedicated Server requires around 600 MB free disk space, but it's necessary to have more free space for the world (which is generated on the fly and becomes bigger the more is built on the world).
On Linux it may be necessary to install some dependencies (which are required by Steam) in order to run the server: https://developer.valvesoftware.com/wiki/SteamCMD#Manually
It's recommended to have at least 1-2 GB of RAM (for small servers with few players only). In this case it might be helpful to have an additional swap file. For more players it's recommendable to have 4-8 GB of RAM.
Note: Unlike the Java version, it's no longer possible to set the server RAM via config file. The new version will continue to allocate more memory if necessary. If this is not desired, we recommend to run the server in a container (e.g. Docker, LXC etc)
Download
Currently the Dedicated Server files are only available through Steam. They can also be downloaded via SteamCMD. The app id of the dedicated server is 339010. In order to download the new version server, you have to enable the unity beta branch (this will no longer be necessary once the new version replaces the Java version). Anonymous login is supported.
If you own the game on Steam, you can find the dedicated server in your Steam library under "Tools" (see "Rising World Dedicated Server"). The new version is available as separate beta branch. To enable it, rightclick on the server in your Steam library → Properties → Betas → select "unity". If the Java version was installed before, it's recommended to uninstall it first, then select the beta branch and download the server.
In order to download the server via SteamCMD, you don't have to own the game. The new version is available as separate beta branch. Valve's wiki contains more information about installing and using SteamCMD. Alternatively just follow these steps to download the Rising World server for the new version:
- Download SteamCMD
- Login anonymously by typing login anonymous (alternatively use your Steam username)
- [Optional] Set target install directory via force_install_dir <path>
- Download the "unity" beta branch for the server (app id 339010) via app_update 339010 -beta unity
- [Optional] Log off of SteamCMD via quit
If you can't update the server through SteamCMD (i.e. if Steam does not download new updates), you may try to append a validate parameter to the update command
Run the server
To run the server, just execute the "RisingWorldServer.exe" on Windows or the "RisingWorldServer.x64" on Linux. On Linux, you can also run the server through the "linux_startscript" script or the "linux_screen" script (if "screen" is installed).
The server already runs in headless mode, so it's not necessary to provide any additional parameters to force that.
On Linux, it may be necessary to set the LD_LIBRARY_PATH environment variable to the "/linux64" folder in the server directory before launching the server. If you run the server through the start scripts, this is set automatically.
Important: It's highly recommended to restart the server at least every 24 hours
IP Address
By default the server binds to all addresses. If you want the server to bind to a specific IP, you can open the server.properties file and set the "Server_IP" field. If you're hosting the RW server on your local machine (i.e. behind a router), it's recommended to leave the field blank
Port
The server port can be set in the server.properties file (see "Server_Port"). By default, the server uses port 4255 TCP and UDP. The query port (which is required for the server to show up in the server list) is always serverport-1 TCP (so when using the default server port, it's 4254 accordingly).
If RCON is enabled (optional), it requires a separate port (see "RCON_Port" in server.properties file). By default, it uses 4253 TCP.
When hosting the server on your local machine, it may be necessary to forward the ports in your router
Start Arguments
You can pass optional start arguments to the server to override some settings. This way you can override any setting in the server.properties file. For example, if you want to override the max allowed player count, you can pass +Settings_MaxPlayers=32 to the server. If you want to override the server port, pass +Server_Port=4255 etc.
In addition to that, you can also pass +servernameprefix and +servernamesuffix to add a fixed prefix/suffix to the server name.
Query
If you want to get information from the server while it's running (e.g. server name, player count, uptime etc), you can query port serverport-1 (by default 4254). A http query returns a JSON string containing all relevant information.
Custom Image and Description
When selecting a server in the server browser, a small info dialog shows up containing a header image, a short server name and a description. While these things are optional, we recommend to set them in the server.properties file: The "Server_Name" field contains the full server name (which shows up in the server browser and may contain additional server info). The optional field "Server_ShortName" may be used to set a short server name (max. 32 characters) which shows up in the info dialog (when selecting a server). Use "Server_Description" to set a server description (max. 4096 characters, supports rich text).
If you want to set up a custom header image, you can define a relative path to the .png or .jpg file at "Server_CustomHeaderImage". The recommended size is 1024 x 512 px. We recommend storing the image as .jpg file. Make sure to keep the file size as low as possible, otherwise loading the image in the server browser may take a long time (it loading takes too long, the game shows a generic "missing" image).