Windward Horizon Dedicated Server Setup & Ports (2026)
Servers

Windward Horizon Dedicated Server Setup for Windows and Linux

Discover how Windward Horizon dedicated server hosting works, covering availability, Windows and Linux setup, TCP ports, administration, backups, and troubleshooting.

Windward Horizon Dedicated Server Setup for Windows and Linux

Hosting a persistent Windward Horizon world sounds straightforward: launch the server and let your crew join whenever they want. The complication comes before setup even begins, because the historical download most guides recommend is currently unavailable.

Windward Horizon does support self-hosted servers through WHServer.exe, usually on TCP 5123. Windows can run it directly, while Linux relies on Mono rather than a confirmed native server binary. No separate public SteamCMD dedicated-server App ID is currently exposed. More importantly, the historical Tasharen WHServer.zip link currently opens an account-suspended page, so readers should not use old download commands or unverified mirrors.

This guide separates confirmed instructions from outdated community advice, then shows how to prepare Windows or Linux once an official archive is restored.

You will also learn the correct flags, ports, admin setup, save handling, security, updates, and troubleshooting steps.

Windward Horizon Steam App ID and SteamCMD Status

Windward Horizon uses Steam App ID 2665460. This number identifies the main game, not a dedicated server tool. A Windward Horizon developer confirmed dedicated-server support before release in the developer’s Steam response.

No separate public SteamCMD dedicated-server App ID is exposed for Windward Horizon. Historical community guides used the following direct-download URL, but it was unavailable when checked:

http://www.tasharen.com/wh/WHServer.zip

SteamDB identifies App ID 2665460 as the game and lists Windows, Linux, and macOS game depots without a separate public dedicated-server depot. See the current depot data.

Historical community guides describe WHServer.exe as the Windows executable and use Mono for Linux. Their cited package is currently unavailable, and no separate public SteamCMD server app has been identified.

What You Should Not Do

Do not use the following command as a Windward Horizon dedicated server setup command:

app_update 2665460 validate

That command targets the game App ID. It does not install a confirmed standalone dedicated server tool.

Windward Horizon’s historical self-hosting method uses a direct executable package rather than a separately documented SteamCMD server app.

Obtain any replacement download link from a Tasharen-controlled website, the official Windward Horizon Steam community, or the official Tasharen Discord.

Do not use the historical URL until it returns a valid ZIP archive instead of the suspended-account page.

Windward vs. Windward Horizon Dedicated Server

Windward Horizon is the sequel to the original Windward, released in 2015. Search results often mix both games because they share similar names and launch flags.

The original Windward dedicated server uses WWServer.exe and defaults to TCP 5127. Windward Horizon uses WHServer.exe, while current setup guides commonly use TCP 5123.

ItemWindward 2015Windward Horizon
Server executableWWServer.exeWHServer.exe
Common portTCP 5127TCP 5123
GameOriginal WindwardSequel
Server packageWWServer.zipWHServer.zip
Use in this guideHistorical warning onlyMain focus

Do not copy commands from an old Windward server guide without checking them first. A guide that uses WWServer.exe, WWServer.zip, or TCP 5127 covers the original game.

For Windward Horizon, use a verified current copy of WHServer.exe and the port selected through the -tcp flag. Do not substitute WWServer.exe or an original-Windward package.

Windward Horizon Dedicated Server Requirements

Public server benchmarks remain limited. Treat these specs as practical starting points, not official Windward Horizon server requirements.

Server TypeSuggested SpecsBest For
Small private server2 vCPU, 4 GB RAM, SSD or NVMeTesting, friends, and small co-op sessions
Stable community server4 vCPU, 8 GB RAM, SSD or NVMePublic access and regular sessions
Larger persistent server4–8 vCPU, 16 GB RAM, NVMeBusy communities, mods, and frequent world activity

The official Windward Horizon Steam page lists 8 GB RAM as the minimum game-client requirement.

The headless server does not render graphics, so it may use less memory than the game client. Treat 4 GB as a testing floor, not a safe target for every server. Start with 8 GB when you expect regular players or long-running sessions.

Stable CPU Performance

Choose modern CPU cores with steady clock speeds. A few strong cores often provide a better result than many weak or heavily shared vCPUs.

Watch CPU use during busy sessions. Move to a larger plan if the server reaches high CPU load for long periods or responds slowly when several players join.

Enough RAM for Persistent Sessions

No public dedicated-server memory benchmark was found. Start with the closest estimated tier, monitor actual memory use during normal sessions, and resize when necessary.

Use these rules:

  • Choose 4 GB only for testing or a small private group.
  • Choose 8 GB for a public server or regular sessions.
  • Choose 16 GB for mods, larger groups, or a world that stays online for long periods.

These figures do not represent official player limits.

The /limit # command accepts values from 2 to 32 and defaults to 16, but official notes describe this as the number of people able to enter a player’s instances, not a confirmed total dedicated-server population cap. See the official patch notes.

SSD or NVMe Storage

Store the server, saves, logs, and backups on an SSD or NVMe drive. Avoid slow mechanical disks for an active server.

Keep free space for:

  • Campaign data
  • Player data
  • Server logs
  • Mods
  • Updates
  • Several backup copies

NVMe storage suits long-running servers that save often or keep several restore points.

Public IPv4 or Clean Port Forwarding

