Don't Starve Together

Don't Starve Together

Extra Equip Slots
NubsPixel  [developer] 25 Apr, 2015 @ 10:23pm
Please, submit your crash log
If you still crash in any way.
1. Please browse to your DST log. Do NOT re-open DST, this will delete the current crash log. The file should be located in
Documents\Klei\DoNotStarveTogether\log.txt
.2. Open the file.
3. Copy the whole content. (Ctrl + A, then Ctrl + C)
4. Open Pastebin[pastebin.com]
5. Paste into the text box. (Ctrl + V)
6. Click Submit (scrolll down a bit).
7. Copy the URL (on the browser).
8. Paste the URL in the comments here.

My logs sample: http://pastebin.com/1g4c6nQw
Last edited by NubsPixel; 25 Apr, 2015 @ 10:24pm
< >
Showing 16-30 of 47 comments
Gambit 20 Apr, 2016 @ 12:35pm 
Even with this fix some players are incapable of entering a server. Some get an error Out of memory, some are simply disconnected right after connection.
Jurel 20 Apr, 2016 @ 12:38pm 
Originally posted by Muche:
The recent incompatibility is due to EQUIPSLOT_IDS table creation moving from components/playerinspectable.lua to constants.lua.
Recreating the table
GLOBAL.EQUIPSLOT_IDS = {} local slot = 0 for k, v in pairs(GLOBAL.EQUIPSLOTS) do slot = slot + 1 GLOBAL.EQUIPSLOT_IDS[v] = slot end slot = nil
after custom equip slots are added seems to help.

Is this something we need to do ourselves?
NubsPixel  [developer] 20 Apr, 2016 @ 12:46pm 
@Jurel
well.. not really. if you manually patch it. it will mitigate the issue for only you and those who did. Some people just simply can't deal with manual patching. Thus, the demand of for me to patchup the mod. In anycase, i already applied to changes that was posted by muche to the mod (server).
In other words, everyone could simply "update" within the client. ;)

Muche 20 Apr, 2016 @ 1:13pm 
@star, it seems correct in the sense that it makes numbers in components/equippable_replica.lua's own EQUIPSLOT_IDS the same.

However, it doesn't answer the question whether the different assignment matters at all. It doesn't seem to in equippable_replica, but in other places it doesn't look so clear to me; components/playerinspectable.lua does this:
local function OnEquip(inst, data) inst.Network:SetPlayerEquip(EQUIPSLOT_IDS[data.eslot], data.item:GetSkinName() or data.item.prefab) end
i.e. it passes the number into Network function
and prefabs/skeleton.lua:
for k, v in pairs(EQUIPSLOTS) do inst._avatar_net.equip[EQUIPSLOT_IDS[v]] = net_string(inst.GUID, "skeleton_player.avatar.equip."..v) end
which creates net_strings in different order than they might be later used.

@Gambit, I would think clients needs the fix as well, not just the server. Anyways, this is now moot, since there is new version of the mod available that has the fix.
star 20 Apr, 2016 @ 2:54pm 
Originally posted by Urusai47:
When I die I still get the same error even with the fix. But equiping works
I think this code should be directly in the published mod. Because only Steam provides client-server synchronization for "all_client_required_mod" mods.
Last edited by star; 20 Apr, 2016 @ 2:54pm
不想早起 11 Jun, 2016 @ 4:05am 
Hi NubsPixel
I use your mod for some time in my dedicated sever. today after updata,when i choose my weapon in my game,i find i can't choose all the equip. the sever will crash if i try a few times more. maybe they change somthing , i can't sure whether the problem in this MOD, here is crash log:

http://pastebin.com/tq4D5EbU

----------------------------------------------------------------

LUA ERROR stack traceback:
=[C]:-1 in (global) assert (C) <-1--1>
scripts/networkclientrpc.lua:13 in (upvalue) printinvalid (Lua) <11-14>
rpcname = TakeActiveItemFromEquipSlot
player = 117033 - wilson (valid:true)
scripts/networkclientrpc.lua:535 in () ? (Lua) <533-542>
player = 117033 - wilson (valid:true)
eslot = nil
=[C]:-1 in (method) CallRPC (C) <-1--1>
scripts/networkclientrpc.lua:759 in (global) HandleRPCQueue (Lua) <750-767>
i = 1
fn = function - scripts/networkclientrpc.lua:533
sender = 117033 - wilson (valid:true)
data = table: 337AC578
tick = false
scripts/update.lua:47 in () ? (Lua) <39-127>
dt = 0.016667000949383

[00:17:41]: [string "scripts/networkclientrpc.lua"]:13: Invalid TakeActiveItemFromEquipSlot RPC from (KU_xQ4rz4Z8) silverr
LUA ERROR stack traceback:
=[C]:-1 in (global) assert (C) <-1--1>
scripts/networkclientrpc.lua:13 in (upvalue) printinvalid (Lua) <11-14>
scripts/networkclientrpc.lua:535 in () ? (Lua) <533-542>
=[C]:-1 in (method) CallRPC (C) <-1--1>
scripts/networkclientrpc.lua:759 in (global) HandleRPCQueue (Lua) <750-767>
scripts/update.lua:47 in () ? (Lua) <39-127>

