Performance Tuning and Hardware Recommendations
Meet hardware minimums, tune RAM and storage allocation, and address VRAM and Wine-related performance issues.
Overview
Windrose dedicated servers run Windows binaries under Wine on Linux. This Wine layer adds overhead compared to a native Linux binary and introduces specific VRAM and GPU emulation requirements. Provisioning the correct resources and knowing where to look for performance problems will keep your server stable.
Hardware Minimums and Recommendations
| Resource | Minimum | Recommended |
|---|---|---|
| RAM | 8 GB (2 players) | 16 GB+ (4–8 players) |
| Storage | 32 GB SSD | 64 GB SSD |
| GPU VRAM | 2 GB | 8 GB |
RAM: 8 GB is sufficient for 2 players. For every additional 2 players, budget an extra 2–4 GB. A full 8-player server (the maximum) should have at least 16 GB allocated. Memory pressure causes server stuttering and can lead to crashes.
Storage: Use SSD, not HDD. The RocksDB world save format performs many small random writes. A spinning disk will cause significant lag spikes during world saves.
VRAM: Windrose uses Wine-based GPU emulation that requires VRAM even on a headless server. Minimum is 2 GB; 8 GB is recommended for stability at higher player counts.
Panel Resource Allocation
In Pterodactyl/WISP, set the server's memory limit to at least 8192 MB for a small server and 16384 MB for a full server. Do not set a swap limit that would compensate for insufficient RAM — prefer proper RAM allocation over relying on swap.
For disk, allocate at least 32768 MB. Windrose game files plus world data plus logs consume significant space. Leave headroom for world growth and log accumulation.
VRAM Crash Mitigation
If the server crashes with VRAM-related errors (check R5.log for VRAM, GPU memory, or out of memory messages), the primary mitigation on Windows hosts is to increase the Windows Page File:
- On the Windows host running the Wine/Pterodactyl node, open System > Advanced System Settings > Performance Settings > Advanced > Virtual Memory.
- Set a custom page file size on the system drive.
- Set both initial and maximum size to
16384 MB(16 GB) on systems with less than 8 GB VRAM. - Apply the change and restart the host.
On Linux hosts, configure a swap file of equivalent size and ensure the system does not have swap disabled.
Monitoring Server Health
The primary log for runtime errors is:
R5/Saved/Logs/R5.log
Monitor this file for lines containing:
Error— non-fatal problems that may degrade performanceWarning— potential issues to investigateFatal— crashes and unrecoverable errors
If the server is experiencing regular crashes, grep R5.log for Fatal lines and use the context around them to identify the cause.
Wine Performance Notes
Because the server binary runs under Wine, there is inherent overhead:
- CPU performance is generally adequate for an 8-player server on a modern multi-core host.
- Wine does not support GPU hardware acceleration in the same way a native Windows environment does. GPU VRAM is emulated through system RAM and page file space when physical VRAM is exhausted.
- Do not co-locate other GPU-intensive workloads on the same host as a Windrose server.
Storage I/O
RocksDB writes are I/O intensive. If you are running multiple game servers on the same node, monitor disk I/O and ensure no single server is saturating the disk. On high-population servers, consider placing the world save directory on a separate SSD or NVMe volume.
Player Count and the 8-Player Cap
Windrose has a hard maximum of 8 players per server. There is no performance benefit to configuring MaxPlayerCount above 8 — it will not be honored. Set it to the appropriate value for your group size and allocate resources accordingly.