ARK: Survival Evolved

ARK: Survival Evolved

Super Structures
zpangwin Mar 14, 2020 @ 2:44pm
Example of Game.ini Overrides to Replace Vanilla Engrams
Saw this requested at least once in the comments and figured I'd share mine in case it helps anybody. I am posting this as an example only; don't really have the time/desire to maintain custom requests but might help for simple changes if you ask nicely. obvious if Legendarsreign adds a mod config option to do this, then that should supercede my entire post but in the meantime hopefully this helps a few folks out.

TL;DR - if you don't care about the process I use to generate these, then skim my notes immediately below to make sure there's no deal-breakers then jump to the 2nd section

Section 1 - Notes:
  1. I do not guarantee that this is comprehensive but it should cover most stuff
  2. As of 2020, Mar 14th this seems to work fine for me. But if the engram names change in the future then this may no longer work.
  3. This is for my own private PvE server; I may have adjusted some levels to be different from vanilla... I think they should mostly be correct but I can almost guarantee that some have been changed (sorry, don't remember which ones). If you find something is off/not to your liking, then change it.
  4. I highly dislike the single-door variants and hide them completely so that only double doors are used. If you don't want this, then adjust accordingly.
  5. My setup assumes that you have
    bOnlyAllowSpecifiedEngrams=false
    and
    bAutoUnlockAllEngrams=true
    . If you don't have this, it may need some adjusting.
  6. For tek, I set mine to level 100 instead of requiring you to unlock the vanilla tek engram. From the documentation[ark.gamepedia.com] it appears that OverrideNamedEngramEntries requires explicitly defining Engram Points and Level Requirements in order to disable the prerequisites (e.g. SS/S+ dependency on vanilla engram). If someone has tested whether or not it is possible to skip the engram cost / req level when defining OverrideNamedEngramEntries, please add a comment below but I did not test this. Again, if you don't like this behavior then leave then leave out the overrides for tek or change them.

Section 2 - Sample Game.ini OverrideNamedEngramEntries:

This wouldn't fit within the post size limit so I put it on pastebin:

Sample Game.ini OverrideNamedEngramEntries replacing Vanilla Engrams with their SS Equivalents[pastebin.com]

Section 3 - Creating From Scratch:
First, if you don't know what Regex is, don't feel comfortable using the command line, etc then you should probably skip this section. This section is intended for as a reference for power users/programmers who wish to recreate the same thing from scratch. If you just want a simple sample, this section will likely not be helpful to you.

Second, I play Ark 100% on Linux so I will be showing Linux paths/tools. If you are on Windows, adjust paths/tools accordingly (I find that using "dir /b/s *Engram*" is a decent substitute for "find . -type f -iname '*Engram*'" but you could also opt for running the actual Linux commands under Cygwin/Git bash/Windows Subsystem for Linux/etc).

Last, after reading this, you might be thinking to yourself that "this process is a lot more work than just copying the Engram names from a thread". You would be absolutely correct. But on the flip side, it also has the advantage that no engrams will ever be missed/left out/misspelled/etc due to some post that is incomplete/incorrect/out-of-date. The only way these engram classes would be out-of-date/missing/wrong is if your system doesn't have the latest version of the mod or you somehow used the wrong path (e.g. from multiple installs). So yes, there is a bit of work. But after you set it up the way you like, very rarely do you need to go back and edit this. I had to do one major change post-homestead update and a few minor edits post-SS migration but very little outside that.

# PREREQ #1: make sure you have subscribed to SS # PREREQ #2: make sure you let steam download the mod after subscribing # PREREQ #3: make sure you open ark after downloading so it installs the mod # go to SS Mod directory cd ./steamapps/common/ARK/ShooterGame/Content/Mods/1999447172 # ex: search for all engrams find . -type f -iname '*Engram*' # ex: search for all engrams containing a specific word find . -type f -iname '*Engram*' | grep -i 'Doubledoor' # show all engram classes find . -type f -iname '*Engram*' | sed -E 's|^.*/([^/]+)\.uasset$|\1_C|g'

I take these engram paths and manually match them up in a LibreOffice spreadsheet so that it maps vanilla-to-SS structures and uses a spreadsheet formula to generate the some output. The spreadsheet can be downloaded here.[drive.google.com] The last column on the right contains a complex spreadsheet formula which generates the corresponding Override/Unlock lines for that entry.

When spreadsheet data is correct, I copy the last column except for the heading name and paste into Sublime Text, then use one last regex to correct:

regex search: #(Override|Engram) regex replace: \n$1

Finally, I use the Sublime Text > Edit > Sort Lines option to order everything in a nice list. Then Sublime Text > Edit >Permute >Unique to get rid of duplicate blank lines. Finally, backup your Game.ini then copy the entries into it.
Last edited by zpangwin; Mar 14, 2020 @ 3:10pm
< >
Showing 1-10 of 10 comments
Ceo Mar 15, 2020 @ 2:15am 
As a curiosity, are you running all these exclusions on a server?
I have been thinking about removing all double engrams etc that happens with the whole vanilla vs S+/SS mod situation, but have read so many warnings about messing TOO much with the ini's since this will create incredible lag when browsing engrams, to the point of unplayable.

Some say the only way to avoid this is to use the OnlyAllowSpecifiedEngrams=true and rather list all allowed engrams to make sure playability.

Would love your and any's feedback on their experience on this :)
Silude Mar 15, 2020 @ 5:09am 
Yes this is true. Using this makes the engram list insanely laggy..

How do you setup OnlyAllowSpecifiedEngrams=true?
zpangwin Mar 15, 2020 @ 9:38am 
Originally posted by Ceo:
As a curiosity, are you running all these exclusions on a server?
I have been thinking about removing all double engrams etc that happens with the whole vanilla vs S+/SS mod situation, but have read so many warnings about messing TOO much with the ini's since this will create incredible lag when browsing engrams, to the point of unplayable.

Some say the only way to avoid this is to use the OnlyAllowSpecifiedEngrams=true and rather list all allowed engrams to make sure playability.

Would love your and any's feedback on their experience on this :)


Yes, I do use it on a dedicated server but should probably note that it is a very low traffic (2-3 people) private server. There is some UI lag when opening the Engrams menu so it is often wise to only level-up from safe locations but Inventory/crafting/tribe menus are fine and game is playable. main lag issues are when opening engrams menu manually or when it auto-opens it after level-up. i imagine that it probably also depends on how many and how big of mods are running on the server... I have something like 70+ mods on mine including SS, Krakens Better Dinos, and Rare Sightings (just those 3 are ~ 750 mb) and I have additional overrides beyond the SS/S+ ones I shared in this post. My experience has been that the ui lag from config-only engram overrides + unlocks has been slightly less than with config-based overrides and using various Engram Unlocker mods.

The key for us is that since we just give all the engrams for each level instead of buying with engram points like in vanilla, you don't need to plan your character and that can help get rid of some of the reason to actually go into the engram menu. But that menu is not optimized at all (meaning it is slow as heck even without mods) so if you browse engrams menu a lot then yes it will be painfully slow to navigate.

Anyway, the config I mentioned about should be fine in the situation of a few friends playing on a private dedicated server as long as everyone understands about the lag on engram menu.But obviously, larger server populations running a large mod list, may need to test this and see if the lag is acceptable or not.

All I can say is that it works well enough for my purposes but your mileage may vary.

EDIT: Realized that I missed the part about bOnlyAllowSpecifiedEngrams when I replied previously. In mine, I have

bOnlyAllowSpecifiedEngrams=false
Last edited by zpangwin; Mar 16, 2020 @ 12:45pm
spawnAjak Mar 15, 2020 @ 11:09pm 
If you want to avoid engram lag, you would use
bOnlyAllowSpecifiedEngrams=True
and
OverrideNamedEngramEntries=(EngramClassName="engramentry_classname",EngramHidden=False,EngramPointsCost=X,EngramLevelRequirement=X,RemoveEngramPreReq=True)
Any engrams you don't list won't load and the SS/S+ engrams you do list have removed vanilla prerequisites.

The only issue I have ran into (if anybody knows the fix) is that even with
RemoveEngramPreReq=False
the SS/S+ Tek engrams don't require their respective boss kill before you can unlock the engrams.
Last edited by spawnAjak; Mar 15, 2020 @ 11:09pm
zpangwin Mar 16, 2020 @ 12:37pm 
Originally posted by spawnAjak:
If you want to avoid engram lag, you would use
bOnlyAllowSpecifiedEngrams=True
and ...

Is that verified to eiminate lag even when you still manually define many overrides? Whenever I've heard folks mentioning bOnlyAllowSpecifiedEngrams it has always been in a situation where either they did not add many overrides or else they did not have mods adding many engrams. What I mean to ask is if bOnlyAllowSpecifiedEngrams=True eliminates the lag by virtue of simply being enabled or if it only works n those scenarios where it has actually hidden many many engrams (more so than just the duplicates discussed here).

There is also a setting[ark.gamepedia.com] added with homestead called AllowIntegratedSPlusStructures which when set to false will partially disable the overlap but AFAIK it only applies to the the new "vanilla" structures (e.g. tri ceilings/foundations/roofs/etc) that were added with homestead and not to the original vanilla structures (normal foundations/ceilings/walls/etc and crafting stations).

If not sure, then I may try to verify this later when I get some time... I have a very hefty set of definitions which would make for a good test. But I would like to first scan what I do not have defined so that I can make an apples to apples comparison of bOnlyAllowSpecifiedEngrams=true + manually define everything vs. bOnlyAllowSpecifiedEngrams=false and define only the stuff you want hidden/remapped.
Last edited by zpangwin; Mar 16, 2020 @ 12:50pm
spawnAjak Mar 17, 2020 @ 2:36am 
I've not done multiple extensive tests like I'm sure you'd want to but in my experience, same modset both times, bOnlyAllowSpecifiedEngrams=true sure beats hiding everything else. It's a lot more lines on the game.ini but it has definitely reduced lag. AutoUnlock is another story entirely, a player mindwiping and spam clicking levels can easily slate a low level dedi server. I'd be interested in any feedback you have after you've tested it in whatever manner. I'm only running 11 mods mind you, most of which are not adding tonnes of engrams.

Also for anyone interested in the answer of my issue above, if you hide/don't specify the vanilla Tekgrams, the SS/S+ engrams won't have a reference for their specific boss kill requirements, making them free of that requirement. The fix is simply to unhide/specify each vanilla Tekgram. Kind of counter productive in the grand scheme of things but also a tiny % of the original issue.

EDIT: The way I see it, when you manually hide each engram, the engram list is loading every engram and then checking before hiding each engram you chose to hide, on each open. I feel like (I could be wrong) that with SpecifyEngram=True, the engram list is only loading every engram specified, which is a percentage of every engram otherwise why are you doing this... and also does not need to check for any hidden engrams to apply, each open. It seems logical to me that this process would be easier on the server.
Last edited by spawnAjak; Mar 17, 2020 @ 2:39am
spawnAjak Mar 17, 2020 @ 2:43am 
If you send me a friend request I can send you my compiled list of engram overrides in favour of getting some tested feedback, it's specific to my environment but I assume it's going to save you some time compiling all the S+ engrams, mind exactly that, I am still using S+ over SS. Just until things become a little more necessary to update.
zpangwin Mar 17, 2020 @ 1:30pm 
Noticing in my latest tests that this engram unlocker mod *seems* to reduce *some* of the lag (the portion due to message texts). it does not eliminate the lag completely, nor does it do anything to fix the issues with the engram screen (to be fair, I don't think mods *can* do anything about the screen... that's a WC issue, not that I have high hopes for a fix). mostly, it is just removing all the spam text that appears when engrams are learned but its something.

I'm testing it on theisland so no clue how it works on other maps. i currently still have my game.ini unlock entries defined (e.g. i didn't remove them despite the mod doing the same thing) but might revisit that after i do more testing / etc. Thus far, it seems to be respecting the hidden/remapped entries though.
zpangwin Mar 17, 2020 @ 1:45pm 
Originally posted by spawnAjak:
EDIT: The way I see it, when you manually hide each engram, the engram list is loading every engram and then checking before hiding each engram you chose to hide, on each open. I feel like (I could be wrong) that with SpecifyEngram=True, the engram list is only loading every engram specified, which is a percentage of every engram otherwise why are you doing this... and also does not need to check for any hidden engrams to apply, each open. It seems logical to me that this process would be easier on the server.

