I posted an old version of this script a few years ago (2019?) to share with other admins my method of discovering engrams so I can block newer ones on older servers. For example, I could block the entire tek tier and everything from newer maps and have an original Island map for greater challenge. This script will find all built-in engrams as well as any for any mods you specify and generate a text-file for every core map and mod with the hiding code in-place. You simply copy the lines containing the engrams/items you want blocked on your server to your servers game.ini file and you're done. This is a simple batch file so while it will not work on a Linux server, you CAN run it on your Windows game client to get the code and all, then copy/paste to your server as needed.
@ECHO OFF
REM Ark Engrams Discovery Batch File
REM By: The Great Sephiroth
REM (c) 2020-2023
REM Feel free to distribute or modify this file to suit your needs!
REM Common, popular mod IDs
REM Eco Trees - 670764308
REM Platforms Plus - 719928795
REM Snappy Saddles - 725398419
REM Structures Plus - 731604991
REM Eco RP Decor - 741203089
REM Eco Garden Decor - 880871931
REM Classic Flyers - 895711211
REM Fused Troughs - 1342152255
REM Additional Lighting - 1380777369
REM Set this to the mod ID you want engrams for
SET MODID=731604991
REM Set this to your Ark content folder
SET GAME=E:\Games\Steam\steamapps\common\ARK\ShooterGame\Content
REM See if a mod ID was specified on the command-line
IF "%1"=="" (
IF "%MODID%"=="" (
ECHO No mod ID has been configured and one was not specified on the command-line!
EXIT /B 1
)
ECHO No mod ID specified, using the configured mod ID...
) ELSE (
ECHO Using mod ID from the command-line...
SET MODID=%1
)
REM Set the full mod path or use core engrams
IF "%1"=="-1" (
ECHO Outputting all core game engrams...
REM Output the core game engrams
SET MODDIR=%GAME%\PrimalEarth\CoreBlueprints\Engrams
SET MODID=CoreArk
CALL :FUNC_GETENGRAMS
REM Output the primitive plus engrams
SET MODDIR=%GAME%\Mods\111111111
SET MODID=CorePrimPlus
CALL :FUNC_GETENGRAMS
REM Output Scorched Earth engrams
SET MODDIR=%GAME%\ScorchedEarth
SET MODID=CoreScorched
CALL :FUNC_GETENGRAMS
REM Output Aberration engrams
SET MODDIR=%GAME%\Aberration
SET MODID=CoreAberration
CALL :FUNC_GETENGRAMS
REM Output Extinction engrams
SET MODDIR=%GAME%\Extinction
SET MODID=CoreExtinct
CALL :FUNC_GETENGRAMS
REM Output Genesis engrams
SET MODDIR=%GAME%\Genesis
SET MODID=CoreGenesis
CALL :FUNC_GETENGRAMS
REM Output Genesis 2 engrams
SET MODDIR=%GAME%\Genesis2
SET MODID=CoreGenesis2
CALL :FUNC_GETENGRAMS
REM Output Lost Island engrams
SET MODDIR=%GAME%\LostIsland
SET MODID=CoreLostIsland
CALL :FUNC_GETENGRAMS
REM Output Fjordur engrams
SET MODDIR=%GAME%\Fjordur
SET MODID=CoreFjordur
CALL :FUNC_GETENGRAMS
) ELSE (
ECHO Attempting to get engrams for mod ID %MODID%...
REM Attempt to process the specified or configured mod
SET MODDIR=%GAME%\Mods\%MODID%
CALL :FUNC_GETENGRAMS
)
REM Exit the batch file
EXIT /B %ERRORLEVEL%
REM Function to get all engrams from the configure mod directory
:FUNC_GETENGRAMS
REM Verify the full path exists
IF NOT EXIST %MODDIR% (
ECHO The specified mod directory does not exist! You may not have the mod specified,
ECHO or you may not have all of the expansions installed.
ECHO The full path is listed below.
ECHO.
ECHO %MODDIR%
EXIT /B 2
)
REM Delete existing output files if they exist
IF EXIST %MODID%-temp.txt DEL %MODID%-temp.txt
IF EXIST %MODID%.txt DEL %MODID%.txt
REM Loop through recursively and store the engram entries
FOR /R %MODDIR% %%F IN (EngramEntry*) DO (
ECHO OverrideNamedEngramEntries0=^(EngramClassName="%%~nF_C",EngramHidden=true^) >> %MODID%-temp.txt
)
REM Sort the output alphabetically
SORT %MODID%-temp.txt > %MODID%.txt
REM Remove the temporary file and return
DEL %MODID%-temp.txt
EXIT /B 0
The file is attached to this post. Enjoy!
Engrams.bat