A hosted server should have a public IPv4 address. A home server needs a router rule that forwards the chosen TCP port to the machine running WHServer.exe.

Most community setups use TCP 5123. You can select another port through the -tcp flag. Use the same port in the launch command, firewall rule, router rule, and hosting control panel.

CGNAT can block incoming traffic even when your router settings look correct. Ask your internet provider for a public IPv4 address if remote players cannot connect.

Reliable Upload Bandwidth

The host sends server data to every connected player. Choose a connection with steady upload speed, low latency, and little packet loss.

RedSwitches gaming dedicated servers combine low-latency routing, NVMe storage, DDoS protection, and full root access for persistent multiplayer workloads.

DDoS Protection

Public servers can be targeted by denial-of-service traffic, so consider DDoS-protected dedicated servers when uptime matters.

Open only the TCP port used by the server. Do not expose remote desktop, SSH, control panels, or file services to the public internet unless you secure them.

Backups for Saves and Server Settings

Back up the entire active campaign directory instead of selecting files by extension. This prevents you from missing player records, world settings, or related save data.

Local Windows saves sit under:

C:\Users\<User>\Documents\Windward Horizon\Campaigns

The demo uses a Windward Horizon Demo folder. Dedicated Linux paths depend on the directory you chose during setup. A common community example uses /opt/wwhorizon-server/ as the server working directory.

Include these items in each backup:

  • The full active campaign or save folder
  • Its associated player data, including a Players folder when present
  • The ServerConfig folder
  • Admin and ban lists
  • Logs needed for fault checks

How to Download the Windward Horizon Dedicated Server Files

Historical community guides use a package named WHServer.zip containing WHServer.exe. Those guides run the executable directly on Windows and through Mono on Linux, but the cited package is not currently available from its historical URL.

The historically documented developer-hosted URL is currently unavailable:http://www.tasharen.com/wh/WHServer.zip

The URL uses HTTP, has no published checksum in the reviewed setup material, and redirected to an account-suspended page. Do not download or execute files from that address until Tasharen restores it or publishes a verified replacement. Avoid unverified third-party mirrors.

Follow these steps on Windows:

  1. Create a clean server folder:

C:\WindwardHorizonServer

  1. Download WHServer.zip only after Tasharen publishes or restores a working official address.
  2. Confirm that the response is a valid ZIP archive, inspect its file list, and record the SHA-256 hash of the tested copy. A locally recorded hash identifies that copy but does not replace verification of its official source.
  3. Extract every file into the server folder.
  4. Confirm that this file exists:

C:\WindwardHorizonServer\WHServer.exe

  1. Keep the ZIP file until you confirm that the server starts.

Do not extract the server into the Steam game folder. Do not mix it with files from the original Windward server. The 2015 game uses WWServer.exe, while Windward Horizon uses WHServer.exe.

The download path may change after a server update. Recheck the source before using an old bookmark or copied command.

Windward Horizon Dedicated Server Folder Structure

Community sources describe separate world, player, log, and server-control data. However, the exact raw-server paths have not been verified against a current executable. Some directories may appear only after the first successful launch or when the related feature is used.

After the first launch, record the paths created for:

  • World and campaign saves
  • Player data
  • Server logs
  • Administration and moderation files
  • Admin and ban lists

Current hosting documentation references Players data, an Admin List, and ban management. However, community guides disagree between:

ServerConfig/admin.txt

ServerConfig/adminlist.txt

Confirm which filename the current executable recognizes before granting administrator access.

World files use the .world extension. Enter the filename without that extension when using the -world flag. For example, use:

-world "Adventure World"

for a file named:

Adventure World.world

The server may create a new campaign if it cannot find the requested world. Stop the server and back up its complete working directory and all verified persistent-data paths before replacing or transferring files. Remember that path capitalization matters on Linux.

How to Set Up a Windward Horizon Dedicated Server on Windows

Windows runs the server through WHServer.exe. Use a batch file to keep the launch command repeatable.

1. Create the Server Folder

Create:

C:\WindwardHorizonServer

Extract WHServer.zip into that directory.

Confirm that this file exists:

C:\WindwardHorizonServer\WHServer.exe

2. Create a Launch Script

Open Notepad and enter:

@echo off

cd /d "C:\WindwardHorizonServer"

WHServer.exe -name "MyServer" -world "MyWorld" -tcp 5123 -public

pause

Save the file as:

start-server.bat

Select All Files in Notepad’s save window. This prevents Windows from adding a .txt extension.

3. Set the Launch Flags

FlagPurpose
-name "MyServer"Sets the name shown to players
-world "MyWorld"Loads or creates the named world
-tcp 5123Sets the TCP listening port
-publicRequests a place in the public server list
-serviceDisables prompts that need user input during unattended runs

Use quotes around server and world names that contain spaces.

Do not include .world in the -world value. Use -world "MyWorld" for MyWorld.world. The same rule applies on Windows and Linux.

Run the first test without -service. This keeps startup output visible and makes errors easier to spot.

Add -service after the server loads the correct world:

WHServer.exe -name "MyServer" -world "MyWorld" -tcp 5123 -public -service

The -service flag changes the game server’s headless behavior. It does not register a Windows Service or make the server start during boot. Use Windows Task Scheduler or a tested service wrapper when you need automatic startup and recovery.

4. Configure TCP 5123

