You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: addons/common/functions/fnc_checkFiles.sqf
+63-62Lines changed: 63 additions & 62 deletions
Original file line number
Diff line number
Diff line change
@@ -186,81 +186,81 @@ if (isMultiplayer) then {
186
186
GVAR(clientVersionAr) =_mainVersionAr;
187
187
GVAR(clientAddons) =_addons;
188
188
189
-
private_fnc_diagnose_versionMismatch= {
190
-
private_title="[ACE] ERROR: VERSION MISMATCH";
191
-
private_fixMsg=format ["Fix: %1", "Make sure versions of server and client match. You may be using ACE from different Steam Workshop items, or just haven't updated properly."];
192
-
193
-
// If versions don't match, someone's outdated, if it's not the client, then it's the server
private_reasonMsg=format ["Reason: %1", ["Reason: Server is outdated (client version is higher than server's).", "Reason: Client is outdated (client version is lower than server's)."] select_clientIsOutdated];
196
-
197
-
private_infoMsg=format ["Server version is %1, Client version is %2.<br/>Server mod folder is named ""%3"".", GVAR(serverVersion), GVAR(clientVersion), GVAR(serverSource)];
189
+
private_fnc_multiplayerCheck= {
190
+
private_fnc_diagnose_versionMismatch= {
191
+
private_title="[ACE] ERROR: VERSION MISMATCH";
192
+
private_fixMsg=format ["Fix: %1", "Make sure versions of server and client match. You may be using ACE from different Steam Workshop items, or just haven't updated properly."];
private_reasonMsg=format ["Reason: %1", ["Reason: Server is outdated (client version is higher than server's).", "Reason: Client is outdated (client version is lower than server's)."] select_clientIsOutdated];
private_infoMsg=format ["Server version is %1, Client version is %2.<br/>Server mod folder is named ""%3"".", GVAR(serverVersion), GVAR(clientVersion), GVAR(serverSource)];
205
199
206
-
// Figure out why we have a mismatch and where it's coming from
private_infoMsgLog=format ["Client has additional addons: %1.<br/>Server mod folder is named ""%2"".", _additionalAddons joinString ", ", GVAR(serverSource)]; // Build the whole thing so we can log it to RPT
207
+
// Figure out why we have a mismatch and where it's coming from
private_infoMsg=if (count_additionalAddons>3) then { // Truncate it for display
221
-
format ["Client has additional addons: %1, and %2 more.<br/>Server mod folder is named ""%3"".", (_additionalAddonsselect [0, 3]) joinString ", ", (count_additionalAddons) -3, GVAR(serverSource)];
222
-
} else {
223
-
_infoMsgLog
224
-
};
212
+
// Server most likely just uses a different ACE repack with some components removed
213
+
// Higher priority than compats, as we'll load compats for components as well
214
+
// Don't show compats in the error message, only components
215
+
if (_additionalAddons isNotEqualTo []) exitWith {
216
+
private_reasonMsg=format ["Reason: %1", "Client has ACE components not present on the server."];
217
+
private_fixMsg=format ["Fix: %1", "Make sure you're using ACE from the same Steam Workshop item or repository as the server."];
private_infoMsgLog=format ["Client has additional addons: %1.<br/>Server mod folder is named ""%2"".", _additionalAddons joinString ", ", GVAR(serverSource)]; // Build the whole thing so we can log it to RPT
228
220
229
-
// CDLC/content mod with integrated compats is loaded when it shouldn't be
230
-
// No need to show which addons, just show the mod that the compats are for
231
-
if (_additionalCompats isNotEqualTo []) exitWith {
232
-
// Fix is easy
233
-
private_fixMsg=format ["Fix: %1", "Make sure your mod list matches or add those mods to the server.<br/><br/>If you're the server administrator, repair the mods below, check your server mod files and '-mod=' parameter."];
221
+
private_infoMsg=if (count_additionalAddons>3) then { // Truncate it for display
222
+
format ["Client has additional addons: %1, and %2 more.<br/>Server mod folder is named ""%3"".", (_additionalAddonsselect [0, 3]) joinString ", ", (count_additionalAddons) -3, GVAR(serverSource)];
private_reasonMsg=format ["Reason: %1", "Client has extra mods requiring compats loaded (listed below)"];
249
-
private_infoMsg=format ["Additional compatibility is being loaded for:<br/>%1", _additionalMods joinString ", "];
230
+
// CDLC/content mod with integrated compats is loaded when it shouldn't be
231
+
// No need to show which addons, just show the mod that the compats are for
232
+
if (_additionalCompats isNotEqualTo []) exitWith {
233
+
// Fix is easy
234
+
private_fixMsg=format ["Fix: %1", "Make sure your mod list matches or add those mods to the server.<br/><br/>If you're the server administrator, repair the mods below, check your server mod files and '-mod=' parameter."];
0 commit comments