SASTEP

From S.T.E.P. Project Wiki

related links:

Contents

Semi Automatic STEP Tool

What is this?

Using the STEP Guide as base, we try to get an automated installer working. To keep it sustainable we also need to create some developer/pack management tools. The tools developed here might be of use for other packages outside STEP.

concept

Development will be completely bottom up. This means there will be many small tools that elevate automation of STEP incrementally (in very small steps, so to speak ;) ). --MilesTeg (talk) 11:38, December 6, 2013 (EST) Goal will be to "connect" to the Mod Organizer tool, where all further modding will be handled.

SASTEP Core

We will create a barebone install with all mods, marked as core (green) in the guide. To further narrow down the specification we use the following rules (not final in any way!!):

  • word by word step guide installation +
  • baseline graphics downloads
  • requires all DLCs
  • special adjustments for multi-archive mods (coming soon)

Tools

As this seems to move forward more easily and faster than I expected, I will give a brief introduction in what each tool/script does/will do.

Dev: all tools mainly meant for package managers, tool developers and mod creators

User: tools that will be accessed/run directly by a mod-user (one that just wants a cool modded Skyrim experience)

tools from other developers can be found here


dev: getMeta

recieves meta information about the mod files from MO. this comes in handy if you want to create a new package / update your meta-infos. This should also ease the maintenance of mod packages.

how it works: copy into MO download folder and be sure you only have files for your specific mod bundle in there (+ the meta-files MO creates). Also test all archives to be sure there is no file damadge (bad downloads etc). The script reads out various information about the mods and lists them in a nice csv file.

infos:

  • fileID: unique ID for each file
  • modID: the nexus identifier nr for the mod
  • Version (very error prone)
  • File Name: similiar to the name shown in nexus downloads section
  • mod name: name of the mod
  • checksum code: identifies the file by it's data. necessary for later automation.

dev: datatreecmp

This tool connects complex mods (installations) with package maintanence.

Problem: some mods have advanced options, variants etc. STEP gives a good recommendation of what to choose from. But the user still has to do it all by himself.

Solution: It compares the uninstalled mod (the zip or 7z file) with the installed one, used in MO. The result will be saved in a new file, that can later on be used for an "one-click" installer.

user: ini tweak

a very simple script, that takes an ini file (containing only the STEP recommended tweaks) and applies those settings to the skyrim inis (located in the MO profile).

user/dev: generateCoreBookmarks

a script that automatically generates a bookmarks.html for import in firefox. source data: STEP wiki (this link, to be specific). It uses Special:Ask to query the data.

I have to admit it's currently not usable for anything beyond STEP Core. But with some changes, it can be used for other mod packages.

requires: mods must have an article in the STEP wiki.

dev: BCF read

a code snippet ripped from Wrye Bash that simply reads the .bcf patches and exports them in readable text files.

