Silkroad Server Setup: MSSQL Configuration and Process Management

Silkroad Server Setup: MSSQL Configuration and Process Management

A guide to setting up a Silkroad Online private server: Windows Server preparation, MSSQL memory limits, database restore, process startup order and port security.

White Bilişim

Silkroad Server Setup

Most of the performance problems people hit while setting up a Silkroad Online private server come not from the game files but from the MSSQL configuration. This guide covers Windows Server preparation, database settings and process management.

Server Architecture

Silkroad runs several interconnected processes together:

ProcessRoleResource behaviour
GatewayServerInitial connection and server listLight load
AgentServerCore game logicProcessor intensive
DownloadServerClient update filesNetwork intensive
MSSQLDatabaseMemory and disk intensive

💡 Joymax publishes nothing official about how the server processes use cores. Plan your resources for peak load such as job wars and unique spawns rather than around architectural assumptions.

1. Windows Server Preparation

First things to do after installation:

  • Install the required Visual C++ Redistributable packages
  • Change the remote desktop port from the default 3389
  • Set a strong password on the administrator account
  • Open only the necessary ports in the firewall
New-NetFirewallRule -DisplayName "Silkroad-Gateway" -Direction Inbound -Protocol TCP -LocalPort 15779 -Action Allow
New-NetFirewallRule -DisplayName "Silkroad-Agent" -Direction Inbound -Protocol TCP -LocalPort 15884 -Action Allow

2. MSSQL Installation and Memory Limit

Choose Mixed Mode Authentication during installation. The most critical setting to apply right after installation is the memory limit:

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'max server memory (MB)', 4096;
RECONFIGURE;

A practical split:

Total RAMMSSQL maximumGame processes + system
8 GB3 GB5 GB
10 GB3-4 GB6-7 GB
16 GB5-6 GB10-11 GB
32 GB10-12 GB20-22 GB

⚠️ Without a limit, MSSQL will gradually claim almost all available memory. That is the most common answer to the question “why does the server freeze in the evenings”.

3. Restoring the Databases

Silkroad typically uses several databases (SRO_VT_SHARD, SRO_VT_ACCOUNT, SRO_VT_LOG):

RESTORE DATABASE SRO_VT_SHARD
FROM DISK = 'C:\backup\SRO_VT_SHARD.bak'
WITH MOVE 'SRO_VT_SHARD' TO 'C:\MSSQL\DATA\SRO_VT_SHARD.mdf',
     MOVE 'SRO_VT_SHARD_log' TO 'C:\MSSQL\DATA\SRO_VT_SHARD_log.ldf',
     REPLACE;

After the restore, remember to update the IP and port values in _RefShardTable to match your own server. Half of all failed installations come down to skipping this step.

4. Process Startup Order

Order matters; processes started in the wrong sequence cannot find each other:

  1. MSSQL service running
  2. GatewayServer
  3. AgentServer
  4. DownloadServer

To make processes restart automatically after a crash, set up a Task Scheduler rule or a monitoring script.

5. Port Security

PortProtocolShould it be publicly open?
15779TCPYes (Gateway)
15884TCPYes (Agent)
1433TCPNo (MSSQL)

⚠️ Do not expose the MSSQL port to the internet. The database should only be reachable from the server itself or from a secure internal network. An open 1433 port is one of the most common reasons private servers lose their data.

6. Backup Plan

Character and inventory data is your most critical asset:

BACKUP DATABASE SRO_VT_SHARD
TO DISK = 'D:\backup\shard_full.bak'
WITH INIT, COMPRESSION;

Take a full backup daily and keep the backups on a different server. On an NVMe SSD the operation takes seconds and players never notice it.

7. Performance Monitoring

When your server starts to stutter, check these three things:

  • MSSQL memory usage: is the limit actually being enforced?
  • AgentServer CPU usage: if one core sits pinned at 100%, move to a higher-frequency plan
  • Disk queue length: if it is high, consider moving the database to separate storage

Conclusion

A Silkroad server setup runs stably once the MSSQL memory limit is set correctly and the processor is sized for peak load. The most common mistake is leaving MSSQL uncapped and then hunting for the problem in the game files.

👉 For package matching, see our Silkroad server rental page, and for other MMORPG options take a look at our game server rental page.