Windrose Server Guide

1. CPU requirements

Like other Unreal Engine 5 servers, Windrose requires certain CPU flags to function, in particular AVX2. The server won’t run on a CPU that doesn’t have this flag.

This means that if running AMP in a VM, ensure that the host system CPU’s AVX2 flag (assuming it supports it) is passed through to the VM. This is most easily done by setting the CPU mode to “host” for the VM.

2. Wine requirements on Linux

There is no native Linux server for Windrose, so it has to be run under Wine on Linux.

If you use AMP’s Docker/Podman mode, Wine is supplied for you.

Otherwise, you have to ensure it is installed on your system. You should install Wine Stable from https://winehq.org. Don’t use your system repo’s default Wine, as it is likely too old.

3. World loading

When a Windrose server is first started, it generates a new world under R5/Saved/SaveProfiles/Default/RocksDB (it will be in a Worlds directory under a directory named after the server’s version).

The specific world’s directory name is its “World Island ID” (a long string of letters and numbers). This ID will also appear in the world’s WorldDescription.json file.

This ID is also auto-populated in R5/ServerDescription.json (the general configuration file). However, AMP’s settings (Configuration>Windrose) control that file, so unless you import the World Island ID into AMP’s settings, AMP can’t know about it - so it will be removed on next server start and a new world will as a result be created.

If you want to continue to use the same world on restart, the easiest way to import the World Island ID into AMP’s settings is to right-click on ServerDescription.json and select “Import Configuration”. This can only be done in the instance’s File Manager. Refresh the browser to show the populated setting under Configuration>Windrose. (Note that importing will also match AMP’s settings to any other different values in that file, such as the Invite Code.)

You can also change AMP’s World Island ID setting manually if you want to switch to another existing world (such as one you uploaded to the server).

4. Invite Codes

A primary way for players to connect to a Windrose server is via an Invite Code (assuming P2P connection mode is being used - see section 5 below).

If no Invite Code is set in AMP’s settings, then the server will auto-generate one on each server start. This will be different each time.

If you want to keep the same Invite Code, you can also import that from ServerDescription.json (right-click). Or just enter your own in the Invite Code setting in AMP’s settings (make sure it satisfies the character requirements specified in the description).

5. Connection modes

Windrose has two modes for clients to connect to the server - P2P connection, and direct port connection.

5.1 P2P connection

In this mode, the server uses a network relay system (based on the ICE protocol) to establish a peer-to-peer connection between client and server. Clients connect via Invite Codes.

This means that port forwarding or tunnelling is not required, and that the Game Port allocated to your instance by AMP will not show as listening. This is normal.

5.2 Direct port connection

In this mode, the server opens sockets on the Game Port, and clients connect directly to the server on that port. This requires that the Game Port is accessible to those clients, such as by port forwarding or tunnelling. Invite Codes are not used in this mode.

Note that Windrose’s Game Port listens on both TCP and UDP in this mode. If your Game Port in AMP only shows UDP as its protocol, then you will need to create a new instance.

3 Likes

A post was split to a new topic: Direct connection option added to Windrose