Jump to content

Auto-Login Crashes Game if the "Mods Installed!" Screen is Enabled


Instant-Noodles
  • Fixed

As of Beta v553139, the game will crash during auto-login if the "Mods Installed!" screen is enabled alongside any mod.

If you click the "Don't Show This Again" button, then auto-login will work fine on subsequent game launches. 

"Mods Installed!" screen (which is turned on by default whenever a mod is enabled) screenshot:

image.thumb.jpeg.861ba44c1e5cd82c67f68b066148b040.jpeg

Crash screenshot:

image.thumb.jpeg.b9879dd0d9d2a3a6770e93fd589a3b78.jpeg

Stack trace:

Spoiler
[string "scripts/screens/redux/mainscreen.lua"]:416: attempt to index field '_AutoLoginTask' (a nil value)
LUA ERROR stack traceback:
scripts/screens/redux/mainscreen.lua:416 in (field) fn (Lua) <414-423>
scripts/scheduler.lua:186 in (method) OnTick (Lua) <164-216>
   self =
      running = table: 00000000147AD3A0
      waitingfortick = table: 00000000147AC5E0
      hibernating = table: 00000000147ACAE0
      tasks = table: 00000000147AC4F0
      waking = table: 00000000081D43B0
      attime = table: 00000000147ACFE0
      isstatic = true
   tick = 105
   k = PERIODIC 100037: 0.000000
   v = true
   already_dead = nil
scripts/scheduler.lua:419 in (global) RunStaticScheduler (Lua) <417-425>
   tick = 105
scripts/update.lua:178 in () ? (Lua) <169-220>
   dt = 0.033333335071802
   static_tick = 105
   i = 105

[string "scripts/screens/redux/mainscreen.lua"]:416: attempt to index field '_AutoLoginTask' (a nil value)
LUA ERROR stack traceback:
    scripts/screens/redux/mainscreen.lua:416 in (field) fn (Lua) <414-423>
    scripts/scheduler.lua:186 in (method) OnTick (Lua) <164-216>
    scripts/scheduler.lua:419 in (global) RunStaticScheduler (Lua) <417-425>
    scripts/update.lua:178 in () ? (Lua) <169-220>

 
The auto-login task was changed in Beta v553139 from a DoTaskInTime to a DoPeriodicTask to accommodate for the new databundles/scripts.zip integrity check that was added in the patch. 

Line 416 of mainscreen.lua is:

self.inst._AutoLoginTask:Cancel()

It appears when the "Mods Installed!" screen is enabled, the _AutoLoginTask is somehow being set to nil (Line 417) before the task is actually cancelled (Line 416).

Relevant snippet (Lines 412-427) from mainscreen.lua:

    if not self.auto_login_started then
        if Profile:GetAutoLoginEnabled() then
            local function TryAutoLogin()
                if TheFrontEnd:GetActiveScreen() == self and self.play_button:IsEnabled() and not global_error_widget and not IsIntegrityChecking then
                    self.inst._AutoLoginTask:Cancel()
                    self.inst._AutoLoginTask = nil
                    self.auto_login_started = true
                    print("Do AutoLogin")
                    self.play_button:Disable()
                    self:OnLoginButton(true)
                end
				
            end
            self.inst._AutoLoginTask = self.inst:DoPeriodicTask(0, TryAutoLogin)
        end
    end

 


Steps to Reproduce

1. Enable any mod
2. Don't disable the "Mods Installed!" screen
3. Crash during auto-login

If you disable the "Mods Installed!" screen by checking the "Don't Show This Again" box on that screen, then the game won't crash during auto-login for subsequent game launches.

  • Like 1



User Feedback


A developer has marked this issue as fixed. This means that the issue has been addressed in the current development build and will likely be in the next update.

In the mean time modders can turn this off in the client.ini file at Klei/DoNotStarveTogetherBetaBranch/#####/client.ini and set the value at this spot.

Quote

[MISC]
modswarning = false

Changed Status to Fixed

  • Like 1
  • Thanks 1
  • Big Ups 1

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...