------------------------------------------------------------------

thank you !
Muche 11 Jun, 2016 @ 4:40am 
I believe it's related to the Archery mod crash due to custom equip slots being partially ignored in some circumstances - http://forums.kleientertainment.com/topic/68073-game-update-180814/?page=3#comment-782277.
不想早起 11 Jun, 2016 @ 5:36am 
Originally posted by Muche:
I believe it's related to the Archery mod crash due to custom equip slots being partially ignored in some circumstances - http://forums.kleientertainment.com/topic/68073-game-update-180814/?page=3#comment-782277.
@Muche I did't install the Archery mod . and i test my friends' computer ,They don't have this problem. ToT....
Muche 11 Jun, 2016 @ 6:06am 
What I meant was that both Archery mod and EES mod add custom equip slots. They differ how they use it, so their crash logs differ as well.
Other possible sources of crash log differences - other enabled mods (even client only mods), single user on hosted single-level world, single user on hosted multi-level world, a client joining a hosted world, a client joining a dedicated server.
不想早起 11 Jun, 2016 @ 6:30am 
Originally posted by Muche:
What I meant was that both Archery mod and EES mod add custom equip slots. They differ how they use it, so their crash logs differ as well.
Other possible sources of crash log differences - other enabled mods (even client only mods), single user on hosted single-level world, single user on hosted multi-level world, a client joining a hosted world, a client joining a dedicated server.
well,i mistake. In just now, i add a mod :connect(id466644640) and updata some mod in my friend's ,then her computer also appeared the same problem, I think related to this.

不想早起 11 Jun, 2016 @ 6:38am 
Originally posted by Muche:
What I meant was that both Archery mod and EES mod add custom equip slots. They differ how they use it, so their crash logs differ as well.
Other possible sources of crash log differences - other enabled mods (even client only mods), single user on hosted single-level world, single user on hosted multi-level world, a client joining a hosted world, a client joining a dedicated server.

I try to delete the mod:connect(id466644640) , and then this mod can work, I'm sure there are conflicts between them.......
Muche 11 Jun, 2016 @ 7:35am 
Originally posted by silverr:
I try to delete the mod:connect(id466644640) , and then this mod can work, I'm sure there are conflicts between them.......
Yes, this case is caused by the same issue as described on klei forums:
Connect mod has priority 99 so it loads earlier - it loads screens/multiplayermainscreen, which in turn loads screens/playerhud, that loads widgets/playeravatarpopup and that loads equipslotutil.
equipslotutil processes GLOBAL.EQUIPSLOTS.
Then EES mod begins loading and adds its custom equip slots to GLOBAL.EQUIPSLOTS.
Since equipslotutil is already loaded, it does not get a chance to process updated GLOBAL.EQUIPSLOTS, thus enabling the crash.
Last edited by Muche; 11 Jun, 2016 @ 3:05pm
不想早起 11 Jun, 2016 @ 10:07am 


Originally posted by Muche:
Originally posted by silverr:
I try to delete the mod:connect(id466644640) , and then this mod can work, I'm sure there are conflicts between them.......
Yes, this case is caused by the same issue as described on klei forums:
Connect mod has priority 99 so it loads earlier - it loads screens/multiplayermainscreen, which in turn loads screens/playerhud, that loads widgets/playeravatarpopup and that loads equipslotutil.
equipslotutil processes GLOBAL.EQUIPSLOTS.
Then EES mod begins loading and adds its custom equip slots to GLOBAL.EQUIPSLOTS.
Since equipslotutil is already loaded, it does not get a change to process updated GLOBAL.EQUIPSLOTS, thus enabling the crash.

I see, thanks for your help. :D
star 11 Jun, 2016 @ 10:20am 
[00:00:45]: error calling PrefabPostInit: backpack in mod workshop-375850593 (Extra Equip Slots): [string "scripts/components/equippable_replica.lua"]:10: calling 'set' on bad self (number expected, got nil) LUA ERROR stack traceback: =[C] in function 'set' scripts/components/equippable_replica.lua(10,1) in function 'SetEquipSlot' scripts/components/equippable.lua(2,1) in function '?' scripts/class.lua(30,1) ../mods/workshop-375850593/modmain.lua(375,1) =(tail call) ? =[C] in function 'xpcall' scripts/mods.lua(123,1) in function 'mod' scripts/mainfunctions.lua(155,1) =[C] in function 'SpawnPrefab' scripts/mainfunctions.lua(191,1) in function 'SpawnPrefab' ... =[C] in function 'GetPersistentString' scripts/saveindex.lua(233,1) in function 'Load' scripts/gamelogic.lua(966,1) in function 'callback' scripts/playerprofile.lua(705,1) in function 'Set' scripts/playerprofile.lua(688,1) =[C] in function 'GetPersistentString' scripts/playerprofile.lua(686,1) in function 'Load' scripts/gamelogic.lua(965,1) in main chunk =[C] in function 'require' scripts/mainfunctions.lua(804,1) [00:00:45]: Disabling workshop-375850593 (Extra Equip Slots) because it had an error.
< >
Showing 16-30 of 47 comments
Per page: 1530 50