Creating a "Fibercraft" ARK: Survival Evolved Server
What is a "Fibercraft" Server?
On a Fibercraft server, the normal requirements for building blueprints for items and structures in the game (such as wood, stone, metal, crystal, hide, etc) are all replaced with materials that are much easier to acquire. The most commonly used replacement material is fiber, gathered from plants, which is where the name "Fibercraft" comes from.
It's actually possible to set it to any replacement material, or even combinations of multiple materials.
This removes a lot of the material grinding from the game, and can allow players to focus more time and energy on other pursuits, such as breeding Dinos and PVP. This makes it the game more compatible with busy schedules (for example, people with work, family, kids, etc.). Since materials are easy to gather, it also takes some of the sting out of getting attacked or raided in PVP (repairs can be made very easily). If you raid someone, they can bounce back and be ready to counterattack very quickly!
The Changes to Create Fibercraft
To change the materials that are required to build a blueprint, a special config file line will need to be added in the Game.ini
config file for Ark: Survival Evolved.
The setting is called ConfigOverrideItemCraftingCosts=( )
.
Inside the parenthesis, it's required to add several sub-settings, telling the game what materials, and in what quantities, to replace the normal crafting requirements for a blueprint. These sub-settings are explained in a following section in more detail. Each blueprint that needs to be changed will require its own separate entry in the config file. If you want to change hundreds of blueprints, you will need hundreds of ConfigOverrideItemCraftingCosts=( )
settings in the Game.ini
config file.
An example override line (this one is for a wood foundation), setting it to only require 1 unit of fiber to make:
ConfigOverrideItemCraftingCosts=(ItemClassString="PrimalItemStructure_WoodFloor_C",BaseCraftingResourceRequirements=((ResourceItemTypeString="PrimalItemResource_Fibers_C",BaseResourceRequirement=1.0,bCraftingRequireExactResourceType=false)))
The Sub-Settings
ItemClassString="name of blueprint"
The name of the exact blueprint in-game that is being changed. The best place to find the full list of all item ID's in ark is on the Ark Wiki at Gamepedia: https://ark.gamepedia.com/Item_IDs . On this page, look in the column labelled "Class Name" for the exact name of the blueprint. It must be enclosed in quotes.
BaseCraftingResourceRequirements=( )
This will set what materials will be replacing the normal ones, and in what quantities. For each material being replaced, it requires three sub-settings (described below). The sub-settings must be separated by quotation marks and enclosed by their own set of parenthesis.
ResourceItemTypeString="classnamehere"
This will set which material is replacing the normal blueprint requirements. Use the "Class Name" from the Item ID page on the Wiki between the quotes.BaseResourceRequirement=
The amount of those resources in whole numbers with 1 decimal place (1.0, 10.0, 1000.0, etc)bCraftingRequireExactResourceType=false
This can be set totrue
if you want only the specific resourceClass Name
named inResourceTypeString
. For example, some resources count as a basic type, for example "wood" and "fungal wood" can be use interchangeably in most recipes. If you set theResourceTypeString
to fungal wood, and then setbCraftingRequireExactResourceType
totrue
, then ONLY fungal wood would work. Normal woo" would not work for the blueprint.
An example of all three sub-settings put together:
(ResourceItemTypeString="Class Name of new material",BaseResourceRequirement=the quantity of that material,bCraftingRequireExactResourceType=false)
Multiple Materials
If you want a blueprint to still require more than one materials, this can be done by simply adding a whole new group of sub-settings. Each different materials needs to have all three sub-settings, separated by commas, and enclosed by it's own set of parenthesis. Then simply put commas between the multiple parenthesis enclosed groups.
The example below will set the override for a blueprint to require 10 units of wood, and 10 units of metal:
BaseCraftingResourceRequirements=((ResourceItemTypeString="PrimalItemResource_Wood_C",BaseResourceRequirement=10.0,bCraftingRequireExactResourceType=false),(ResourceItemTypeString="PrimalItemResource_Metal_C",BaseResourceRequirement=10.0,bCraftingRequireExactResourceType=false))
Editing the Game.ini Config File
The Game.ini
config file is located on Nodecraft servers at /ShooterGame/Saved/Config/LinuxServer
. If you need help using the built-in text editor on the Nodecraft control panel, we have a guide on that located here: How To Use The File Editor in the Nodecraft File Manager
If the Game.ini
config file is completely empty when you first open it, you will need to add the line below to the very first line of the config file.
[/script/shootergame.shootergamemode]
This line is required so the settings are properly processed by the game.
If the config file already has settings inside, make sure the ConfigOverrideItemCraftingCosts=( )
lines are being added at the end of the section under the header [/script/shootergame.shootergamemode]
.
Examples for Your Config File
Here are a few examples of settings you could add to your config file for each item, but by no means is this an exhaustive list of all of them.
Tools
ConfigOverrideItemCraftingCosts=(ItemClassString="PrimalItem_BloodExtractor_C",BaseCraftingResourceRequirements=((ResourceItemTypeString="PrimalItemResource_Fibers_C",BaseResourceRequirement=1.0,bCraftingRequireExactResourceType=false)))
ConfigOverrideItemCraftingCosts=(ItemClassString="PrimalItem_ChainSaw_C",BaseCraftingResourceRequirements=((ResourceItemTypeString="PrimalItemResource_Fibers_C",BaseResourceRequirement=1.0,bCraftingRequireExactResourceType=false)))
ConfigOverrideItemCraftingCosts=(ItemClassString="PrimalItem_WeaponCompass_C",BaseCraftingResourceRequirements=((ResourceItemTypeString="PrimalItemResource_Fibers_C",BaseResourceRequirement=1.0,bCraftingRequireExactResourceType=false)))
Armor
ConfigOverrideItemCraftingCosts=(ItemClassString="PrimalItemArmor_ClothPants_C",BaseCraftingResourceRequirements=((ResourceItemTypeString="PrimalItemResource_Fibers_C",BaseResourceRequirement=1.0,bCraftingRequireExactResourceType=false)))
ConfigOverrideItemCraftingCosts=(ItemClassString="PrimalItemArmor_ClothShirt_C",BaseCraftingResourceRequirements=((ResourceItemTypeString="PrimalItemResource_Fibers_C",BaseResourceRequirement=1.0,bCraftingRequireExactResourceType=false)))
ConfigOverrideItemCraftingCosts=(ItemClassString="PrimalItemArmor_ClothHelmet_C",BaseCraftingResourceRequirements=((ResourceItemTypeString="PrimalItemResource_Fibers_C",BaseResourceRequirement=1.0,bCraftingRequireExactResourceType=false)))
Weapons and Attachments
ConfigOverrideItemCraftingCosts=(ItemClassString="PrimalItem_WeaponAdminBlinkRifle_C",BaseCraftingResourceRequirements=((ResourceItemTypeString="PrimalItemResource_Fibers_C",BaseResourceRequirement=1.0,bCraftingRequireExactResourceType=false)))
ConfigOverrideItemCraftingCosts=(ItemClassString="PrimalItem_WeaponRifle_C",BaseCraftingResourceRequirements=((ResourceItemTypeString="PrimalItemResource_Fibers_C",BaseResourceRequirement=1.0,bCraftingRequireExactResourceType=false)))
ConfigOverrideItemCraftingCosts=(ItemClassString="PrimalItemStructure_BearTrap_C",BaseCraftingResourceRequirements=((ResourceItemTypeString="PrimalItemResource_Fibers_C",BaseResourceRequirement=1.0,bCraftingRequireExactResourceType=false)))