Why? Better tranparency. Now you know what the patch actually does (and if it needs an update) (Altough BCF isn't used in my concept of an automated STEP)

other tools

Mod Organizer

Program that organizes Skyrim Mods (similiar to Wrye Bash, Nexus Mod Manager)

  • features:
    • profile support,
    • virtual filesystem (each mod extracted to /mods/MODNAME/ )
    • can read nexus file infos
    • plugin support
    • VERY powerful and feature rich! Unfortunately no batch install options.
  • language(s): Python, Qt, 7zip, modlist(textfiles), .meta(ini textfiles)

Tools contains the AHC (credit to elbe) and STEP-transfer Python script (credit to Tannin) containing a method to use the Nexus API to transfer mod attributes into the wiki.

AutomaticSTEPInstaller=

ModMerge

  • (Alpha) by MontyMM
  • A tool that can analyse an extracted, file structure changed mod and can then
  • "allows us to automate the transformation and merging of mod archives into a desired state"
  • language(s): Batch, 7zip, skyrep

skyrep

  • (used within ModMerge)
  • tool that synchronises file repositories
  • language(s): C

Thunderbolt by frihyland

A probably abandonded project that would have a GUI and pretty much all functionality needed. No release


terms explained

Milestones

Milestones for the proof-of-concept-tools that will set the base for a complete installation program/ MO plugin etc. Once we are done with betatesting there should be a reset to an alpha that will incorporate all (probably) separated tools into a unified codebase.

  • Alpha state:
  1. Define and assemble a list of all archives (filename and checksum) that'll be used for the STEP core installation (currently on hold till it gets clear if there isn't an automnated way of doing it)
  2. (parallel to #1) get a working tool that returns the changed filestructure as config file for MG's ASI. (current WIP)
  3. (needs #2)
    1. install all mods according to the STEP core guide (+ our definition of STEP core)
    2. run the tool from #2. Adjust the tool if necessary
    3. Milestone is reached once all config files for STEP core are completed.
  4. create a tool that installs STEP core in separate folders.
    1. A simple batch file (for now) will just copy them all together for testing / or we create a switch in the ASI tool
  5. Bundle it all in one toolkit / one downloadable zip file.
    1. documentation
    2. bugfixing, catch errors/exceptions
  • Beta state:
  1. let the community give feedback and suggestions.

later/not time critical, yet:

  • a: define how data should be imported into the wiki (filelists for each mod? file archive based?)
    • 1: import data into the STEP wiki; make it editable for mod authors
    • 2: create a query that returns data ready for our tool
  • b: MO metafile-write support (have to check if I already got this working)
    • 1: a function that will edit the metas after the installation is complete
  • c: get a version control up and running

plans/progress from S.T.E.P. perspective

using STEP:Guides table of contents to give a more structured overview of how far we are away from an semi automated STEP. It should also address possible solutions, limitations etc. concerning automation.

about

Release: we try to use the current (STEP 2.2.8) release as a base for a automated STEP core installation. Turn your seatbelts on - this will be a bumpy ride!!

About STEP about Semi Auto STEP: proof of concept phase

  • a whole bunch of plans ;)
  • some tools
  • some unfinished / incomplete installers. functionality of those are very limited.
  • no complete solution yet

Minimum System for STEP:Core As discussed in the forums, there will be new minimum requ. for STEP. As automated STEP is basically a strictly follow STEP default installation, there will be no big differences here.

  • OS needs to be Windows 7 or later to assure compatibility with support tools.
  • games needed:
    • Skyrim and all it's DLCs (=Skyrim legendary edition):
    • DLC Dragonborn
    • DLC Heartfire
    • DLC Dawnguard

STEP 1: Main installation and settings

1.A. Install Steam & Skyrim

  • Installation itself won't be much of a problem.
  • [ idea ] reverting to clean vanilla: maybe small tool that supports the linked guide?
1.B. Skyrim Launcher Options

launch Semi-Auto-STEP tool frame see. 1.E

1.B.1. Launcher Settings

  • some user input is still necessary.
  • ini changes will be stored in a MO meta mod package
  • explainations may not be that important for a automatic skyrim
1.C. Display & Video Card Settings

see. 1.E Nvidia Users - inspector

  • needs to be started because of the delivered skyrim adjustments.
  • after download, a tool will take care of some

to be continued

  • AMD Users
  • Display
1.D. Performance Benchmarking
1.E. Install Utilities
  • some (1.CDE) tools and utilities are legal to auto-download (OSS)
  • a script might be enough to start and setup some tools.
    • 1.E.1. Better Oblivion Sorting Software
    • 1.E.2. BOSS Userlist Manager
    • 1.E.3. Mod Manager(s)
    • 1.E.4. TES5Edit
  • 1.F. INI Tweaks
  • 1.F.1. Skyrim INI
  • 1.F.2. SkyrimPrefs INI
  • all can be fully automated (see ini tool)
  • Reminder - Essential Guides
  • some of the settings, actions mentioned in the guides could be automated

Final Notes STEP 2 2.A. Configuration 2.B. Utilities 2.C. Extenders 2.D. Fixes 2.E. Interface 2.F. Conflicting Graphics 2.G. Landscape & Environment 2.H. Characters & Creatures 2.I. Clothing & Equipment 2.J. Animations & Effects 2.K. Clutter & Miscellaneous 2.L. Sound 2.M. Gameplay Wrye Bash Realistic Crime Radius fix Post-Installation Housekeeping STEP 3 3.A. Technical Tips 3.A.1. Maximizing STEP 3.A.2. Fix game launch crash after installing STEP 3.A.3. Defrag the Hard Drive 3.A.4. Semi-Invisible People & Misbehaving Walls 3.A.5. Using Windowed Mode (ATI) 3.A.6. Increase Overall Performance 3.A.7. Texture Shimmering, Etc. 3.B. In-Game Tips 3.B.1. Optimize Field of View (FOV) 3.B.2. BIG Frame Drops During Cell Loading User Contributions Call for Wiki Content Editors Call for STEP Mod Testers Call for STEP Benchmarks Call for Forum Moderators Special Credits The core STEP team is:

- Visit the forums and provide feedback related to STEP.

Semi Automated STEP Core Mod List (heavy WIP!)

follow the main STEP guide till STEP 2.D STEP:Guide


Workflow of SASTEP

a first draft of how SASTEP should work.

  • Pre-Mod-Setup (see above)
  • Mod installation
    • get list of all Core Mods (included)
    • check (CRC, file size?) if all files are present and give a user output
    • create STEP profile folder + .ini in ModOrganizer
    • loop:
      • run Automated STEP Installer (by MG) for each mod
      • get/use config files (included) for A.S.I.
      • create meta-file for each mod
      • check if mod was installed correctly (?)
  • Finishing (cleaning up etc)

SASTEP CoreMods