Possibly, it's one of the 80 mods you installed... Maybe it's the shiny new eyelash replacer or that damned butt physics mod. But you can't be sure, can you? So you're about to go one-by-one and figure out which mod is crashing and lagging your game to hell, spending 4 hours enabling and disabling each mod until your game works a little better. Well you've got another option. Enter the Skyrim Papyrus Debugger-thing.
Papyrus will allow you to print out all the crap that your mods are mucking up! But what do you do with it? Well read on.
1. First, Enable Papyrus Logging by opening your Skyrim.ini file located at [YourWindowsUsername]\Documents\My Games\Skyrim\Skyrim.ini
2. Find the [Papyrus] heading (or if it doesn't exist, create it at the end of the file) and add the following:
[Papyrus]
bEnableLogging=1
bEnableTrace=1
bLoadDebugInformation = 1
Now, Papyrus is enabled! Now what?
3. Enter your game. If it crashes to desktop, hopefully it will log the errors you've encountered. If this is the case skip ahead a bit to step 5.
4. Play the game for a while. When it starts lagging up or giving you problems, open console by hitting the ~ key (or `, depending on how you look at it) and type 'dps' without the quotes. This will dump a log file to your My Games/Skyrim directory.
5. Open up [YourWindowsUsername]\Documents\My Games\Skyrim\Logs\Script\Papyrus0.log
(the newest log will always be appended with a 0)
6. In this file, scroll alllll the way to the bottom. Now, start looking from the bottom upwards. If you're anything like me, you'll see plenty of errors and warnings thanks to the half bazillion mods all cohabitating not so peacefully. You'll be looking in particular for anything that repeats itself more than the others. Some mods will have a few errors, and that's okayish, but you're looking for that one little bastard that's ruining everyone's fun. He'll show up alot, so once you find it, look and see if you can find a "EvilScriptName.psc" file. It will most likely end in a "psc", because that's a papyrus script file.
7. Now, open up your directory with all the mods zip files you've downloaded. If they're in a dir with all your other downloads, move them to a directory all their own. Or, if you're using the mod manager, find the mods directory which stores all your mods downloads in compressed format. You can look in the NMM settings to find them.
8. Once your mod zips are all in one format, open up Winrar and point it to that directory. Now, if you're lucky, the psc will be inside a filetype called *.pex of the same name. So click "find" and type "*ProblematicFile*" without quotes into the filename field. If the file is ProblematicFile.psc, then just use ProblematicFile without the .psc extension.
9. If you find it, go ahead to step 10. If not, then your mod maker was a punk-ass and decided to include .psc files inside his .pex files of a different name. In this case, do a search in your mod directory, instead using the string field, with "*ProblematicFile*". Then hit Ctrl+Alt+Delete, and go to your WinRar.exe process, right click it and Set Priority to High. This is doing a full-text search of alllll the files in the archives in the directory so it's going to take some time. Grab a coffee, have a smoke, watch your dog chase his tail in circles, then teach that elegant lout to recite Shakespeare. Seriously it'll take that long, so give it a while.
10. Now you've located the damn pex file which uses the problematic psc. It should give you the archive the file was located in. Go back to your NMM and remove the bastard mod. Then go and post on the mod maker's comments board that you want your money back. Be sure to include a chunk of the log so he can fix it if he ever gets the time in between his Anime Mod XXX Lydia sessions.
11. You're done!! not really. There are probably going to be several mods with huge problems. Like I said before, many mods will have an error here or there, but you're always going to be looking for that one damn mod that loops hundreds of times looking for a sweetroll that just isn't there.
Hope this has helped save you a few hours of mod enabling/disabling and given you a nice look into the headaches mod-makers have to go through in order to give you such a nice user experience. Remember they're doing this for free, so if you love the mod, go ahead and donate to your favorite mod makers. Oh, and FFS buy the damn game. Bethesda may not deserve it as much as they did for Morrowind (amirite?); but damn they got to have money to make the next game. And I know we're all waiting for it. Seriously.
- Wretched.Calx
Oh, wood-missles and leg-benders. Yeah.
Skyrim Mods not working, Papyrus Debugger Help, Broken Skyrim Mods, Skyrim Mod Papyrus Help, Skyrim Mod Errors, Skyrim Mod Crashing, Skyrim Debugger, Skyrim Mods Fix
When exactly is the .log file generated? It doesn't seem to want to generate one for me.
ReplyDeleteYou can see the load-order of the plugin with the problematic script in the log. The first three digits/letters give you that. Compare that against the load-order column in Wrye Bash.
ReplyDeleteExample:
[12/23/2012 - 01:09:12PM] error: File "kuerteeEatAndSleep.esp" does not exist or is not currently loaded.
stack:
.Game.GetFormFromFile() - "" Line ?
[kuBFAIQ (55000878)].kubfaiqs.tick() - "kuBFAIQS.psc" Line 380
Load order here is 55 so plugin that is listed as 55 is the one you would disable to get rid of that particular error.
By the way, script classes must reside in a file named after the script. So point 9 in your procedure is technically incorrect.
Jarek, thanks for the info about the digits. It helped me find the problem mod.
DeleteWhat would cause the Papyrus logfiles not to be generated despite having the entries added to the end of Skyrim.ini as instructed?
ReplyDeleteWhat would cause the Papyrus logfiles not to be generated despite having the entries added to the end of Skyrim.ini as instructed?
ReplyDeleteSometimes it might be loading the ini file from directly in the program folder, depending on your operating system. Also there are two ini files, be sure you're using the correct one. In addition, be sure you're modifying the right user account. If all else fails, delete (backup first) all ini files you can find and start the game, it will regenerate them, then you can modify the new files that were created.
ReplyDeleteMod Manager loads its own set of .ini files that are stored in the profile directory for each Mod Manager profile.
DeleteOkay, so what if the problematic file is actually the main? Like the BirdsFleeSCRIPT.psc is for the main game, and always omnipresent prior to a freeze.
ReplyDeleteWhat if it is the main? Like birdsFleeSCRIPT.pcs is for the Skyrim.esm, and is always omnipresent prior to my freeze.
ReplyDeleteHoly cow, thank you for this!
ReplyDeletei dont have any skyrim.ini files. i use windows 10. help
ReplyDeletei dont ahve any skyrim.ini files. i use windows 10. help
ReplyDeleteIn stepp 2:
ReplyDeleteunder my Papyrus stands 'fPostLoadUpdateTimeMS=500.0'. I deleted it and started skyrim without it, it crashed after the 'bethesta' loading screen (without telling me why) and the phase 'fPostLoadUpdateTimeMS=500.0' stands under papyrus again (yes, I safed the thing before). I tryed the whole thing with my skse skyrim, the 'normal' one works normal, but without mods :D. So, what can I so? I followed you step by step but it failed. Did I do something wrong or is it a spezial case?
You saved me so much time, even nearly 4 years later and had a good laugh all the while. Thanks lol
ReplyDeleteYou saved me so much time doing this and had a good laugh while doing it, even 4 years down the road. Thanks!
ReplyDelete