Use the dedicated ports and firewall section below to open TCP 5123 in Windows Firewall and forward it through the router when required. Keep the launch command, firewall, and router on the same port. If external connections still fail, check for CGNAT or another upstream NAT layer.

5. Add an Administrator

Confirm the ServerConfig directory used by your current server build. If you followed this guide’s Windows installation path, check:

C:\WindwardHorizonServer\ServerConfig

Create the admin-list file recognized by your current server build. Community sources disagree between:

C:\WindwardHorizonServer\ServerConfig\admin.txt

C:\WindwardHorizonServer\ServerConfig\adminlist.txt

Add one SteamID64 per line:

76561198012345678

You can find the SteamID64 from the player’s Steam profile through a trusted SteamID lookup service. One commonly used lookup page is:

https://steamid.io/lookup

Restart the server after editing the confirmed admin-list file. Add one SteamID64 per line. Community hosting documentation reports that demo users can join and play but need the full game for administrator rights and chat commands.

6. Start and Test the Server

Run:

start-server.bat

Check that:

  • WHServer.exe stays open.
  • The correct world loads.
  • The save, player-data, and log paths generated by the current executable match the paths recorded in your test.
  • The server listens on TCP 5123.
  • The admin account receives access.
  • The server requests public listing when you use -public.

Check the listening port in an elevated PowerShell window:

Get-NetTCPConnection -LocalPort 5123 -State Listen

No result means the server has not bound to that port. Check the running process, launch command, selected port, and server output before changing router settings.

The public server list may take time to refresh. A blocked port, server crash, version mismatch, or incorrect launch value can also stop the listing from appearing.

Test from a different internet connection. A test from the same local network may hide router and NAT problems.

How to Set Up a Windward Horizon Dedicated Server on Linux With Mono

No native Windward Horizon dedicated-server binary is publicly confirmed. Available community Linux instructions run WHServer.exe through Mono, so treat Linux hosting as a community-supported compatibility method.

Run the server under a dedicated non-root account. This limits the damage caused by a bad mod, exposed service, or compromised process.

1. Install Mono and Download Tools

On Ubuntu or Debian, run:

sudo apt update

sudo apt install -y mono-complete libmono-system-net-http4.0-cil curl unzip

Check Mono:

mono --version

A June 2025 community Linux guide lists mono-complete and libmono-system-net-http4.0-cil. Verify the required packages against the current server archive before production use.

Package names may differ on other Linux distributions.

2. Create a Service Account

Create a dedicated system user:

sudo useradd \

--system \

--home /opt/wwhorizon-server \

--shell /usr/sbin/nologin \

windward

Create the server and log directories:

sudo mkdir -p /opt/wwhorizon-server/log

sudo chown -R windward:windward /opt/wwhorizon-server

3. Download and Extract the Server

The historical Tasharen download was unavailable when checked. Do not run a curl or extraction command until Tasharen publishes a working official server archive. After obtaining a verified replacement, confirm that it is a valid ZIP, inspect its contents, record the hash of the tested copy, and stop if WHServer.exe is missing.

4. Test the Server Manually

Run the server as the dedicated account:

cd /opt/wwhorizon-server

sudo -u windward /usr/bin/mono WHServer.exe \

-name "MyServer" \

-world "MyWorld" \

-tcp 5123 \

-public

A June 2025 community Linux guide uses this Mono command, these launch flags, and TCP 5123. Verify them against the current executable before production use.

Check the startup output. Confirm that the server loads or creates the expected world.

Stop the test with Ctrl+C.

5. Add an Administrator

Create the configuration folder:

sudo mkdir -p /opt/wwhorizon-server/ServerConfig

Confirm which admin-list filename the current build recognizes.

If it uses admin.txt, run:

sudo nano /opt/wwhorizon-server/ServerConfig/admin.txt

If it uses adminlist.txt, run:

sudo nano /opt/wwhorizon-server/ServerConfig/adminlist.txt

Add one SteamID64 per line:

76561198012345678

Set the correct ownership:

sudo chown -R windward:windward /opt/wwhorizon-server/ServerConfig

The June 2025 community Linux guide uses ServerConfig/admin.txt with one SteamID64 per line. Verify the filename against the current server build because newer Windows community material also references adminlist.txt.

6. Create a systemd Service

Create the unit file:

sudo nano /etc/systemd/system/windward-horizon.service

Add:

[Unit]

Description=Windward Horizon Dedicated Server

Wants=network-online.target

After=network-online.target

[Service]

Type=simple

User=windward

Group=windward

WorkingDirectory=/opt/wwhorizon-server

ExecStart=/usr/bin/mono /opt/wwhorizon-server/WHServer.exe -name "MyServer" -world "MyWorld" -tcp 5123 -public -service

Restart=on-failure

RestartSec=10

StandardOutput=append:/opt/wwhorizon-server/log/server.log

StandardError=append:/opt/wwhorizon-server/log/server.log

[Install]

WantedBy=multi-user.target

Wants=network-online.target creates a soft dependency on the online-network target. After=network-online.target tells systemd to start the server after that target. The official systemd network-target documentation explains how these settings affect services that require a configured network connection.

The -service flag stops the game server from waiting for interactive input. systemd manages startup, shutdown, and restart behavior. The User and Group settings keep the process out of the root account.

Reload systemd and start the service:

sudo systemctl daemon-reload

