wabbajack-tools / wabbajack

An automated Modlist installer for various games.
https://www.wabbajack.org/
Other
745 stars 141 forks source link

Issues with the automated Nexus Login Trigger #2502

Open EzioTheDeadPoet opened 8 months ago

EzioTheDeadPoet commented 8 months ago

Describe the bug

People have issues with the nexus login, when they don't login before the installation starts. (Automated trigger might needs fixing.)

Wabbajack Version

3.5.0.1

Dragnier commented 2 months ago

I just tried to install a Cyberpunk 2077 modlist titled Squeegeepunk and something happened that triggered spam/ddos protection from Nexus. I wonder if it was this? You might consider switching to using Nexus API key directly similar to how the Vortex launcher does things. As in, allow a fallback inside Wabbajack where you can paste the API key for it to log in instead of the normal login.

EzioTheDeadPoet commented 2 months ago

I just tried to install a Cyberpunk 2077 modlist titled Squeegeepunk and something happened that triggered spam/ddos protection from Nexus. I wonder if it was this? You might consider switching to using Nexus API key directly similar to how the Vortex launcher does things. As in, allow a fallback inside Wabbajack where you can paste the API key for it to log in instead of the normal login.

Wabbajack uses the official API and the official OAuth2 based login for it that is used by the Nexus Mods App.

So you either hit a roadblock with the API limit that everyone has by downloading too many mods or you possibly tried to mess with something else.

Dragnier commented 2 months ago

Neither of those things happened. I haven't downloaded anything in weeks from nexus. The automated download of that modlist failed; after which I tried to run it again which then caused the lockout. Nothing downloaded at all. No settings messed with. Is there a log file somewhere? Would it have both runs or only the last one?

EzioTheDeadPoet commented 2 months ago

So did you download something before or not because your initial comment mentioned Nolvus.

Also did you login properly via the WJ settings page ?

Logs are located in the version number folder where WJ is installed in a logs subfolder.

Mieekaserra commented 2 months ago

If you got the lockout then your API token has expired. first thing you should do when starting wabbajack is log out and log back in again to avoid this issue

Dragnier commented 2 months ago

So, in the log it was a bunch of this:

00:02:18.405 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token

with failed downloads after each one before it eventually threw an error on the entire install. I'm guessing that's indicating the mentioned expired API token? It would be nice if it could actually tell you it was expired rather than just saying "refreshing".

About the Nolvus switched to Vortex: No I haven't downloaded anything from Nexus in weeks with any launcher of any kind. I was originally going to use Nolvus Launcher as an example since you copy the API token into it manually but then remembered Vortex also has that fallback login method; so I changed it.

Phyktion commented 1 month ago

This has happened to me as well. I guess it needed a new OAuth token and every file download would fail, then it would loop through all the files again attempting to refresh the OAuth token. When I went to nexus I was blocked for 10 minutes for DDoS.

I apologize, I could not get the formatting corrrect.

This first part shows the initial downloads and what happens after.

00:00:36.597 [INFO] (Wabbajack.Installer.StandardInstaller) Downloading Combined Arms - 1.0-50505-1-0-1622547579.7z 00:00:36.597 [INFO] (Wabbajack.Installer.StandardInstaller) Downloading Sim Settlements 2 - All Chapters Pack-73394-3-2-2-1706829523.7z 00:00:36.597 [INFO] (Wabbajack.Installer.StandardInstaller) Downloading Vtaw Wardrobe 8 Materials 2K-61541-1-0-1655924128.7z 00:00:36.597 [INFO] (Wabbajack.Installer.StandardInstaller) Downloading Oppressor's Military Workshop-71359-1-0-1684183314.7z 00:00:36.597 [INFO] (Wabbajack.Installer.StandardInstaller) Downloading Vtaw Wardrobe 4-42145-1-0-1574017475.7z 00:00:36.597 [INFO] (Wabbajack.Installer.StandardInstaller) Downloading Sim Settlements 2 - All Chapters Pack-73394-3-3-1-1712349197.zip 00:00:36.979 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:36.979 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:37.134 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:37.134 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:37.276 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:37.276 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:37.420 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:37.420 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:37.566 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:37.567 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:37.719 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:37.722 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:37.867 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:37.867 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:38.020 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:38.020 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:38.164 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:38.164 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:38.317 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:38.317 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:38.461 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:38.461 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:38.611 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:38.611 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:38.749 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:38.749 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:38.886 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:38.886 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:39.030 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:39.030 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:39.174 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:39.176 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:39.322 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:39.322 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:39.460 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:39.460 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:39.610 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:39.610 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:39.759 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:39.759 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:39.903 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:39.903 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:40.055 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:40.055 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:40.194 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:40.194 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:00:40.346 [INFO] (Wabbajack.Services.OSIntegrated.TokenProviders.NexusApiTokenProvider) Setting token nexus-oauth-info 00:00:40.350 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token

