diff --git a/QSB/Localization/Translation.cs b/QSB/Localization/Translation.cs index 2ee45acb..8a248130 100644 --- a/QSB/Localization/Translation.cs +++ b/QSB/Localization/Translation.cs @@ -33,7 +33,6 @@ public class Translation public string DLCMismatch; public string GameProgressLimit; public string AddonMismatch; - public string IncompatibleMod; public string PlayerJoinedTheGame; public string PlayerLeftTheGame; public string PlayerWasKicked; diff --git a/QSB/Player/Messages/PlayerJoinMessage.cs b/QSB/Player/Messages/PlayerJoinMessage.cs index fd6e9956..409e3ae3 100644 --- a/QSB/Player/Messages/PlayerJoinMessage.cs +++ b/QSB/Player/Messages/PlayerJoinMessage.cs @@ -16,8 +16,6 @@ public class PlayerJoinMessage : QSBMessage private string QSBVersion; private string GameVersion; private bool DlcInstalled; - // empty if no incompatible mods - private string FirstIncompatibleMod; private int[] AddonHashes; @@ -28,18 +26,6 @@ public class PlayerJoinMessage : QSBMessage GameVersion = QSBCore.GameVersion; DlcInstalled = QSBCore.DLCInstalled; - var allEnabledMods = QSBCore.Helper.Interaction.GetMods(); - - FirstIncompatibleMod = ""; - - foreach (var mod in allEnabledMods) - { - if (QSBCore.IncompatibleMods.Contains(mod.ModHelper.Manifest.UniqueName)) - { - FirstIncompatibleMod = mod.ModHelper.Manifest.UniqueName; - } - } - AddonHashes = QSBCore.Addons.Keys .Except(QSBCore.CosmeticAddons) .Select(x => x.GetStableHashCode()) @@ -53,7 +39,6 @@ public class PlayerJoinMessage : QSBMessage writer.Write(QSBVersion); writer.Write(GameVersion); writer.Write(DlcInstalled); - writer.Write(FirstIncompatibleMod); writer.Write(AddonHashes); } @@ -65,7 +50,6 @@ public class PlayerJoinMessage : QSBMessage QSBVersion = reader.ReadString(); GameVersion = reader.ReadString(); DlcInstalled = reader.Read(); - FirstIncompatibleMod = reader.ReadString(); AddonHashes = reader.Read(); } @@ -119,12 +103,6 @@ public class PlayerJoinMessage : QSBMessage new PlayerKickMessage(From, string.Format(QSBLocalization.Current.AddonMismatch, AddonHashes.Length, addonHashes.Length)).Send(); return; } - - if (FirstIncompatibleMod != "" && !QSBCore.IncompatibleModsAllowed) - { - DebugLog.ToConsole($"Error - Client {PlayerName} connecting with incompatible mod. (First mod found was {FirstIncompatibleMod})"); - new PlayerKickMessage(From, string.Format(QSBLocalization.Current.IncompatibleMod, FirstIncompatibleMod)).Send(); - } } var player = QSBPlayerManager.GetPlayer(From); diff --git a/QSB/QSBCore.cs b/QSB/QSBCore.cs index 58b49fd1..342da975 100644 --- a/QSB/QSBCore.cs +++ b/QSB/QSBCore.cs @@ -66,7 +66,6 @@ public class QSBCore : ModBehaviour Application.version.Split('.').Take(3).Join(delimiter: "."); public static bool DLCInstalled => EntitlementsManager.IsDlcOwned() == EntitlementsManager.AsyncOwnershipStatus.Owned; public static bool UseKcpTransport { get; private set; } - public static bool IncompatibleModsAllowed { get; private set; } public static bool ShowPlayerNames { get; private set; } public static bool ShipDamage { get; private set; } public static bool ShowExtraHUDElements { get; private set; } @@ -86,15 +85,6 @@ public class QSBCore : ModBehaviour public static Assembly QSBNHAssembly = null; - public static readonly string[] IncompatibleMods = - { - // probably extremely outdated list. oh well - "Vesper.AutoResume", - "Vesper.OuterWildsMMO", - "_nebula.StopTime", - "PacificEngine.OW_CommonResources" // breaks random shit in NH so i do not trust it here - }; - public static event Action OnSkinsBundleLoaded; public override object GetApi() => new QSBAPI(); @@ -414,7 +404,6 @@ public class QSBCore : ModBehaviour QSBNetworkManager.UpdateTransport(); DefaultServerIP = config.GetSettingsValue("defaultServerIP"); - IncompatibleModsAllowed = config.GetSettingsValue("incompatibleModsAllowed"); ShowPlayerNames = config.GetSettingsValue("showPlayerNames"); ShipDamage = config.GetSettingsValue("shipDamage"); ShowExtraHUDElements = config.GetSettingsValue("showExtraHud"); diff --git a/QSB/Translations/de.json b/QSB/Translations/de.json index 9a440ea4..6bd90036 100644 --- a/QSB/Translations/de.json +++ b/QSB/Translations/de.json @@ -28,7 +28,6 @@ "DLCMismatch": "DLC Installationsstatus stimmt nicht überein. (Client:{0}, Server:{1})", "GameProgressLimit": "Spiel ist zu weit fortgeschritten.", "AddonMismatch": "Addons stimmen nicht überein. (Client:{0} addons, Server:{1} addons)", - "IncompatibleMod": "Es wird eine inkompatible/unerlaubte Modifikation genutzt. Die erste gefundene Modifikation war {0}", "PlayerJoinedTheGame": "{0} trat bei!", "PlayerLeftTheGame": "{0} verließ!", "PlayerWasKicked": "{0} wurde gekickt.", diff --git a/QSB/Translations/en.json b/QSB/Translations/en.json index d6b909c4..13e1277d 100644 --- a/QSB/Translations/en.json +++ b/QSB/Translations/en.json @@ -28,7 +28,6 @@ "DLCMismatch": "DLC installation state does not match. (Client:{0}, Server:{1})", "GameProgressLimit": "Game has progressed too far.", "AddonMismatch": "Addon mismatch. (Client:{0} addons, Server:{1} addons)", - "IncompatibleMod": "Using an incompatible/disallowed mod. First mod found was {0}", "PlayerJoinedTheGame": "{0} joined!", "PlayerLeftTheGame": "{0} left!", "PlayerWasKicked": "{0} was kicked.", diff --git a/QSB/Translations/fr.json b/QSB/Translations/fr.json index 263db10c..37d79af4 100644 --- a/QSB/Translations/fr.json +++ b/QSB/Translations/fr.json @@ -28,7 +28,6 @@ "DLCMismatch": "Les états d'installation du DLC ne correspondent pas. (Client:{0}, Serveur:{1})", "GameProgressLimit": "Le jeu a trop progressé.", "AddonMismatch": "Non-concordance des addons. (Client:{0} addons, Serveur:{1} addons)", - "IncompatibleMod": "Tu utilises un mod incompatible/non autorisé. Le premier mod trouvé était {0}", "PlayerJoinedTheGame": "{0} a rejoint!", "PlayerLeftTheGame": "{0} est parti!", "PlayerWasKicked": "{0} a été expulsé.", diff --git a/QSB/Translations/pt-br.json b/QSB/Translations/pt-br.json index 39851562..88c5223c 100644 --- a/QSB/Translations/pt-br.json +++ b/QSB/Translations/pt-br.json @@ -28,7 +28,6 @@ "DLCMismatch": "O estado da instalação da DLC não correspondem. (Cliente:{0}, Servidor:{1})", "GameProgressLimit": "O jogo progrediu além do limite.", "AddonMismatch": "Incompatibilidade de Addons. (Cliente:{0} addons, Servidor:{1} addons)", - "IncompatibleMod": "Usando um mod incompativel ou não permitido. Primeiro mod encontrado foi {0}", "PlayerJoinedTheGame": "{0} entrou!", "PlayerLeftTheGame": "{0} saiu!", "PlayerWasKicked": "{0} foi expulso.", diff --git a/QSB/Translations/ru.json b/QSB/Translations/ru.json index 4cea3b7d..f11ee853 100644 --- a/QSB/Translations/ru.json +++ b/QSB/Translations/ru.json @@ -28,7 +28,6 @@ "DLCMismatch": "Состояние присутствия DLC отличается. (Клиент:{0}, Сервер:{1})", "GameProgressLimit": "Игра продолжалась слишком долго.", "AddonMismatch": "Аддоны различаются. (Клиент:{0} аддонов, Сервер:{1} аддонов)", - "IncompatibleMod": "Используется несовместимый(ые)/неразрешенный(ые) мод(ы). Первый из них - {0}", "PlayerJoinedTheGame": "{0} подключился!", "PlayerWasKicked": "{0} был отключён.", "KickedFromServer": "Отключён от сервера. Причина : {0}", diff --git a/QSB/Translations/spanish.json b/QSB/Translations/spanish.json index 3ad4ae52..ea8626f2 100644 --- a/QSB/Translations/spanish.json +++ b/QSB/Translations/spanish.json @@ -28,7 +28,6 @@ "DLCMismatch": "El estado de instalación del DLC no coincide. (Cliente:{0}, Servidor:{1})", "GameProgressLimit": "El juego ha progresado mas del límite permitido.", "AddonMismatch": "Incompatibilidad de Addons. (Cliente:{0} addons, Servidor:{1} addons)", - "IncompatibleMod": "Se está usando un mod incompatible/no permitido. El primer mod encontrado ha sido {0}", "PlayerJoinedTheGame": "¡{0} se ha unido!", "PlayerWasKicked": "{0} ha sido expulsado.", "KickedFromServer": "Expulsado del servidor. Razón : {0}", diff --git a/QSB/Translations/tr.json b/QSB/Translations/tr.json index 4465a68a..2038eed5 100644 --- a/QSB/Translations/tr.json +++ b/QSB/Translations/tr.json @@ -28,7 +28,6 @@ "DLCMismatch": "DLC yüklenme durumu uyumlu değil. (İstemci:{0}, Sunucu:{1})", "GameProgressLimit": "Oyun çok fazla ilerlemiş.", "AddonMismatch": "Yüklü eklentiler uyumsuz. (İstemci:{0} eklentileri, Sunucu:{1} eklentileri)", - "IncompatibleMod": "İzin verilmeyen veya uyumsuz mod kullanılıyor. İlk bulunan mod {0}", "PlayerJoinedTheGame": "{0} katıldı!", "PlayerLeftTheGame": "{0} ayrıldı.", "PlayerWasKicked": "{0} atıldı.", diff --git a/QSB/Translations/zh_CN.json b/QSB/Translations/zh_CN.json index 069fe802..23f69d2e 100644 --- a/QSB/Translations/zh_CN.json +++ b/QSB/Translations/zh_CN.json @@ -28,7 +28,6 @@ "DLCMismatch": "DLC安装情况不匹配。(客户端:{0},服务端:{1})", "GameProgressLimit": "游戏中时间太久了。", "AddonMismatch": "插件不匹配(客户端:{0}插件,服务端:{1}插件)", - "IncompatibleMod": "使用了不兼容/不允许的模组,检测到的第一个模组是{0}", "PlayerJoinedTheGame": "{0}加入了游戏!", "PlayerWasKicked": "{0}被踢出了游戏。", "KickedFromServer": "被踢出了游戏,理由是:{0}", diff --git a/QSB/default-config.json b/QSB/default-config.json index 023245c8..306a1221 100644 --- a/QSB/default-config.json +++ b/QSB/default-config.json @@ -28,12 +28,6 @@ "value": "localhost", "tooltip": "Used if you leave the connect prompt blank." }, - "incompatibleModsAllowed": { - "title": "Incompatible Mods Allowed", - "type": "toggle", - "value": false, - "tooltip": "Kicks players if they have certain mods." - }, "showPlayerNames": { "title": "Show Player Names", "type": "toggle",