Added extra config to the WebSocket bot AllowIpAlias, which allows enabling of any IP to be used to host the WebSocket bot from

This commit is contained in:
zorua162 2023-11-19 13:43:32 +00:00
parent fd1009b43f
commit 1f4db70f8a
4 changed files with 2020 additions and 1993 deletions

View file

@ -287,13 +287,21 @@ public class WebSocketBot : ChatBot
[TomlInlineComment("$ChatBot.WebSocketBot.DebugMode$")]
public bool DebugMode = false;
[TomlInlineComment("$ChatBot.WebSocketBot.AllowIpAlias$")]
public bool AllowIpAlias = false;
}
public WebSocketBot()
{
_password = Config.Password;
_authenticatedSessions = new();
_waitingEvents = new();
var match = Regex.Match(Config.Ip!, @"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}");
if (!match.Success)
// If AllowIpAlias is set to true in the config, then always ignore this check
if (!match.Success & !Config.AllowIpAlias!)
{
LogToConsole(Translations.bot_WebSocketBot_failed_to_start_ip);
return;
@ -307,9 +315,6 @@ public class WebSocketBot : ChatBot
_ip = Config.Ip;
_port = Config.Port;
_password = Config.Password;
_authenticatedSessions = new();
_waitingEvents = new();
}
public override void Initialize()

View file

@ -799,7 +799,8 @@ namespace MinecraftClient {
///NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you
///It's similar to making animals follow you when you're holding food in your hand.
///This is due to a slow pathfinding algorithm, we're working on getting a better one
///You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, /// [rest of string was truncated]";.
///You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite,
/// [rest of string was truncated]";.
/// </summary>
internal static string ChatBot_FollowPlayer {
get {
@ -1128,6 +1129,15 @@ namespace MinecraftClient {
}
}
/// <summary>
/// Looks up a localized string similar to Allow IP aliases, such as "localhost" or if using containers then the container name can be used...
/// </summary>
internal static string ChatBot_WebSocketBot_AllowIpAlias {
get {
return ResourceManager.GetString("ChatBot.WebSocketBot.AllowIpAlias", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to This setting is for developers who are developing a library that uses this chat bot to remotely execute procedures/commands/functions..
/// </summary>

View file

@ -843,6 +843,9 @@ If the connection to the Minecraft game server is blocked by the firewall, set E
<data name="ChatBot.WebSocketBot.DebugMode" xml:space="preserve">
<value>This setting is for developers who are developing a library that uses this chat bot to remotely execute procedures/commands/functions.</value>
</data>
<data name="ChatBot.WebSocketBot.AllowIpAlias" xml:space="preserve">
<value>Allow IP aliases, such as "localhost" or if using containers then the container name can be used...</value>
</data>
<data name="Main.Advanced.ignore_invalid_playername" xml:space="preserve">
<value>Ignore invalid player name</value>
</data>

View file

@ -2451,6 +2451,15 @@ namespace MinecraftClient {
}
}
/// <summary>
/// Looks up a localized string similar to .
/// </summary>
internal static string ChatBot_WebSocketBot_AllowIpAlias {
get {
return ResourceManager.GetString("ChatBot.WebSocketBot.AllowIpAlias", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to .
/// </summary>