Downloads every Skyrim mod plugin from nexusmods.com and saves CELL edits of each to a database https://modmapper.com
Go to file
Tyler Hallada 4e500f0b0b Various fixes to errors that occurred during runs
Don't crash if metadata link 404s.

If extracting file from zip fails, try using linux unzip command instead. This fixes errors due to deflate64 compression.
2021-07-17 14:19:43 -04:00
migrations Log spans, track size & undownloadable files 2021-07-11 22:49:29 -04:00
src Various fixes to errors that occurred during runs 2021-07-17 14:19:43 -04:00
.gitignore Initital commit 2021-06-03 12:30:04 -04:00
Cargo.lock Upgrade compress-tools to branch w/ fix for crash 2021-07-16 00:13:38 -04:00
Cargo.toml Upgrade compress-tools to branch w/ fix for crash 2021-07-16 00:13:38 -04:00
README.md Add some .env instructions to readme 2021-07-11 22:59:53 -04:00

modmapper

Downloads mods from nexus, parses the plugins inside, and saves data to a postgres database.

Development Install

  1. Install and run postgres.
  2. Create postgres user and database (and add uuid extension while you're there ):
createuser modmapper
createdb modmapper
sudo -u postgres -i psql
postgres=# ALTER DATABASE modmapper OWNER TO modmapper;
\password modmapper

# Or, on Windows in PowerShell:

& 'C:\Program Files\PostgreSQL\13\bin\createuser.exe' -U postgres modmapper
& 'C:\Program Files\PostgreSQL\13\bin\createdb.exe' -U postgres modmapper
& 'C:\Program Files\PostgreSQL\13\bin\psql.exe' -U postgres
postgres=# ALTER DATABASE modmapper OWNER TO modmapper;
\password modmapper
  1. Save password somewhere safe and then and add a .env file to the project directory with the contents:
DATABASE_URL=postgresql://modmapper:<password>@localhost/modmapper
RUST_LOG=mod_mapper=debug
  1. Install sqlx_cli with cargo install sqlx-cli --no-default-features --features postgres
  2. Run sqlx migrate --source migrations run which will run all the database migrations.
  3. Get your personal Nexus API token from your profile settings and add it to the .env file:
NEXUS_API_KEY=...
  1. Either run cargo run for development mode, or build the release binary with cargo build --release, which will get saved to target/release/.