Windward Horizon

Windward Horizon

Not enough ratings
Windward Horizon Dedicated Server Guide (linux)
By RamboFurby
This guide walks you through the complete process of setting up a dedicated Windward Horizon server on a Linux system. Since there’s little to no proper documentation available online, this guide aims to fill that gap with a clear, step-by-step tutorial. From downloading the correct files to configuring, launching, and managing the server – everything you need to get started is included, along with useful tips for common issues.
   
Award
Favorite
Favorited
Unfavorite
How to Set Up a Dedicated Windward Horizon Server on Linux
(Work in progress)

🧰 How to Set Up a Dedicated Windward Horizon Server on Linux

This section explains how to install and run a Windward Horizon dedicated server on a Linux machine using Mono. No official guide exists, so this aims to be the go-to setup tutorial.

🗂️ 1. Download the Server Executable and Required Packages

- ⬇️ Download WHServer.exe from the Tasharen website:
http://www.tasharen.com/wh/WHServer.zip
- 💿 Install the required packages (for Ubuntu-based distributions):

sudo apt update sudo apt install mono-complete libmono-system-net-http4.0-cil

📦 2. Upload and Prepare Files

Upload the server executable to your Linux machine and place it in a dedicated folder:

mkdir -p /opt/wwhorizon-server mv WHServer.exe /opt/wwhorizon-server/

🚀 3. Running the Server

🧪 3.1 Run Manually

To quickly start the server (for testing or temporary use):

cd /opt/wwhorizon-server mono WHServer.exe -name "MyServer" -world "MyWorld" -tcp 5123 -public

Options:
- 🏷️ `-name` = server name
- 🌍 `-world` = world/save name
- 🔌 `-tcp` = TCP port
- 🌐 `-public` = optional; makes your server visible online
- ⚙️ `-service` = recommended when running the server as a background service (disables prompts/output that require user interaction)

🖥️ 3.2 Run as a Systemd Service (Recommended for Persistent Hosting)

1️⃣ Create a service file:

sudo vi /etc/systemd/system/windward.service

2️⃣ Paste this configuration:

[Unit] Description=Windward Horizon Dedicated Server After=network.target [Service] Type=simple WorkingDirectory=/opt/wwhorizon-server ExecStart=/usr/bin/mono WHServer.exe -name "MyServer" -world "MyWorld" -tcp 5123 -public -service StandardOutput=append:/opt/wwhorizon-server/log/server.log StandardError=append:/opt/wwhorizon-server/log/server.log Restart=always RestartSec=10 Nice=-5 OOMScoreAdjust=-100 User=root Environment=MONO_THREADS_PER_CPU=200 [Install] WantedBy=multi-user.target

3️⃣ Reload and start the service:

sudo systemctl daemon-reexec sudo systemctl daemon-reload sudo systemctl enable windward sudo systemctl start windward

💡 Make sure the `/opt/wwhorizon-server/log` folder exists.

📝 4. Log Rotation (Optional but Recommended)

Avoid massive log files by setting up logrotate:

sudo vi /etc/logrotate.d/windward

Paste this:

/opt/wwhorizon-server/log/server.log { daily rotate 14 compress missingok notifempty copytruncate }

🌐 5. Open Port 5123 (Default TCP Port)

To allow connections from other players, open TCP port 5123.

🔓 UFW example:

sudo ufw allow 5123/tcp

🔓 nftables example:

sudo nft add rule inet filter input tcp dport 5123 accept

➡️ Also forward port 5123 TCP on your router to your server’s internal IP.

📌 Done setting up? Continue to the next section for server configuration and admin setup.
Server Configuration & Admin Setup
🛠️ Windward Horizon Server Configuration & Admin Setup

Now that your server is running, let’s configure it and set up admin access.

📁 1. Create the ServerConfig Folder

Create a folder called `ServerConfig` inside your server directory:

mkdir /opt/wwhorizon-server/ServerConfig

This is where config files like `admin.txt` will go.

👑 2. Add Yourself as Admin

Create a file called `admin.txt` and paste your Steam64 ID inside:

vi /opt/wwhorizon-server/ServerConfig/admin.txt

Example contents:

76561198012345678

🔍 3. Find Your Steam ID

Not sure what your Steam64 ID is? Use this tool:
🔗 https://steamid.io/lookup

Paste your Steam profile link there to get the correct ID.

💬 4. Admin Commands (TBD)

As of now, admin commands have not been officially documented.

Once they are known, this section will be updated with:

- 📜 List of available commands
- 🧪 Syntax and usage examples
- 🛡️ Server management tips

✅ That's it for configuration. The next section will cover advanced settings, mods, or server updates (if supported).