diff --git a/GiantsLauncher.csproj b/GiantsLauncher.csproj
index c85e191..08fa7d9 100644
--- a/GiantsLauncher.csproj
+++ b/GiantsLauncher.csproj
@@ -51,6 +51,7 @@
+
diff --git a/Program.cs b/Program.cs
index 03f5789..f7becb1 100644
--- a/Program.cs
+++ b/Program.cs
@@ -36,6 +36,11 @@ namespace GiantsLauncher
string server_ok = "";
foreach (string server in SERVERS)
{
+ if (server.Length > 15)
+ {
+ Console.WriteLine("Server {0} has length > 15, skipping.", server);
+ continue;
+ }
Console.WriteLine("Testing {0}", server);
if (TestServer(server))
{
@@ -53,7 +58,15 @@ namespace GiantsLauncher
Byte[] data = System.Text.Encoding.ASCII.GetBytes(server_ok);
writer.Seek(offset, SeekOrigin.Begin); //move cursor to the position
writer.Write(data);//write it
+ // add padding
+ for (int i = 0; i < 15 - data.Length; i++)
+ {
+ writer.Write((byte)0);//write it
+ }
}
+ } else
+ {
+ Console.WriteLine("No working master server found... RIP.");
}
Process.Start(GIANTS_PATH);
}
@@ -133,6 +146,11 @@ namespace GiantsLauncher
return false;
}
+ if (!client.Connected)
+ {
+ return false;
+ }
+
NetworkStream stream = client.GetStream();
// Buffer to store the response bytes.