Skip to content

max-pfeiffer/windrose-dedicated-server-docker-helm

Repository files navigation

Poetry Ruff codecov Code Quality Test Image Build Publish Docker Image Lint Helm Chart Release Helm Charts Docker Image Size (latest semver) Docker Pulls

Windrose Dedicated Server - Docker Image and Helm Chart

This Docker image provides a Windrose dedicated game server. You will find here also a Helm Chart for running a Windrose dedicated server on Kubernetes container orchestration system. This Windows server is run on Debian Trixie with Wine compatibility layer.

My automation checks the Windrose public branch every night. If a new release was published by Kraken Express, a new Docker image will be built with this new version. Just use the latest tag and you will always have an up-to-date Docker image. No need to manually run any server updates and mess around with your Docker image. It's that simple. 😃

Have a look at the docker compose example and its documentation. There you can see how a server update can be automated with a simple script. Also check out my guide for setting up a Windrose dedicated server with Docker and Docker Compose.

Please keep in mind that the Windrose server is currently still in development as the game is in early access state. During the last weeks I already encountered some breaking changes for instance the directory of the world saves changed. So expect further breaking changes. I also have to say that the Windrose server is a weird thing to operate in a container. It was just not made for doing this. I had to implement quite some tricks to get it going. And I hope Kraken Express will improve the server so it can be run in a container in a good way.

Docker Hub: https://hub.docker.com/r/pfeiffermax/windrose-dedicated-server

GitHub Repository: https://github.com/max-pfeiffer/windrose-dedicated-server-docker-helm

Usage

Configuration

You can configure the Windrose server with the following environment variables:

  • INVITE_CODE- invite code to find your server. 0-9, a-z and A-Z symbols are allowed. Should contain at least 6 symbols. Case sensitive.
  • PASSWORD - this is the password.
  • SERVER_NAME - name of your server. Helpful if invite codes look similar
  • MAX_PLAYER_COUNT - maximum number of simultaneous players on your server.
  • USER_SELECTED_REGION- specifies the region for the Connection Service. Supported options: SEA, CIS, EU (EU covers both EU & NA). If left empty, the server will automatically detect and select the optimal region based on latency. If desired region is specified (for example, EU), the server will use that region exclusively.
  • P2P_PROXY_ADDRESS - IP Address for listening sockets.
  • USE_DIRECT_CONNECTION - if true, the server will create sockets for direct connection with clients. If false, the server will use ICE protocol to establish P2P connection.
  • DIRECT_CONNECTION_SERVER_ADDRESS - address for direct connection. For future purposes. Not used now.
  • DIRECT_CONNECTION_SERVER_PORT - port for direct connection. Should be available for TCP and UDP connection if UseDirectConnection is true.
  • DIRECT_CONNECTION_PROXY_ADDRESS - сan be used to choose specified network on computer where server with direct connection is running. 0.0.0.0 should be used by default.

Use --env to set these variables in the Docker image.

As the Windrose server is running in the Docker container as a stateless application, you want to have all stateful server data (config, saves, etc.) stored in a Docker volume which is persisted outside the container. By default, the Windrose server stores that data in /srv/windrose/R5/Saved. You need to make sure that this directory is mounted on a Docker Volume.

Docker Run

For testing purposes, you can fire up a Docker container like this:

docker run -it --publish 28050:28050/tcp --publish 28050:28050/udp --env SERVER_NAME=MyServer --env MAX_PLAYER_COUNT=5 pfeiffermax/windrose-dedicated-server:latest

Docker Compose

Please have a look at the docker compose example.

Helm chart

If you would like to run the Windrose server in your Kubernetes cluster, I provide a Helm chart you could use: https://max-pfeiffer.github.io/windrose-dedicated-server-docker-helm

There is also documentation available for that Helm chart.

If you want to run your Windrose server on bare metal Kubernetes, check out my blog article on how to do that using Cilium.

Additional Information Sources

Other Game Server Projects

About

Docker container providing a Windrose dedicated server. Helm chart for running a Windrose dedicated server on Kubernetes.

Topics

Resources

License

Stars

Watchers

Forks

Contributors