Could be. Could be something else. Impossible to say for sure without access to WC's source code.

From a programming perspective, if I were tasked with implementing something like this, then my first thought would be to use either some kind of caching framework (in the java world anything from redis to jcache) or failing that to have some pre-loaded map of engrams in memory. Since ARK is obviously a closed source, it's anyone's guess how WC implemented. But I think it likely the WC devs had similar thoughts. Could just be as simple as the engram icon filesizes are big enough that when you load too many at once, it lags the rendering on the engrams page (this is currently my best guess)... same thing can happen on websites that have a lot of images and games are much more performance intensive than websites usually are.

Anyway, I think I agree that main reason the lag is reduced is because when you use an Engram whitelist (e.g. SpecifyEngram=True) it is likely due to there being less engrams to render/process.
zpangwin Mar 17, 2020 @ 1:58pm 
Originally posted by spawnAjak:
If you send me a friend request I can send you my compiled list of engram overrides in favour of getting some tested feedback, it's specific to my environment but I assume it's going to save you some time compiling all the S+ engrams, mind exactly that, I am still using S+ over SS. Just until things become a little more necessary to update.

Sure; keep in mind, I'm a bit slow to test things (work + huge backlog of testing to-do's lol). I cheat and generate things from the command line so making an engram list is easy. But the main slowdowns for me are filling in the levels and matching vanilla to S+/SS variants... one of the items on my backlog is to look into the possibility of writing a tool to do this. Also, I just checked and as far as engram names, the only difference between S+ and SS currently is that SS adds 1 engram: "EngramEntry_CryoFridge_SS_C"
< >
Showing 1-10 of 10 comments
Per page: 1530 50