Many users have reported that when using ST-Filter 6.16, the Silkroad Online client throws an Invalid IP error when trying to connect to their server.
This happens because the filter’s dev_kitdll only allows connections to specific pre-configured domains and does not accept direct IP addresses. If you try to connect your server using an IP that is not linked to an allowed domain, the client simply won’t work.
💡 Solution:
To fix this issue, we can make an allowed domain point to our server’s IP. There are two ways to do this:
1️⃣ Manually by editing the Windows hosts file.
2️⃣ Automatically using a program that does it for you.
✏️ Method 1: Manual Configuration
If you want to do it manually, follow these steps:
1️⃣ Open the hosts file:
Press Win + R, type notepad C:\Windows\System32\drivers\etc\hosts, and press Enter.
If you get a permission error, run Notepad as Administrator and then open the hosts file manually.
2️⃣ Add a line with your server’s IP and an allowed domain:
Inside the hosts file, add the following line:
Code:
192.168.18.33 srohaolong.top
3️⃣ Save and close the file.
4️⃣ Restart the client and test the connection.
⚡ Method 2: Use an Automated Program
If you prefer an automated solution, you can use this small C# program, which checks if it’s running as Administrator and modifies the hosts file for you.
📌 C# Code:
Code:
using System;
using System.IO;
using System.Security.Principal;
class Program
{
static void Main()
{
if (!IsAdministrator())
{
Console.WriteLine("❌ Error: You must run this program as Administrator.");
Console.WriteLine("Right-click and select 'Run as Administrator'.");
Console.ReadKey();
return;
}
string configPath = "config.txt";
string hostsPath = @"C:\Windows\System32\drivers\etc\hosts";
string commentTag = "# Added by ST-Filter Fix";
// Created by el_herre0 with help from ChatGPT
// This script modifies the hosts file to allow the ST-Filter to work with a custom server IP.
// Create config.txt if it doesn't exist
if (!File.Exists(configPath))
{
File.WriteAllText(configPath, "fake_dns=srohaolong.top\nip_server=192.168.18.33\n");
Console.WriteLine("config.txt has been created. Edit the file and set your IP and domain.");
Console.ReadKey();
return;
}
// Read configuration
string[] configLines = File.ReadAllLines(configPath);
string fakeDns = null;
string ipServer = null;
foreach (string line in configLines)
{
if (line.StartsWith("fake_dns="))
fakeDns = line.Substring(9).Trim();
else if (line.StartsWith("ip_server="))
ipServer = line.Substring(10).Trim();
}
if (string.IsNullOrEmpty(fakeDns) || string.IsNullOrEmpty(ipServer))
{
Console.WriteLine("Config.txt is empty or incomplete.");
Console.ReadKey();
return;
}
// Modify hosts file
string[] hostsLines = File.ReadAllLines(hostsPath);
using (StreamWriter writer = new StreamWriter(hostsPath))
{
foreach (string line in hostsLines)
{
if (!line.Contains(commentTag))
{
writer.WriteLine(line);
}
}
writer.WriteLine($"{ipServer} {fakeDns} {commentTag}");
}
Console.WriteLine($"✅ '{ipServer} {fakeDns}' has been added to the hosts file.");
Console.ReadKey();
}
static bool IsAdministrator()
{
var identity = WindowsIdentity.GetCurrent();
var principal = new WindowsPrincipal(identity);
return principal.IsInRole(WindowsBuiltInRole.Administrator);
}
}
🔹 Checks if the program is run as Administrator. If not, it shows an error message and exits.
🔹 Creates a configuration file (config.txt) where the user can define their IP and domain.
🔹 Reads the configuration and automatically edits the hosts file with the provided data.
🎯 Conclusion
With this method, you can easily fix the Invalid IP issue in ST-Filter 6.16. If you prefer a manual solution, edit the hosts file. If you want an automated solution, use the C# program.
🔄 If you have any questions, leave a comment on this post. 🚀
This fix is based on the filter shared by NightMare.






