blt4linux / blt4l

PAYDAY 2 SteamOS/Linux LUA loader.
Other
57 stars 14 forks source link

Can't get a mod to work due to calls to nil values #114

Open C0rn3j opened 5 years ago

C0rn3j commented 5 years ago

Link to mod

I've been trying to get the Pirate Perfection 'trainer' to work on Arch Linux with blt4l, but the further I got was renaming MOD.txt to mod.txt and getting the game to not crash on launch and getting into missions.

I can load the mod 'WolfHUD' just fine, so I'm assuming my setup is correct but this mod is either broken, or something blt4l does is not what the normal blt or the Windows game does.

If you tell me this is a problem with the mod itself I'll go post a report to their page instead, but I first wanted to make sure it's not a Linux specific issue by asking here.

I tried by using their entire 'mods' folder and by using the blt4l generated mods folder, and both give identical behavior and logs.

Errors from the log:

10:46:01 PM Lua: Loading mod settings : nil
10:46:01 PM Error: LUAErrRun loading LUA file mods/base/req/xaudio/XAudioMovement.lua
10:46:01 PM Error: mods/base/req/xaudio/XAudioMovement.lua:3: attempt to index global 'blt' (a nil value)
10:46:01 PM Error: LUAErrRun loading LUA file mods/PPreborn/Trainer/setup/pre_init.lua
10:46:01 PM Error: mods/PPreborn/Trainer/setup/__require.lua:132: attempt to call upvalue 'orig__require' (a nil value)
10:46:01 PM Info: Type: 4
10:46:01 PM Info: ref: 5
10:46:02 PM Error: LUAErrRun loading LUA file mods/PPreborn/Trainer/setup/init.lua
10:46:02 PM Error: mods/PPreborn/Trainer/setup/__require.lua:132: attempt to call upvalue 'orig__require' (a nil value)
10:46:02 PM Error: LUAErrRun loading LUA file mods/PPreborn/Trainer/setup/main_init.lua
10:46:02 PM Error: mods/PPreborn/Trainer/setup/main_init.lua:8: attempt to call local 'ppr_dofile' (a nil value)

Full log: https://haste.rys.pw/raw/ibifokedev

ZNixian commented 5 years ago

Their mods folder has a copy of SuperBLT inside it, using functionality that BLT4L does not support.

SuperBLT does support Linux (it's Linux support is actually based off of BLT4L), here are the compilation instructions:

https://gitlab.com/znixian/payday2-superblt#gnulinux

C0rn3j commented 5 years ago

I'll keep posting in this thread since you seem to be maintaining both anyways, unless you'd like me to move this to a new issue on the superblt tracker.

WolfHUD alone seems to be working fine with SuperBLT too, so I assume my setup is somewhat correct again.

I've tried both the bundled superblt basemod and git cloned one with seemingly identical results.

As a note, I'm using the legit steam version of the game. What could I be doing wrong?

Bundled basemod: https://haste.rys.pw/raw/zacovutavi git cloned basemod: https://haste.rys.pw/raw/uzizabegup

Error highlights:

09:55:19 AM FATAL ERROR:  (/home/c0rn3j/payday2-superblt/src/InitiateState.cpp:314) ...Reborn Trainer! Free Edition/Trainer/setup/__require.lua:132: attempt to call upvalue 'orig__require' (a nil value)
stack traceback:
    ...Reborn Trainer! Free Edition/Trainer/setup/__require.lua:132: in function 'ppr_require'
    ... Reborn Trainer! Free Edition/Trainer/setup/pre_init.lua:8: in main chunk
    [C]: in function 'dofile'
    mods/base/base.lua:132: in function 'RunHookFile'
    mods/base/base.lua:124: in function 'RunHookTable'
    mods/base/base.lua:154: in function 'require'
    [string "core/lib/coreentry.lua"]:19: in main chunk
09:55:20 AM FATAL ERROR:  (/home/c0rn3j/payday2-superblt/src/InitiateState.cpp:314) ...Reborn Trainer! Free Edition/Trainer/setup/__require.lua:132: attempt to call upvalue 'orig__require' (a nil value)
stack traceback:
    ...Reborn Trainer! Free Edition/Trainer/setup/__require.lua:132: in function 'ppr_require'
    ...tion Reborn Trainer! Free Edition/Trainer/setup/init.lua:22: in main chunk
    [C]: in function 'dofile'
    mods/base/base.lua:132: in function 'RunHookFile'
    mods/base/base.lua:124: in function 'RunHookTable'
    mods/base/base.lua:154: in function 'require'
    [string "core/lib/coreentry.lua"]:19: in main chunk
09:55:20 AM FATAL ERROR:  (/home/c0rn3j/payday2-superblt/src/InitiateState.cpp:314) ...Reborn Trainer! Free Edition/Trainer/setup/main_init.lua:8: attempt to call local 'ppr_dofile' (a nil value)
stack traceback:
    ...Reborn Trainer! Free Edition/Trainer/setup/main_init.lua:8: in main chunk
    [C]: in function 'dofile'
    mods/base/base.lua:132: in function 'RunHookFile'
    mods/base/base.lua:124: in function 'RunHookTable'
    mods/base/base.lua:154: in function 'require'
    [string "core/lib/coreentry.lua"]:19: in main chunk

09:46:58 AM FATAL ERROR:  (/home/c0rn3j/payday2-superblt/platforms/gnu/src/log.cpp:27) Fatal Error, Aborting: Segmentation fault!

Obtained 14 C++ stack frames:
 0x7fb47b20e3bf libsuperblt_loader.so : blt::error::handler(int)+0x9a
 0x7fb47a90e8b0 libc.so.6 : +0x378b0
       0xca0e5a payday2_release : dsl::job::JobManager::~JobManager()+0x7a
       0xca0dc9 payday2_release : dsl::job::JobManager::~JobManager()+0x9
       0xca0793 payday2_release : dsl::job::JobManager::destroy()+0x13
       0xbc9fdb payday2_release : Application::destroy()+0x68b
       0xbc90f0 payday2_release : Application::~Application()+0xa0
       0xbc8ff9 payday2_release : Application::~Application()+0x9
       0xe1a623 payday2_release : app_run()+0x293
       0xe1b505 payday2_release : app_entry_filtered()+0xe65
       0xe1a214 payday2_release : main+0x1a4
 0x7fb47a8face3 libc.so.6 : __libc_start_main+0xf3
                payday2_release() [0x7eeb34]
RomanHargrave commented 5 years ago

@C0rn3j blt4l is effectively in maintenance mode. SuperBLT continues the project (and I may start contributing to SuperBLT if I ever get back in to payday) while adding more features.

Cursory analysis of your error message, without context and without having modded payday in a while, would suggest that your basemod is incompatible or you are missing a dependency.

C0rn3j commented 5 years ago

blt4l is effectively in maintenance mode. SuperBLT continues the project (and I may start contributing to SuperBLT if I ever get back in to payday) while adding more features.

Could this notice be added on top of this repo's readme with a link to SuperBLT? It is very confusing for someone new to Payday 2 modding to figure out which BLT mod to use, especially when you throw Linux to the mix.

I'll try contacting the PP mod developers then as I am out of my depth here.


I thought your name looked familiar.. Late thanks for helping figuring out how to get KF2 to run under WINE!

RomanHargrave commented 5 years ago

Late thanks for helping figuring out how to get KF2 to run under WINE!

No problem.