sudo systemctl enable --now windward-horizon

Check its status:

sudo systemctl status windward-horizon

Watch the log:

sudo tail -f /opt/wwhorizon-server/log/server.log

Some older systemd releases do not support append: for file output. Remove the StandardOutput and StandardError lines on those systems, then read the journal:

sudo journalctl -u windward-horizon -f

Restart the service after changing the server name, world, port, or admin file:

sudo systemctl restart windward-horizon

7. Configure Log Rotation

Create:

sudo nano /etc/logrotate.d/windward-horizon

Add:

/opt/wwhorizon-server/log/server.log {

daily

rotate 14

compress

delaycompress

missingok

notifempty

copytruncate

}

This rule keeps 14 daily logs and compresses older copies. Check the log directory after the first start to confirm that server.log receives output.

8. Configure and Verify TCP 5123

Follow the dedicated ports and firewall section below to configure UFW and any provider or router firewall. Allow SSH before enabling UFW on a remote host. Then confirm that the server listens on the selected port:

sudo ss -ltnp | grep ':5123'

If no result appears, check:sudo systemctl status windward-horizonsudo journalctl -u windward-horizon -n 100 --no-pager

9. Confirm Persistent Data

After the first successful start, record every save, player-data, log, and configuration path created by the current executable. Confirm that those paths persist after a controlled service restart before relying on them for backups or migrations.

During a planned maintenance window, you can optionally reboot the host to test automatic startup.

After reconnecting, run:sudo systemctl status windward-horizon

Then check the active world, TCP port, admin access, player data, and logs before opening the server to other players.

Windward Horizon Dedicated Server Launch Commands and Flags

Windward Horizon uses command-line flags to set the server name, world, TCP port, listing status, and headless behavior.

A standard Windows launch command looks like this:

WHServer.exe -name "Red Sea" -world "MyWorld" -tcp 5123 -public

Linux hosts run the same executable through Mono:

mono WHServer.exe -name "Red Sea" -world "MyWorld" -tcp 5123 -public.

FlagPurposeExample
-nameSets the server name shown to players-name "Red Sea"
-worldLoads or creates the selected world-world "MyWorld"
-tcpSets the TCP listening port-tcp 5123
-publicRequests a place in the public server list-public
-servicePrevents prompts that need user input during headless operation-service

Do not include the .world extension in the -world value.

For this file:

Adventure World.world

use:

-world "Adventure World"

Use quotation marks around server and world names that contain spaces. A missing quote may split the name into separate command values.

The -service flag does not install a Windows Service or create a systemd unit. It changes how WHServer.exe behaves during an unattended run. Windows still needs Task Scheduler or a tested service wrapper for startup after a reboot. Linux can use systemd.

Keep the selected TCP port consistent across:

  • The -tcp launch value
  • Windows Firewall or UFW
  • Router port forwarding
  • The hosting firewall or security group
  • Direct-connect details

A mismatch at any point can make a running server unreachable.

Windward Horizon Dedicated Server Ports and Firewall Setup

TCP 5123 is the most common port in current Windward Horizon community setup guides.

The server accepts a custom port through the -tcp flag:

WHServer.exe -name "Red Sea" -world "MyWorld" -tcp 5123 -public

No second default port was verified. Use TCP 5123 unless the current executable or a tested hosting configuration explicitly uses another value through -tcp.

The current public setup material does not list a separate UDP or query port.

SettingCurrent Guidance
Main protocolTCP
Common self-hosted port5123
Port flag-tcp <port>
Separate UDP portz
Separate query portNot documented

Open only the TCP port selected for your server.

Open the Port in Windows Firewall

Open PowerShell as an administrator and run:

New-NetFirewallRule `

-DisplayName "Windward Horizon TCP 5123" `

-Direction Inbound `

-Protocol TCP `