00:01:04.455 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:01:04.482 [ERROR] (Wabbajack.Installer.StandardInstaller) Download error for file ENBLightsHDRPatch.7z-25682-1-1.7z|System.Text.Json.JsonException: 'Y' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0. ---> System.Text.Json.JsonReaderException: 'Y' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0. at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan`1 bytes) at System.Text.Json.Utf8JsonReader.ConsumeValue(Byte marker) at System.Text.Json.Utf8JsonReader.ReadFirstToken(Byte first) at System.Text.Json.Utf8JsonReader.ReadSingleSegment() at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) --- End of inner exception stack trace --- at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, JsonReaderException ex) at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo`1 jsonTypeInfo) at Wabbajack.Networking.NexusApi.NexusApi.RefreshToken(NexusOAuthState state, CancellationToken cancel) in E:\oss\wabbajack\Wabbajack.Networking.NexusApi\NexusApi.cs:line 273 at Wabbajack.Networking.NexusApi.NexusApi.GetAuthInfo() in E:\oss\wabbajack\Wabbajack.Networking.NexusApi\NexusApi.cs:line 241 at Wabbajack.Networking.NexusApi.NexusApi.Validate(CancellationToken token) in E:\oss\wabbajack\Wabbajack.Networking.NexusApi\NexusApi.cs:line 54 at Wabbajack.Networking.NexusApi.NexusApi.ValidateCached(CancellationToken token) in E:\oss\wabbajack\Wabbajack.Networking.NexusApi\NexusApi.cs:line 85 at Wabbajack.Networking.NexusApi.NexusApi.IsPremium(CancellationToken token) in E:\oss\wabbajack\Wabbajack.Networking.NexusApi\NexusApi.cs:line 431 at Wabbajack.Downloaders.NexusDownloader.Download(Archive archive, Nexus state, AbsolutePath destination, IJob job, CancellationToken token) in E:\oss\wabbajack\Wabbajack.Downloaders.Nexus\NexusDownloader.cs:line 121 at Wabbajack.Downloaders.DownloadDispatcher.Download(Archive a, AbsolutePath dest, Job`1 job, CancellationToken token, Nullable`1 useProxy) in E:\oss\wabbajack\Wabbajack.Downloaders.Dispatcher\DownloadDispatcher.cs:line 116 at Wabbajack.Downloaders.DownloadDispatcher.Download(Archive a, AbsolutePath dest, CancellationToken token, Nullable`1 proxy) in E:\oss\wabbajack\Wabbajack.Downloaders.Dispatcher\DownloadDispatcher.cs:line 57 at Wabbajack.Downloaders.DownloadDispatcher.DownloadWithPossibleUpgrade(Archive archive, AbsolutePath destination, CancellationToken token) in E:\oss\wabbajack\Wabbajack.Downloaders.Dispatcher\DownloadDispatcher.cs:line 162 at Wabbajack.Installer.AInstaller`1.DownloadArchive(Archive archive, Boolean download, CancellationToken token, Nullable`1 destination) in E:\oss\wabbajack\Wabbajack.Installer\AInstaller.cs:line 399 00:01:04.482 [INFO] (Wabbajack.Networking.NexusApi.ProxiedNexusApi) Refreshing OAuth Token 00:01:04.498 [ERROR] (Wabbajack.Installer.StandardInstaller) Download error for file Live Action Handy - Repack-9571-1-1b.zip|System.Text.Json.JsonException: 'Y' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0. ---> System.Text.Json.JsonReaderException: 'Y' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0. at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan`1 bytes) at System.Text.Json.Utf8JsonReader.ConsumeValue(Byte marker) at System.Text.Json.Utf8JsonReader.ReadFirstToken(Byte first) at System.Text.Json.Utf8JsonReader.ReadSingleSegment() at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) --- End of inner exception stack trace --- at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, JsonReaderException ex) at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo`1 jsonTypeInfo) at Wabbajack.Networking.NexusApi.NexusApi.RefreshToken(NexusOAuthState state, CancellationToken cancel) in E:\oss\wabbajack\Wabbajack.Networking.NexusApi\NexusApi.cs:line 273 at Wabbajack.Networking.NexusApi.NexusApi.GetAuthInfo() in E:\oss\wabbajack\Wabbajack.Networking.NexusApi\NexusApi.cs:line 241 at Wabbajack.Networking.NexusApi.NexusApi.Validate(CancellationToken token) in E:\oss\wabbajack\Wabbajack.Networking.NexusApi\NexusApi.cs:line 54 at Wabbajack.Networking.NexusApi.NexusApi.ValidateCached(CancellationToken token) in E:\oss\wabbajack\Wabbajack.Networking.NexusApi\NexusApi.cs:line 85 at Wabbajack.Networking.NexusApi.NexusApi.IsPremium(CancellationToken token) in E:\oss\wabbajack\Wabbajack.Networking.NexusApi\NexusApi.cs:line 431 at Wabbajack.Downloaders.NexusDownloader.Download(Archive archive, Nexus state, AbsolutePath destination, IJob job, CancellationToken token) in E:\oss\wabbajack\Wabbajack.Downloaders.Nexus\NexusDownloader.cs:line 121 at Wabbajack.Downloaders.DownloadDispatcher.Download(Archive a, AbsolutePath dest, Job`1 job, CancellationToken token, Nullable`1 useProxy) in E:\oss\wabbajack\Wabbajack.Downloaders.Dispatcher\DownloadDispatcher.cs:line 116 at Wabbajack.Downloaders.DownloadDispatcher.Download(Archive a, AbsolutePath dest, CancellationToken token, Nullable`1 proxy) in E:\oss\wabbajack\Wabbajack.Downloaders.Dispatcher\DownloadDispatcher.cs:line 57 at Wabbajack.Downloaders.DownloadDispatcher.DownloadWithPossibleUpgrade(Archive archive, AbsolutePath destination, CancellationToken token) in E:\oss\wabbajack\Wabbajack.Downloaders.Dispatcher\DownloadDispatcher.cs:line 162 at Wabbajack.Installer.AInstaller`1.DownloadArchive(Archive archive, Boolean download, CancellationToken token, Nullable`1 destination) in E:\oss\wabbajack\Wabbajack.Installer\AInstaller.cs:line 399 00:01:04.952 [INFO] (Wabbajack.MainWindow) Clearing C:\Wabbajack\Wabbajack\3.7.2.1\temp 00:01:04.952 [INFO] (Wabbajack.MainWindow) Finished clearing C:\Wabbajack\Wabbajack\3.7.2.1\temp