Jump to content

Recommended Posts

Hi, I am hoping someone can help with a disconnect problem my friend and I are having staying connected to our server. The disconnect happens during winter and has only started since the new Winters Feast update.

I have managed to pinpoint the cause of the server disconnect to the Achievements and Level System mod by Lavax on the Steam Workshop, a mod we have enjoyed using for a few years but the mod is no longer being updated since 2022.

What is happening is on day 23 the game looks to be triggering a new event called scripts/components/wintersurprisespawner.lua. From what I have seen in a couple of update videos I believe this is spawning a Winters Tree event somewhere in the world which spawns with some presents below the decorated winter tree. The presents can contain items, or be a trap to spawn some hounds from the presents, and the winter tree can change into a Treeguard. I am not sure if there are other mechanics being spawned along with this spawner event as we cannot progress beyond day 23 but I do believe this is the cause of the server disconnect as the mod is outdated and is causing some type of conflict with the new event.

I am not a modder, and it has taken me a couple of days just to get to this stage, but I was hoping someone familiar with modding could provide more information, or even a possible fix. Right now I have found a temporary workaround in disabling the mod on day 22 and re-enabling it on day 24 (though the mods achievement and level progress resets so it is not really a workaround) and I am concerned that this event will keep repeating during winter making playing with this mod impossible. Thanks for any info you can provide.

The last error entry in my server log looks like this -

[00:01:35]: [string "scripts/components/wintersurprisespawner.lu..."]:132: variable 'GetNaughtyWinterTreeGiftLoot' is not declared
LUA ERROR stack traceback:
=[C]:-1 in (global) error (C) <-1--1>
scripts/strict.lua:23 in () ? (Lua) <21-26>
   t = table: 000000000C5404B0
   n = GetNaughtyWinterTreeGiftLoot
scripts/components/wintersurprisespawner.lua:132 in (local) SpawnGift (Lua) <117-169>
   is_real = false
   items = table: 0000000058BA36B0
scripts/components/wintersurprisespawner.lua:171 in (upvalue) ConfigureWinterSurprise (Lua) <90-173>
   tree = 118235 - winter_tree (valid:true)
   x = 286
   y = 0
   z = 402
   container = table: 000000000950D890
   hounded = table: 0000000017EEB2B0
   escalation_level = table: 0000000017EEC250
   num_surprise_gifts = 4
   num_real_gifts = 1
   theta = 5.9661348120858
   gifts = table: 0000000058BA2C60
   SpawnGift = function - scripts/components/wintersurprisespawner.lua:117
   i = 1
   is_real = false
scripts/components/wintersurprisespawner.lua:216 in (upvalue) SpawnWinterSurprise (Lua) <192-218>
   x = 286
   y = 0
   z = 402
   tree = 118235 - winter_tree (valid:true)
scripts/components/wintersurprisespawner.lua:237 in (field) callback (Lua) <235-244>
scripts/components/worldsettingstimer.lua:53 in (field) fn (Lua) <50-57>
   inst = 100028 - world (valid:true)
   self =
      timers = table: 000000001754A690
      inst = 100028 - world (valid:true)
      saved_timers = table: 000000001754ACD0
   name = wintersurprise_spawntimer
scripts/scheduler.lua:186 in (method) OnTick (Lua) <164-216>
   self =
      running = table: 0000000016CEFBD0
      waitingfortick = table: 0000000016CEF680
      hibernating = table: 0000000016CEF4A0
      tasks = table: 0000000016CEF8B0
      waking = table: 00000000094FABF0
      attime = table: 0000000016CEF770
   tick = 1132
   k = PERIODIC 100028: 37.705047
   v = true
   already_dead = false
scripts/scheduler.lua:409 in (global) RunScheduler (Lua) <407-415>
   tick = 1132
scripts/update.lua:240 in () ? (Lua) <224-298>
   dt = 0.033333335071802
   tick = 1132
   i = 1132

[00:01:35]: [string "scripts/components/wintersurprisespawner.lu..."]:132: variable 'GetNaughtyWinterTreeGiftLoot' is not declared
LUA ERROR stack traceback:
    =[C]:-1 in (global) error (C) <-1--1>
    scripts/strict.lua:23 in () ? (Lua) <21-26>
    scripts/components/wintersurprisespawner.lua:132 in (local) SpawnGift (Lua) <117-169>
    scripts/components/wintersurprisespawner.lua:171 in (upvalue) ConfigureWinterSurprise (Lua) <90-173>
    scripts/components/wintersurprisespawner.lua:216 in (upvalue) SpawnWinterSurprise (Lua) <192-218>
    scripts/components/wintersurprisespawner.lua:237 in (field) callback (Lua) <235-244>
    scripts/components/worldsettingstimer.lua:53 in (field) fn (Lua) <50-57>
    scripts/scheduler.lua:186 in (method) OnTick (Lua) <164-216>
    scripts/scheduler.lua:409 in (global) RunScheduler (Lua) <407-415>
    scripts/update.lua:240 in () ? (Lua) <224-298>
    

 

 

Edited by Orangex

GetNaughtyWinterTreeGiftLoot should exist in prefabs\winter_tree.lua as a globally accessible function (as in it can be used anywhere in any file), I would have to guess the mod overwrites the original winter tree file, so the function is nonexistent on their iteration. The mod was last updated in May, after all.

Edit: The last updated mod I refer to is a newer one not from Lavax. Regardless of the mod, my point stands, however.

Edited by Baguettes

Thank you for the info Baguettes.

Yes I can see the prefabs\winter_tree.lua. Is there any way to disable this specific event?

We are considering disabling Winters Feast in the worldgen settings but only as last resort.

Yesterday we did try the alternative mod you noticed too but it is drastically different to the mod we are used to using unfortunately.

I would probably just band-aid the thing given how I don't know the entire mod's structure by adding that function to their file. This is obviously not update proof, but might do just enough to let you continue with the world, seeing how the mod has lasted up to this point without actually crashing.

I don't know where to begin with fixing this issue myself but I have left a comment on the Steam Workshop for the more recently update version of this mod, hopefully it isn't too difficult of a fix for the developer. For now there is a workaround for anyone having this same issue with this mod.

The host can simply change the global world setting for "Events" from Auto to None before starting the server. Once the game has passed the time of day in which the Winter Tree event would trigger and disconnect the server (for me this was during winter on day 23 and around 3 segments of the morning on the world clock), then the server can be exited, change the "Events" setting back to Auto and start the game again. This will allow players to continue through winter as normal and encounter Deerclops without any more disconnects.

Thanks again for the comments Baguettes.

Edited by Orangex

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...