-LocalPort 5123 `

-Action Allow

Change 5123 if your launch command uses another port.

Microsoft’s New-NetFirewallRule documentation explains how PowerShell creates and controls inbound and outbound Windows Firewall rules.

Check whether the server listens on the port:

Get-NetTCPConnection -LocalPort 5123 -State Listen

No result means WHServer.exe has not opened the port. Check the process, launch command, and logs before changing your router.

Open the Port With UFW

On Ubuntu or Debian, run:

sudo ufw allow 5123/tcp

sudo ufw status verbose

Ubuntu describes UFW as a host-based firewall interface for managing Linux netfilter rules.

The status command shows whether UFW is active. A saved rule does not filter traffic while UFW remains inactive.

Before enabling UFW on a remote server, allow SSH:

sudo ufw allow OpenSSH

sudo ufw enable

Check whether the server listens on TCP 5123:

sudo ss -ltnp | grep ':5123'

No result means Mono or WHServer.exe has not bound to that port.

Configure Router Port Forwarding

A home-hosted server needs a router rule that sends incoming TCP traffic to the machine running the server.

Use these values:

Router SettingValue
ProtocolTCP
External port5123
Internal port5123
DestinationThe server’s local IP address

Give the server a fixed local IP or a DHCP reservation. A changed local IP can break the forwarding rule after a restart.

Check for a Public IPv4 Address

Remote players need a route from the internet to your server.

Some internet providers place customers behind carrier-grade NAT, or CGNAT. CGNAT blocks normal inbound port forwarding because the provider controls the outer router.

Compare the WAN address shown by your router with your public IP address. A mismatch may point to CGNAT or another upstream router.

Ask your provider for a public IPv4 address if CGNAT blocks incoming connections. A hosted server with its own public IP avoids this problem.

Account for NAT Loopback

NAT loopback lets a device inside your network connect through the public IP address. Some routers do not support it.

A failed test from the same home network does not always mean the server is offline. A successful local test also does not prove that outside players can connect.

Test from another network, such as a mobile connection.

Check Hosting Firewalls and Security Groups

A hosted server may have two firewall layers:

  • The operating system firewall
  • The provider’s network firewall or security group

Open the same TCP port in both places.

A correct UFW or Windows Firewall rule cannot bypass a blocked provider firewall.

If the server runs locally but friends cannot join, check:

  • The server process is not listening
  • The wrong protocol is open
  • The firewall port differs from -tcp
  • The router points to the wrong local IP
  • The provider firewall blocks the port
  • CGNAT blocks inbound connections
  • Players use the wrong public IP or port

Making a Windward Horizon Server Public or Private

The -public flag requests a place in the public server list:

WHServer.exe -name "Red Sea" -world "MyWorld" -tcp 5123 -public

The flag does not guarantee instant visibility. The list may need time to refresh. A blocked port, startup error, old server build, or wrong launch value can also stop the server from appearing.

Players looking for a Windward Horizon dedicated server list should check the game’s multiplayer server menu. Available servers change over time, so old screenshots and forum counts may no longer reflect the current list.

Public Windward Horizon Server

Use -public when you want players to discover the server through the game.

A public server needs:

  • Clear player rules
  • Limited admin access
  • Active moderation
  • Scheduled backups
  • Log reviews
  • A tested ban process
  • DDoS-aware hosting

The -public flag controls visibility. It does not secure the server or restrict access.

Private Windward Horizon Server

Remove -public when you do not want the server listed:

WHServer.exe -name "Red Sea" -world "MyWorld" -tcp 5123

Players can connect through direct IP when the current game build or hosting panel supports direct connection.

Share both values:

Server IP: 203.0.113.10

Port: 5123

A hidden server is not the same as a password-protected server. Anyone with the address may still try to connect. No publicly documented server-password, whitelist, or RCON option was found in the Windward Horizon sources reviewed for this guide.

Protect a private server by:

  • Sharing the address only with trusted players
  • Keeping the admin list small
  • Removing inactive admins
  • Opening only the game port
  • Keeping frequent backups
  • Checking logs for unknown connections

Steam confirms that the demo includes full multiplayer. Community reports indicate that demo users may rely on Direct Connect, so verify the current demo interface and share the server IP and port when that option is available.

Windward Horizon Dedicated Server Admin Setup

Windward Horizon links admin access to a player’s SteamID64.

A SteamID64 is a unique 17-digit number tied to a Steam account.

The June 2025 Linux community guide uses:ServerConfig/admin.txt

A newer Windows community guide also references adminlist.txt, while managed panels may label the setting Admin List. Verify the filename recognized by the current executable.

Add one SteamID64 per line:

76561198012345678

76561198123456789

Do not add:

  • Steam display names
  • Profile links
  • Commas
  • Quotation marks
  • Extra labels

How to Add a Windward Horizon Admin

  1. Find the player’s SteamID64.
  2. Stop the server.
  3. Open or create the ServerConfig folder.
  4. Open or create the admin-list file recognized by the current server build.
  5. Add the SteamID64 on a new line.
  6. Save the file.
  7. Start the server.
  8. Join through the listed Steam account.
  9. Run /help to confirm administrator access and view the commands supported by the current build.

If the current build recognizes admin.txt, the Windows path may look like:

C:\WindwardHorizonServer\ServerConfig\admin.txt

The corresponding Linux path may look like:

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

If the build uses adminlist.txt, replace admin.txt with adminlist.txt in these paths.

After confirming the filename, set the correct Linux ownership.

If the build uses admin.txt, run:

sudo chown windward:windward \

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

If the build uses adminlist.txt, run:

sudo chown windward:windward \

/opt/wwhorizon-server/ServerConfig/adminlist.txt

Restart the service:

sudo systemctl restart windward-horizon

The /reloadServerData command may reload admin and ban files in supported builds. A full restart is safer during the first setup.

Community hosting documentation reports that admin and chat commands require full-game ownership. Demo players can still join and play without administrator access.

Keep the admin list small. Admin commands can change players, factions, towns, server values, and world progress.

Windward Horizon Admin Commands

Admins enter commands through in-game chat with a forward slash.

Run:

/help

before using commands on a live server.

Tasharen has confirmed several newer commands through game updates. Other commands in this section come from community documentation and may include behavior carried over from the original Windward. Verify every command through /help on the current build and compare confirmed additions with the official patch history.

Command names and syntax can change between builds. Test them on a backup or test world first.

Moderation Commands

CommandPurpose
/kick <name>Removes a player from the current session
/ban <name, SteamID64, or IP>Adds a player identifier to the ban list
/unban <name, SteamID64, or IP>Removes an identifier from the ban list
/reloadServerDataReloads supported admin, ban, and server files

Community hosting documentation references:

ServerConfig/ban.txt

A ban can target a name, SteamID64, or IP address. If a player remains blocked after an unban, inspect ban.txt to identify the exact value stored by the current build.

Community hosting material references mute values through /set, but these settings may not work in every dedicated-server build. Test moderation commands before relying on them during a public session.

Server Message and Admin Chat Commands

CommandPurpose
/ad <text>Sends a global message from an administrator
/pac <text>Sends a private administrator-only message
/motd <text>Sets the server message of the day

Use /motd for permanent notices and rules.

Use /ad for:

  • Maintenance warnings
  • Server restarts
  • Community events
  • Rule reminders
  • Planned world changes

Use /pac for private coordination between admins.

World and Server Configuration Commands

CommandPurpose
/get <path>Reads a documented value
/set <path> = valueAttempts to change a documented value
/remove <path>Removes a configured value
/reloadServerDataReloads supported server data
/getServerAdded for administrators on March 28, 2026; use /help for current syntax
/setServerAdded for administrators on March 28, 2026; use /help for current syntax
/deleteRegion # <number>Removes progress from a selected region

Treat /set, /get, and /remove with care. Some dedicated-server world settings may not apply.

Official March 28, 2026 notes confirm that /getServer and /setServer were added for administrators, but they do not document complete syntax or every supported value. Check /help on the current build before use.

Use local campaign editing and save upload for settings that:

  • Do not appear through /getServer
  • Fail to apply through /setServer
  • Affect initial world generation
  • Need client-side campaign creation

Stop the server and back up its complete working directory and all verified persistent-data paths before changing world or server values.

Player Transfer and Story Commands

Recent game updates added commands for moving player data and resetting story progress.

CommandPurpose
/resetstoriesResets all story progress so the stories can be replayed
/export <playerName>Exports selected player data
/import <playerName>Imports selected player data

These commands may offer a cleaner way to move one player between worlds than replacing the complete player-data directory.

Test export and import on backup data first. Confirm the player’s inventory, ship, faction, and story state after the transfer.

Faction, Town, and Event Commands

CommandPurpose
/growChanges growth for the nearest supported town
/takeoverChanges control of the nearest supported town
/globalTakeoverChanges control across the world
/ctfStarts or ends a supported capture event
/juggernautStarts or ends a supported special event
/raidRuns raid-related behavior in supported builds

The exact effect can change between game versions.

Run /help before using these commands. Keep a fresh backup before changing factions, towns, regions, or events.

A global command can affect progress for every player on the server.

Mod Commands

CommandPurpose
/allowMod <name>Marks a supported mod as optional when the current build accepts the command

Use this command with care.

Client-side mods may create fewer server risks than mods that change world data, combat, ships, factions, or saves. This does not make every client-side mod safe.

Before adding or allowing a mod:

  • Back up world and player data.
  • Test the mod on a copy of the server.
  • Check whether all players need it.
  • Watch the server logs.
  • Confirm that saves still load.
  • Recheck the mod after each game update.
  • Remove it if new crashes or connection errors appear.

Upload or Transfer a Windward Horizon Save to a Dedicated Server

You can move a local Windward Horizon campaign to a dedicated server. This lets your group keep its world and player progress.

Local campaign files commonly appear under:

C:\Users\<User>\Documents\Windward Horizon\Campaigns

Demo files may appear under:

C:\Users\<User>\Documents\Windward Horizon Demo\Campaigns

The full game supports Steam Cloud, and official patch notes warn that Steam Cloud should remain enabled for saves to work properly. Do not treat AppData cache files as authoritative campaign saves without current-build verification.

If the expected campaign does not appear under Documents, check:

  • Steam Cloud status
  • The Windward Horizon Demo campaign folder
  • Other Windows user profiles
  • The date and time on each campaign folder

Do not create a new campaign until you confirm that the existing files are missing.

A transferable campaign may include:

  • A .world file
  • A matching .world.config file
  • A Players folder
  • Other files stored beside the campaign

Transfer the complete matching set when possible.

How to Transfer a Local Save

  1. Stop the dedicated server.
  2. Back up the server’s complete working directory and every verified world, player-data, and configuration path.
  3. Find the local campaign folder.
  4. Identify the correct .world file.
  5. Check for a matching .world.config file.
  6. Check for any player-data folder stored with the campaign.
  7. Upload the .world file.
  8. Upload the matching .world.config file when present.
  9. Replace the server’s confirmed player-data folder only when you want to transfer the related player progress.
  10. Set the server’s world value to the filename without .world.
  11. Fix Linux file ownership when needed.
  12. Start the server.
  13. Confirm the world and player state before deleting the backup.

For this save:

Adventure World.world

use:

-world "Adventure World"

Do not use:

-world "Adventure World.world"

A wrong -world value may cause the server to create a new world.

Raw Windows and Linux Servers

Stop the server and place the world and player data in the paths generated or documented by the current executable. Verify the exact paths through a first launch before replacing any live data.

Managed Hosting Panels

Managed panels may use a different upload path.

Upload the files to the save directory shown by the panel. Set the panel’s save or world name to the .world filename without the extension.

Do not assume that every hosting panel mirrors the raw folder structure.

Fix Linux Ownership After an Upload

A file uploaded as root may prevent the windward service account from saving changes.

Apply ownership only to the world and player-data paths confirmed during the server’s first successful launch. Replace <confirmed-path> with each verified path before running:

sudo chown -R windward:windward "<confirmed-path>"

Restart the service:

sudo systemctl restart windward-horizon

Confirm the Transfer

Join with a player from the transferred campaign.

Check:

  • The correct world loaded
  • The ship loaded
  • Inventory remains present
  • Faction progress remains correct
  • Province changes remain present
  • Town and workshop progress remains present
  • Story state remains correct
  • Admin access still works

Do not copy only the .world file when you also need player progress. World and player data may be stored separately. Replacing the complete player-data directory can overwrite progress created after the dedicated server started, so retain the previous copy until every player confirms their data.

For a single-player transfer, test /export <playerName> and /import <playerName> on backup data before replacing the full player directory.

Transfer World Options

Some world options do not apply through dedicated-server commands.

Use this fallback:

  1. Open Windward Horizon on a client computer.
  2. Create or edit the campaign.
  3. Set the required world options.
  4. Save and close the game.
  5. Find the local campaign files.
  6. Stop the dedicated server.
  7. Back up the complete server working directory and the verified world and player-data paths.
  8. Upload the edited campaign.
  9. Set the correct -world value.
  10. Start the server.
  11. Check the world rules and player progress.

This process replaces the active server campaign. Keep the old copy until the new world loads with the expected rules and player data.

Protect Persistent Server Progress

Each Windward Horizon campaign uses a procedurally generated world with shared player, town, province, faction, and workshop progress. Stop the server and create a complete backup before changing world options, uploading saves, replacing player data, installing mods, running world-altering commands, or moving the server to another host.

Windward Horizon Dedicated Server Not Showing or Not Connecting

Use this table to trace common Windward Horizon server faults.

ProblemLikely CauseWhat to Check
Server does not appear in the public listMissing -public, blocked port, startup fault, or listing delayAdd -public, restart, check logs, and confirm the chosen TCP port
Friends cannot joinTCP port blocked or wrong connection detailsOpen and forward the port set through -tcp
Server works locally but not externallyRouter, CGNAT, or public IP issueCheck the WAN IP, forwarding rule, and public IPv4 status
Public-IP test fails from the same LANRouter lacks NAT loopbackTest from a mobile connection or another network
World does not loadWrong -world value or incorrect save pathUse the filename without .world and confirm the save path generated by the current executable
Server creates a new worldRequested save file was not foundCheck the filename, capitalization, -world value, and verified save path
Admin access does not workWrong SteamID64, unrecognized admin filename, or incorrect ownershipConfirm whether the current build uses admin.txt or adminlist.txt, add one SteamID64 per line, and check file ownership
Linux server crashes at startupMissing Mono package, bad permissions, or wrong pathCheck Mono, ownership, WHServer.exe, and logs
Save appears resetWrong world selected or matching player data missingStop the server, restore the backup, and verify the confirmed world and player-data paths
World options do not applyServer command does not expose the optionCheck /help, /getServer, and /setServer; upload a local save when needed
Server stops after SSH logoutProcess runs inside the shellUse systemd, tmux, or screen
Server disappears after an updateOutdated executable, startup failure, or version mismatchInstall the current verified executable, restart, and read the latest logs. The July 8, 2026 update intentionally removed old server builds from the server address. See the July 8, 2026 patch notes.
Players load the wrong progressMismatched player data was uploadedRestore the verified player-data directory that belongs to the selected world

Confirm That the Port Is Listening

Replace 5123 with the port set through -tcp.

On Windows:

$Port = 5123

Get-NetTCPConnection -LocalPort $Port -State Listen

On Linux:

PORT=5123

sudo ss -ltnp | grep ":$PORT"

No listening result means the server has not opened the port. Fix the process, file path, or launch command before changing firewall and router rules.

Test From an External Network

Always test a public server from outside the host network.

A test from the same LAN can hide:

  • Missing router forwarding
  • NAT loopback limits
  • CGNAT
  • Wrong public IP details
  • A blocked hosting firewall

Use a mobile connection or ask another player to test the public IP and port.

Use systemd for Long-Running Linux Servers

tmux and screen can keep a manual server running after logout. They do not start the server after a reboot or restart it after a crash.

Use systemd when you need:

  • Automatic boot startup
  • Crash recovery
  • Service status checks
  • Central logs
  • Controlled restarts

Security and Backup Checklist for Windward Horizon Server Admins

A public Windward Horizon server exposes a TCP port and stores shared campaign progress. Protect the host and the save data.

Secure the Network

  • Open only the TCP port selected through -tcp.
  • Do not open UDP without a confirmed need.
  • Restrict SSH, remote desktop, file transfer, and control panels.
  • Use SSH keys where possible.
  • Limit management access by IP.
  • Check the operating system firewall.
  • Check the provider firewall or security group.
  • Use DDoS-aware hosting for public servers.

CISA’s DDoS response guidance explains common attack types and practical preparation and response measures.

A server location close to most players helps reduce latency. High-bandwidth hosting provides traffic headroom for larger communities, backups, mods, and related downloads.

Limit Admin Access

  • Run Linux servers through a non-root account.
  • Keep the admin SteamID64 list small.
  • Remove accounts that no longer manage the server.
  • Review the confirmed admin-list file after a restore.
  • Back up the ban list.
  • Do not give players SSH or panel access just to grant game admin rights.

Back Up the Right Data

Stop the server and back up:

  • The complete server working directory
  • Every verified world and player-data path
  • The confirmed admin and ban files
  • Recent server logs needed for troubleshooting
  • Windows batch files
  • systemd unit files
  • Firewall and port documentation
  • The current verified server executable
  • Its official source URL and executable version
  • The SHA-256 hash of the tested copy

Store at least one backup outside the live server directory.

Create Backups Before Risky Changes

Create a restore point before:

  • Updating WHServer.exe
  • Changing world options
  • Uploading a local campaign
  • Replacing player data
  • Adding or removing mods
  • Running faction or region commands
  • Moving to another server

Use Scheduled Backups

Public servers should use scheduled backups.

A practical plan includes:

  • Frequent local snapshots
  • One copy outside the live server
  • Several dated restore points
  • A longer-retention weekly copy
  • Restore tests

Do not keep every backup on the same disk as the live server.

Keep a Rollback Copy Before Updates

Before an update:

  1. Stop the server.
  2. Copy all persistent folders.
  3. Save the current server files, source URL, executable version, and hash of the tested copy.
  4. Apply the update.
  5. Start the server.
  6. Check the world.
  7. Check player progress.
  8. Test admin access.
  9. Confirm the TCP port.
  10. Keep the old copy until players confirm their progress.

Review Logs After a Crash

After a crash:

  • Read the newest verified server log.
  • Check systemd, Windows, and WHServer.exe logs for the affected installation.
  • Confirm that the disk has free space.
  • Check file ownership.
  • Confirm that the correct world loaded.
  • Review recent admin commands.
  • Review recent mod changes.
  • Restore the last clean save if the active files show damage.

Rotate logs so they do not fill the disk.

Host a Persistent Windward Horizon Server on RedSwitches

RedSwitches is not officially affiliated with Tasharen Entertainment or Windward Horizon.

Running a Windward Horizon dedicated server is not simply about launching WHServer.exe. It means keeping a shared campaign available, responsive, and recoverable as player data, world progress, mods, backups, and logs accumulate.

Use only a verified server archive, keep TCP 5123 consistent across the launch command and firewalls, confirm the paths created by your build, and protect the complete installation with regular off-server backups.

Once Tasharen restores or replaces the official server package, RedSwitches can provide the dedicated environment needed to host it with confidence.

Single-tenant hardware, root access, KVM or IPMI control, NVMe storage, DDoS protection, and global server locations give you control over performance, security, recovery, and player latency.

Choose a location near your community, size the server from observed usage, and retain full control as the campaign grows. Explore RedSwitches dedicated servers and build a reliable home for your persistent Windward Horizon world.

Frequently Asked Questions

Common questions about windward horizon dedicated server setup for windows and linux.

Does Windward Horizon Have Dedicated Servers?
Yes. A Windward Horizon developer confirmed dedicated-server support. However, the commonly cited WHServer.zip URL redirected to an account-suspended page when checked, so wait for a working Tasharen-controlled download before following the installation steps.
What Is the Windward Horizon Steam App ID?
The Windward Horizon Steam App ID is 2665460. This ID belongs to the main game, not a confirmed separate dedicated-server tool.
Does the Windward Horizon Dedicated Server Use SteamCMD?
No separate public SteamCMD dedicated-server App ID is currently documented. Historical self-hosting guides use WHServer.zip and WHServer.exe, but the historical archive URL is unavailable. Wait for a working Tasharen-controlled download before installing the server.
What Port Does a Windward Horizon Dedicated Server Use?
TCP 5123 is the commonly documented port. You can change it with the -tcp launch flag. Keep the selected port consistent across the server command, firewall, router, and hosting firewall or control panel.
Can I Host a Windward Horizon Server on Linux?
Available community instructions run WHServer.exe through Mono on Linux. This is a compatibility-based method, not a publicly confirmed native Linux dedicated-server binary. Verify the required Mono packages against the current archive before using systemd for long-running hosting.
Does Windward Horizon Support a Server Password, Whitelist, or RCON?
No publicly documented password, whitelist, or RCON option was found in the sources reviewed for this guide. Removing -public hides the server from the browser but does not prevent people with the IP and port from attempting to connect.
How Many Players Can Join a Windward Horizon Server?
Official notes document a /limit value from 2 to 32, with 16 as the default, for players entering an instance. They do not confirm that 32 is the total dedicated-server population cap.
Why Did My Windward Horizon Server Disappear After the July 8, 2026 Update?
The July 8 update changed the server address to remove old servers and force administrators to update their executable. Install a current verified executable and restart the server.
Where Are Windward Horizon Server Saves Stored?
Local campaigns are documented under C:\Users\Documents\Windward Horizon\Campaigns. Raw dedicated-server paths should be confirmed from the current executable because hosting panels and community setups may use different layouts.
Can Demo Players Join a Windward Horizon Dedicated Server?
Steam confirms that the demo includes full multiplayer. Community hosting documentation reports that demo players can join and play, but they need the full game to receive administrator privileges and use admin chat commands.
Written by

Hafsa Qadeer

Technical Writer

Hafsa Qadeer is a Technical Content Writer at RedSwitches and a journalist with a background in molecular biology and oncology. She brings research precision to technical writing and SEO strategy, turning complex topics in infrastructure, biotech, and AI into content that informs and engages.

Related Articles

Power Your Next Project With Bare Metal

10 min delivery, zero setup fees, and 24/7/365 human engineers across 20+ global locations.