diff --git a/MCGalaxy/Modules/Relay/Discord/DiscordApiClient.cs b/MCGalaxy/Modules/Relay/Discord/DiscordApiClient.cs
index 18ee15e72..161556b09 100644
--- a/MCGalaxy/Modules/Relay/Discord/DiscordApiClient.cs
+++ b/MCGalaxy/Modules/Relay/Discord/DiscordApiClient.cs
@@ -28,7 +28,7 @@ namespace MCGalaxy.Modules.Relay.Discord
/// Implements a basic web client for sending messages to the Discord API
/// https://discord.com/developers/docs/reference
/// https://discord.com/developers/docs/resources/channel#create-message
- public sealed class DiscordApiClient : AsyncWorker
+ public class DiscordApiClient : AsyncWorker
{
public string Token;
public string Host;
diff --git a/MCGalaxy/Modules/Relay/Discord/DiscordBot.cs b/MCGalaxy/Modules/Relay/Discord/DiscordBot.cs
index b6fa03de7..0386d45fe 100644
--- a/MCGalaxy/Modules/Relay/Discord/DiscordBot.cs
+++ b/MCGalaxy/Modules/Relay/Discord/DiscordBot.cs
@@ -38,7 +38,7 @@ public override string GetMessagePrefix() {
}
}
- public sealed class DiscordBot : RelayBot
+ public class DiscordBot : RelayBot
{
DiscordApiClient api;
DiscordWebsocket socket;
diff --git a/MCGalaxy/Modules/Relay/Discord/DiscordWebsocket.cs b/MCGalaxy/Modules/Relay/Discord/DiscordWebsocket.cs
index 85e6e7b4d..cbdc22023 100644
--- a/MCGalaxy/Modules/Relay/Discord/DiscordWebsocket.cs
+++ b/MCGalaxy/Modules/Relay/Discord/DiscordWebsocket.cs
@@ -28,7 +28,7 @@ permissions and limitations under the Licenses.
namespace MCGalaxy.Modules.Relay.Discord
{
- public sealed class DiscordSession
+ public class DiscordSession
{
public string ID, LastSeq;
public int Intents;
@@ -39,7 +39,7 @@ public sealed class DiscordSession
/// Implements a basic websocket for communicating with Discord's gateway
/// https://discord.com/developers/docs/topics/gateway
/// https://i.imgur.com/Lwc5Wde.png
- public sealed class DiscordWebsocket : ClientWebSocket
+ public class DiscordWebsocket : ClientWebSocket
{
/// Authorisation token for the bot account
public string Token;
diff --git a/MCGalaxy/Modules/Relay/IRC/IRCBot.cs b/MCGalaxy/Modules/Relay/IRC/IRCBot.cs
index f57aa12fa..dd036163b 100644
--- a/MCGalaxy/Modules/Relay/IRC/IRCBot.cs
+++ b/MCGalaxy/Modules/Relay/IRC/IRCBot.cs
@@ -26,7 +26,7 @@ namespace MCGalaxy.Modules.Relay.IRC
public enum IRCControllerVerify { None, HalfOp, OpChannel };
/// Manages a connection to an IRC server, and handles associated events.
- public sealed class IRCBot : RelayBot
+ public class IRCBot : RelayBot
{
internal Connection conn;
string botNick;
diff --git a/MCGalaxy/util/OperatingSystem.cs b/MCGalaxy/util/OperatingSystem.cs
index 0b4d16135..d62ae53fb 100644
--- a/MCGalaxy/util/OperatingSystem.cs
+++ b/MCGalaxy/util/OperatingSystem.cs
@@ -188,11 +188,11 @@ protected virtual void RestartInPlace() {
execvp(runtime, new string[] { runtime, exePath, null });
Console.WriteLine("execvp {0} failed: {1}", runtime, Marshal.GetLastWin32Error());
-#if !MCG_DOTNET
- // .. and fallback to mono if that doesn't work for some reason
- execvp("mono", new string[] { "mono", exePath, null });
- Console.WriteLine("execvp mono failed: {0}", Marshal.GetLastWin32Error());
-#endif
+ if (Server.RunningOnMono()) {
+ // .. and fallback to mono if that doesn't work for some reason
+ execvp("mono", new string[] { "mono", exePath, null });
+ Console.WriteLine("execvp mono failed: {0}", Marshal.GetLastWin32Error());
+ }
}
[DllImport("libc", SetLastError = true)]