Fixed timeout issue that occurs with HLSW
This commit is contained in:
parent
07e335b780
commit
0b6777ba85
1 changed files with 46 additions and 44 deletions
|
|
@ -31,7 +31,7 @@ namespace TShockAPI
|
||||||
class RconHandler
|
class RconHandler
|
||||||
{
|
{
|
||||||
public static string Password = "";
|
public static string Password = "";
|
||||||
private static DateTime lastRequest;
|
private static DateTime LastRequest;
|
||||||
public static int ListenPort;
|
public static int ListenPort;
|
||||||
public static bool ContinueServer = true;
|
public static bool ContinueServer = true;
|
||||||
public static string Response = "";
|
public static string Response = "";
|
||||||
|
|
@ -80,7 +80,7 @@ namespace TShockAPI
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var listenEP = new IPEndPoint(IPAddress.Any, ListenPort);
|
var listenEP = new IPEndPoint(IPAddress.Any, ListenPort);
|
||||||
lastRequest = DateTime.Now;
|
LastRequest = DateTime.Now;
|
||||||
byte[] bytes = listener.Receive(ref listenEP);
|
byte[] bytes = listener.Receive(ref listenEP);
|
||||||
var packet = ParsePacket(bytes, listenEP);
|
var packet = ParsePacket(bytes, listenEP);
|
||||||
listener.Send(packet, packet.Length, listenEP);
|
listener.Send(packet, packet.Length, listenEP);
|
||||||
|
|
@ -118,7 +118,7 @@ namespace TShockAPI
|
||||||
var packetstring = Encoding.UTF8.GetString(PadPacket(bytes));
|
var packetstring = Encoding.UTF8.GetString(PadPacket(bytes));
|
||||||
var redirect = false;
|
var redirect = false;
|
||||||
var print = true;
|
var print = true;
|
||||||
if ((DateTime.Now - lastRequest).Milliseconds >= 100)
|
if ((DateTime.Now - LastRequest).Milliseconds >= 100)
|
||||||
{
|
{
|
||||||
if (packetstring.StartsWith("rcon") || packetstring.Substring(4).StartsWith("rcon") || packetstring.Substring(5).StartsWith("rcon"))
|
if (packetstring.StartsWith("rcon") || packetstring.Substring(4).StartsWith("rcon") || packetstring.Substring(5).StartsWith("rcon"))
|
||||||
{
|
{
|
||||||
|
|
@ -153,7 +153,10 @@ namespace TShockAPI
|
||||||
Log.Info("No password for rcon set");
|
Log.Info("No password for rcon set");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (packetstring.StartsWith("getinfo")
|
else
|
||||||
|
redirect = true;
|
||||||
|
}
|
||||||
|
if (packetstring.StartsWith("getinfo")
|
||||||
|| packetstring.Substring(4).StartsWith("getinfo")
|
|| packetstring.Substring(4).StartsWith("getinfo")
|
||||||
|| packetstring.Substring(5).StartsWith("getinfo"))
|
|| packetstring.Substring(5).StartsWith("getinfo"))
|
||||||
{
|
{
|
||||||
|
|
@ -169,6 +172,7 @@ namespace TShockAPI
|
||||||
infostring += @"\challenge\" + challenge;
|
infostring += @"\challenge\" + challenge;
|
||||||
response += infostring;
|
response += infostring;
|
||||||
print = false;
|
print = false;
|
||||||
|
redirect = false;
|
||||||
}
|
}
|
||||||
else if (packetstring.StartsWith("getstatus")
|
else if (packetstring.StartsWith("getstatus")
|
||||||
|| packetstring.Substring(4).StartsWith("getstatus")
|
|| packetstring.Substring(4).StartsWith("getstatus")
|
||||||
|
|
@ -191,9 +195,7 @@ namespace TShockAPI
|
||||||
}
|
}
|
||||||
response += statusstring;
|
response += statusstring;
|
||||||
print = false;
|
print = false;
|
||||||
}
|
redirect = false;
|
||||||
else
|
|
||||||
redirect = true;
|
|
||||||
}
|
}
|
||||||
if (!redirect)
|
if (!redirect)
|
||||||
return (ConstructPacket(response, print));
|
return (ConstructPacket(response, print));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue