remove IncompatibleMods

This commit is contained in:
_nebula 2024-04-25 21:31:06 +01:00
parent d12e1a109e
commit cd9db1656f
12 changed files with 0 additions and 48 deletions

View File

@ -33,7 +33,6 @@ public class Translation
public string DLCMismatch; public string DLCMismatch;
public string GameProgressLimit; public string GameProgressLimit;
public string AddonMismatch; public string AddonMismatch;
public string IncompatibleMod;
public string PlayerJoinedTheGame; public string PlayerJoinedTheGame;
public string PlayerLeftTheGame; public string PlayerLeftTheGame;
public string PlayerWasKicked; public string PlayerWasKicked;

View File

@ -16,8 +16,6 @@ public class PlayerJoinMessage : QSBMessage
private string QSBVersion; private string QSBVersion;
private string GameVersion; private string GameVersion;
private bool DlcInstalled; private bool DlcInstalled;
// empty if no incompatible mods
private string FirstIncompatibleMod;
private int[] AddonHashes; private int[] AddonHashes;
@ -28,18 +26,6 @@ public class PlayerJoinMessage : QSBMessage
GameVersion = QSBCore.GameVersion; GameVersion = QSBCore.GameVersion;
DlcInstalled = QSBCore.DLCInstalled; 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 AddonHashes = QSBCore.Addons.Keys
.Except(QSBCore.CosmeticAddons) .Except(QSBCore.CosmeticAddons)
.Select(x => x.GetStableHashCode()) .Select(x => x.GetStableHashCode())
@ -53,7 +39,6 @@ public class PlayerJoinMessage : QSBMessage
writer.Write(QSBVersion); writer.Write(QSBVersion);
writer.Write(GameVersion); writer.Write(GameVersion);
writer.Write(DlcInstalled); writer.Write(DlcInstalled);
writer.Write(FirstIncompatibleMod);
writer.Write(AddonHashes); writer.Write(AddonHashes);
} }
@ -65,7 +50,6 @@ public class PlayerJoinMessage : QSBMessage
QSBVersion = reader.ReadString(); QSBVersion = reader.ReadString();
GameVersion = reader.ReadString(); GameVersion = reader.ReadString();
DlcInstalled = reader.Read<bool>(); DlcInstalled = reader.Read<bool>();
FirstIncompatibleMod = reader.ReadString();
AddonHashes = reader.Read<int[]>(); AddonHashes = reader.Read<int[]>();
} }
@ -119,12 +103,6 @@ public class PlayerJoinMessage : QSBMessage
new PlayerKickMessage(From, string.Format(QSBLocalization.Current.AddonMismatch, AddonHashes.Length, addonHashes.Length)).Send(); new PlayerKickMessage(From, string.Format(QSBLocalization.Current.AddonMismatch, AddonHashes.Length, addonHashes.Length)).Send();
return; 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); var player = QSBPlayerManager.GetPlayer(From);

View File

@ -66,7 +66,6 @@ public class QSBCore : ModBehaviour
Application.version.Split('.').Take(3).Join(delimiter: "."); Application.version.Split('.').Take(3).Join(delimiter: ".");
public static bool DLCInstalled => EntitlementsManager.IsDlcOwned() == EntitlementsManager.AsyncOwnershipStatus.Owned; public static bool DLCInstalled => EntitlementsManager.IsDlcOwned() == EntitlementsManager.AsyncOwnershipStatus.Owned;
public static bool UseKcpTransport { get; private set; } public static bool UseKcpTransport { get; private set; }
public static bool IncompatibleModsAllowed { get; private set; }
public static bool ShowPlayerNames { get; private set; } public static bool ShowPlayerNames { get; private set; }
public static bool ShipDamage { get; private set; } public static bool ShipDamage { get; private set; }
public static bool ShowExtraHUDElements { 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 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 static event Action OnSkinsBundleLoaded;
public override object GetApi() => new QSBAPI(); public override object GetApi() => new QSBAPI();
@ -414,7 +404,6 @@ public class QSBCore : ModBehaviour
QSBNetworkManager.UpdateTransport(); QSBNetworkManager.UpdateTransport();
DefaultServerIP = config.GetSettingsValue<string>("defaultServerIP"); DefaultServerIP = config.GetSettingsValue<string>("defaultServerIP");
IncompatibleModsAllowed = config.GetSettingsValue<bool>("incompatibleModsAllowed");
ShowPlayerNames = config.GetSettingsValue<bool>("showPlayerNames"); ShowPlayerNames = config.GetSettingsValue<bool>("showPlayerNames");
ShipDamage = config.GetSettingsValue<bool>("shipDamage"); ShipDamage = config.GetSettingsValue<bool>("shipDamage");
ShowExtraHUDElements = config.GetSettingsValue<bool>("showExtraHud"); ShowExtraHUDElements = config.GetSettingsValue<bool>("showExtraHud");

View File

@ -28,7 +28,6 @@
"DLCMismatch": "DLC Installationsstatus stimmt nicht überein. (Client:{0}, Server:{1})", "DLCMismatch": "DLC Installationsstatus stimmt nicht überein. (Client:{0}, Server:{1})",
"GameProgressLimit": "Spiel ist zu weit fortgeschritten.", "GameProgressLimit": "Spiel ist zu weit fortgeschritten.",
"AddonMismatch": "Addons stimmen nicht überein. (Client:{0} addons, Server:{1} addons)", "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!", "PlayerJoinedTheGame": "{0} trat bei!",
"PlayerLeftTheGame": "{0} verließ!", "PlayerLeftTheGame": "{0} verließ!",
"PlayerWasKicked": "{0} wurde gekickt.", "PlayerWasKicked": "{0} wurde gekickt.",

View File

@ -28,7 +28,6 @@
"DLCMismatch": "DLC installation state does not match. (Client:{0}, Server:{1})", "DLCMismatch": "DLC installation state does not match. (Client:{0}, Server:{1})",
"GameProgressLimit": "Game has progressed too far.", "GameProgressLimit": "Game has progressed too far.",
"AddonMismatch": "Addon mismatch. (Client:{0} addons, Server:{1} addons)", "AddonMismatch": "Addon mismatch. (Client:{0} addons, Server:{1} addons)",
"IncompatibleMod": "Using an incompatible/disallowed mod. First mod found was {0}",
"PlayerJoinedTheGame": "{0} joined!", "PlayerJoinedTheGame": "{0} joined!",
"PlayerLeftTheGame": "{0} left!", "PlayerLeftTheGame": "{0} left!",
"PlayerWasKicked": "{0} was kicked.", "PlayerWasKicked": "{0} was kicked.",

View File

@ -28,7 +28,6 @@
"DLCMismatch": "Les états d'installation du DLC ne correspondent pas. (Client:{0}, Serveur:{1})", "DLCMismatch": "Les états d'installation du DLC ne correspondent pas. (Client:{0}, Serveur:{1})",
"GameProgressLimit": "Le jeu a trop progressé.", "GameProgressLimit": "Le jeu a trop progressé.",
"AddonMismatch": "Non-concordance des addons. (Client:{0} addons, Serveur:{1} addons)", "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!", "PlayerJoinedTheGame": "{0} a rejoint!",
"PlayerLeftTheGame": "{0} est parti!", "PlayerLeftTheGame": "{0} est parti!",
"PlayerWasKicked": "{0} a été expulsé.", "PlayerWasKicked": "{0} a été expulsé.",

View File

@ -28,7 +28,6 @@
"DLCMismatch": "O estado da instalação da DLC não correspondem. (Cliente:{0}, Servidor:{1})", "DLCMismatch": "O estado da instalação da DLC não correspondem. (Cliente:{0}, Servidor:{1})",
"GameProgressLimit": "O jogo progrediu além do limite.", "GameProgressLimit": "O jogo progrediu além do limite.",
"AddonMismatch": "Incompatibilidade de Addons. (Cliente:{0} addons, Servidor:{1} addons)", "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!", "PlayerJoinedTheGame": "{0} entrou!",
"PlayerLeftTheGame": "{0} saiu!", "PlayerLeftTheGame": "{0} saiu!",
"PlayerWasKicked": "{0} foi expulso.", "PlayerWasKicked": "{0} foi expulso.",

View File

@ -28,7 +28,6 @@
"DLCMismatch": "Состояние присутствия DLC отличается. (Клиент:{0}, Сервер:{1})", "DLCMismatch": "Состояние присутствия DLC отличается. (Клиент:{0}, Сервер:{1})",
"GameProgressLimit": "Игра продолжалась слишком долго.", "GameProgressLimit": "Игра продолжалась слишком долго.",
"AddonMismatch": "Аддоны различаются. (Клиент:{0} аддонов, Сервер:{1} аддонов)", "AddonMismatch": "Аддоны различаются. (Клиент:{0} аддонов, Сервер:{1} аддонов)",
"IncompatibleMod": "Используется несовместимый(ые)/неразрешенный(ые) мод(ы). Первый из них - {0}",
"PlayerJoinedTheGame": "{0} подключился!", "PlayerJoinedTheGame": "{0} подключился!",
"PlayerWasKicked": "{0} был отключён.", "PlayerWasKicked": "{0} был отключён.",
"KickedFromServer": "Отключён от сервера. Причина : {0}", "KickedFromServer": "Отключён от сервера. Причина : {0}",

View File

@ -28,7 +28,6 @@
"DLCMismatch": "El estado de instalación del DLC no coincide. (Cliente:{0}, Servidor:{1})", "DLCMismatch": "El estado de instalación del DLC no coincide. (Cliente:{0}, Servidor:{1})",
"GameProgressLimit": "El juego ha progresado mas del límite permitido.", "GameProgressLimit": "El juego ha progresado mas del límite permitido.",
"AddonMismatch": "Incompatibilidad de Addons. (Cliente:{0} addons, Servidor:{1} addons)", "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!", "PlayerJoinedTheGame": "¡{0} se ha unido!",
"PlayerWasKicked": "{0} ha sido expulsado.", "PlayerWasKicked": "{0} ha sido expulsado.",
"KickedFromServer": "Expulsado del servidor. Razón : {0}", "KickedFromServer": "Expulsado del servidor. Razón : {0}",

View File

@ -28,7 +28,6 @@
"DLCMismatch": "DLC yüklenme durumu uyumlu değil. (İstemci:{0}, Sunucu:{1})", "DLCMismatch": "DLC yüklenme durumu uyumlu değil. (İstemci:{0}, Sunucu:{1})",
"GameProgressLimit": "Oyun çok fazla ilerlemiş.", "GameProgressLimit": "Oyun çok fazla ilerlemiş.",
"AddonMismatch": "Yüklü eklentiler uyumsuz. (İstemci:{0} eklentileri, Sunucu:{1} eklentileri)", "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ı!", "PlayerJoinedTheGame": "{0} katıldı!",
"PlayerLeftTheGame": "{0} ayrıldı.", "PlayerLeftTheGame": "{0} ayrıldı.",
"PlayerWasKicked": "{0} atıldı.", "PlayerWasKicked": "{0} atıldı.",

View File

@ -28,7 +28,6 @@
"DLCMismatch": "DLC安装情况不匹配。客户端{0},服务端:{1}", "DLCMismatch": "DLC安装情况不匹配。客户端{0},服务端:{1}",
"GameProgressLimit": "游戏中时间太久了。", "GameProgressLimit": "游戏中时间太久了。",
"AddonMismatch": "插件不匹配(客户端:{0}插件,服务端:{1}插件)", "AddonMismatch": "插件不匹配(客户端:{0}插件,服务端:{1}插件)",
"IncompatibleMod": "使用了不兼容/不允许的模组,检测到的第一个模组是{0}",
"PlayerJoinedTheGame": "{0}加入了游戏!", "PlayerJoinedTheGame": "{0}加入了游戏!",
"PlayerWasKicked": "{0}被踢出了游戏。", "PlayerWasKicked": "{0}被踢出了游戏。",
"KickedFromServer": "被踢出了游戏,理由是:{0}", "KickedFromServer": "被踢出了游戏,理由是:{0}",

View File

@ -28,12 +28,6 @@
"value": "localhost", "value": "localhost",
"tooltip": "Used if you leave the connect prompt blank." "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": { "showPlayerNames": {
"title": "Show Player Names", "title": "Show Player Names",
"type": "toggle", "type": "toggle",