0 of 0

File information

Last updated

Original upload

Created by

Mjjstral aka MetaIdea and Wbertro aka TheBossBoy

Uploaded by


Virus scan

Safe to use

About this mod

Revolutionary No Man's Sky auto modbuilder and updater with lua script mod definition system.
Fully automatic mod builder that automates every step of nms modding and provides an easy to use lua script mod definition system.

Permissions and credits
Revolutionary No Man's Sky AMUMSS (auto modbuilder/updater with MOD script definition system)
Fully automatic mod builder that automates every step of NMS modding and provides an easy to use lua script mod definition system.
NEXUSMODS: https://www.nexusmods.com/nomanssky/mods/957

NEW in Version 2.7.1W :
  • NEW Reporting much more information about what was replaced and where in EXML files, see REPORT.TXT
  • NEW Reporting will attempt to provide useful information in REPORT.txt when a script fails to load
  • Script Rules: look for NEW at the beginning of a line to find added or changed functionnality
  • NEW Script Rules: One or more pairs can be used as SPECIAL_KEY_WORDS to help specifying the right section to modify
  • NEW Saving a pakname_content.txt file with the created pak when a COMBINED MOD is created
  • The content file is also copied to MODS along with the pak when the user request it (thanks Lo2k for suggestion)
  • NEW Added DATE-TIME info to COMBINED MOD pak name (thanks Lo2k for suggestion)
  • Corrected bug involving REPLACE_TYPE = "ALL" continuing to end of file even when a keyword specified a section (thanks Lo2k)
  • Removed some duplication operations.
  • Corrected bug preventing the use of spaces in pak names (the MOD_FILENAME info in the scripts) (thanks Lo2k for reporting and testing this)
  • Corrected regression related to REPLACE_TYPE = "ALL" when only one PRECEDING_KEY_WORDS was used (thanks again to Lo2k)

Added Optional Files:
  • Current ModScriptCollection content for use with 2.5W.  This is the latest complete collection of scripts to be used with 2.5W (Replaces the ModScriptCollection folder)
  • Pre-Build paks created by 2.5WThese are most of the "usable" paks pre-build using version 2.5W (some are only for demo as described in the scripts)

Version 2.5W :
  • New ModExtraFilesToInclude folder where you, the modder, can put ANY extra files to be INCLUDED in the created PAK
  • New EXML_Helper folder containing copies of the original and modified files so modders can view and compare the EXML files during script development
  • To start developping a NEW script for a mod, just fill-in the "MOD_FILENAME", "PAK_FILE_SOURCE" and "MBIN_FILE_SOURCE" fields
  • using the script "TEMPLATE.lua" in ModScriptCollection\LearningExamples
  • Now you can find the decompiled original file in EXML_Helper\ORG_EXML and the modded file in EXML_Helper\MOD_EXML
  • and can use them to develop a suitable script...
  • The tool generates NMS_pak_list.txt containing ALL file names content of the paks in the NMS PCBANKS folder for convenience
  • Changes to the way SPECIAL_KEY_WORDS and PRECEDING_KEY_WORDS interact to be much more accurate in changing the right values.
  • ***** Tool is a bit more strict with the use of PRECEDING_KEY_WORDS making SPECIAL_KEY_WORDS often more appropriate ***** Make sure you read the Script_Rules.txt about them. ***** SOME scripts have changed due to that. Please use the updated scripts if you encounter WARNINGS
  • Bug correction when copying created pak to MODS folder under certain conditions

Version 2.3.01W :

  • Added Script plus NMS MODS paks Conflict Detection at the file level in the generated REPORT.txt file (minor bug correction)
  • so you can see which of the scripts AND paks in MODS need to be combined with others.   
    >>> A reference to the NMS PAK filename is also displayed for convenience in building a script.

  • Added the lua script themselves in the generated paks for reference.
  • Added an example script showing the use of For-Loops in the scripts.  See ADD_REMOVE_FORLOOP_usage-Recipes.lua
  • in the ModScriptCollection\LearningExamples\Advanced folder.
Version 2.2W :
  • Added Script Conflict Detection in the generated REPORT.txt file so you can see which scripts need to be combined with others.
  • Changed behavior so that ONLY PAKs created from the current scripts in ModScript are copied to NMS MODS folder, if you requested
them to be copied there.

What does this tool do ?
1. Downloads the latest MBINCompiler from github (needs Internet connection)
2. Reads especially made mod script lua files (NMS version independent modding)
3. Extracts the necessary .pak files from your NMS game folder
4. Decompiles the needed MBIN files to EXML files
5. Applies the changes defined in the lua mod script files to the decompiled .exml files 
6. Compresses the .exml files back to .pak (all *.MBIN,*.BIN,*.H,*.DDS,*.PC,*.WEM,*.TTF,*.TTC,*.TXT,*.XML files)
7. Copies the mods to: A) NMS mods folder (optional), B) CreatedModPAKs folder of this tool and C) Builds folder 
8. Creates incremental builds in numbered order in Builds/IncrementalBuilds
9. Check for conflicts between Scripts that modify the same files and reports findings so you can choose to combine them
    if you want to get the full effect of each script/mod 

How to use:

0. Unzip download into a folder like C:\AMUMSS, copy a lua script into ModScript and execute BuildMod.bat (double-click it)
1. If asked, put your No Man's Sky game folder path into NMS_FOLDER.txt, otherwise the tool will find the game
2. Choose a script from the ModScriptCollection folder or from anywhere else or create one yourself
3. Paste it into the ModScript folder
4. Start BuildMod.bat
5. Answer a few questions and the tool will do its processing, let it finish (review the REPORT.txt file if necessary)
6. Copy the mod that gets created in the CreatedModPAKs folder to your game folder if you haven't made that choice at the start of processing
7. You can combine multiple mods and even make PATCH mods (see below on how to do this)

What are the possibilities for modders ?

     See the learning examples and the Script Rules explained in the file Script_Rules.txt included.
You have many convenient ways to change, replace or add/remove values or code. E.g. you can multiply all values of a certain type with ease,
replace all values that match a certain type or value and much more. You can also add code, add new files either by defining the code
in the lua script file itself or by external source.

(Note: Some Mods here are for demonstration purposes only, they may require changes to values or even logic of what is changed.
            But most are perfectly functional.  Test them on a new save when in doubt!)

AllShipsMaxSlots | AllShipsMaxSlots+SClass
BiomeForceType | BiomePerStarTypeChange
BuildEverythingEverywhere | BuildEverythingEverywhereNoCollision | BuildingsOnPlanetsRemoved
NoPirates | NoPirates_Extended | NoPirates+NoRandomSentinels | NoPirates+NoRandomSentinels_Extended
NoRandomSentinels | NoRandomSentinels_Extended
PlanetGenerationModTemplate (UNFINISHED, TEMPLATE)
PlantSizeIncreaseCompact | PlantSizeIncreaseScaleEdition | PlantSizeIncreaseScaleEditionMinMax
SpeedIncreaseActions | SpeedIncreaseAnalysis
SuperformulaSuperTerrainExperiment (demo only, experimental)

Scripts by Erikin84:
NaturalFlight_3_Speeds | NaturalFlight_Fast_Brakes

Scripts by PetrikM:

Scripts By Seeker:
horizontal_wings | static_horiz_s_wings | Y_wings

How to create your own lua mod definition scripts ?
Look at the scripts in the ModScriptCollection and LearningExamples + Commented folders.
Just copy one of them and adapt it for your mod.  Note multiple {...} entries need to be separated with a comma.
     +++++  Script Rules are explained in the file Script_Rules.txt included  +++++
For mods that depend on multiple pak sources and MBINs see Multi_PAK_Multi_MBIN_Example_Mod.lua to see how to do the correct nesting.
The real revolution is the mod script lua definition system that enables every modder to easily convert their mods to these scripts and 
finally become mostly independent of manual mod updates.

How to Create a Patch for an existing MOD PAK ?

Mods in NMS are loaded from top to bottom (when listed in alphabetical order).
Lower mods that modify the same file in any above mod will win all changes to that file

So, to make a Patch for a mod PAK, you could manually do (see below for MODBUILDER help):

  1. Extract from that mod PAK the file you want to change, it gives you a .MBIN
  2. Decompile the .MBIN to .EXML format using the appropriate MBINCompiler version
  3. Find what you want to change and make these changes to the .EXML file
  4. Recompile the .EXML file to .MBIN using the "latest" MBINCompiler version
  5. Pack this new .MBIN file to a .PAK (name it as you like as "Patch_xyz.pak")
  6. Make sure the name is lower than the original PAK file in alphabetical order
  7. Place both files into your NMS MODS folder
  8. Verify that the DISABLEMODS.TXT file in PCBANKS folder is still deleted
  9. Enjoy

   Using the .EXML file from the mod PAK ensure that most if not all of the changes made by the MOD
   will be saved and the MOD will continue to work as intended.
   In using the Patch, only if you change something that affects that MOD, will that change how the MOD works
   otherwise the MOD AND YOUR CHANGES will work as planned by you.

MODBUILDER can help in creating the "Patch_xyz.pak":
   A. Create a simple script with the changes you want to an .EXML file (steps 1, 2 and 3 above)
   B. Copy the Script AND the MOD PAK you want to patch in the ModScript folder (steps 4, 5, 6, 7, 8 are handled by MODBUILDER)
   C. MODBUILDER will attempt to use your MBIN_FILE_SOURCE name in the mod PAK if found
     *** That will preserve the mod PAK changes unless you change the same exact values with your patch ***
   D. A new mod PAK will be created in the CreatedModPAKs folder
   E. Use that PAK in 6- above (if you did not let MODBUILDER do it for you)

How to distribute you mod script lua definition file ?
1. Upload it plain to nexusmods with a link to a download or
2. Upload your mod into the NMS modding discord server (mod releases 
    channel or mod discussion), mention @Mjjstral if you want that I add it 
    to the project for future releases
3. Post a link to the commentary section on nexus

Many thanks to monkeyman192 for his huge efforts toward the NMS community and his work on the MBIN compiler.
Many thanks to Wbertro (aka TheBossBoy) for further improvements.
Many thanks to Seekker for further improvements and for sharing scripts.
Many thanks to Lo2k for further improvements and bug reporting.
Original idea by Mjjstral aka MetaIdea
Copyright MIT license

Contact: [email protected] or [email protected]