Arkpy
Work in Progress. Reverse Engineering the file formats for Ark: Survival Evolved. Read/Write with python.
Install / Use
/learn @DerekRies/ArkpyREADME
ARKpy
v0.1.3
ARKpy is a library for reading and writing the file formats of ARK: Survival Evolved with the python programming language. ARKpy does not simply look for the offsets of particular strings to find the data (like other existing libraries/scripts), but reads the entire data structure of the file into memory.
For those interested in the reverse engineering of the file types the specifications can be found among the library docs.
Docs | File Format Specs | Examples
Features
- Read and Write the following file types
- .arkcharactersetting (Character creator preset files)
- .arkprofile (LocalPlayer.arkprofile or steamid.arkprofile, no LocalPlayerData)
- .arktribe
- Create new characters or tribes dynamically
- Friendly API wrapper around the data
- Maps to enumerate through and identify the proper index for:
- BoneModifierSlots (Head Size, Chest, etc...)
- Body Colors (Skin, Hair, Eyes)
- Stats (Health, Oxygen, Stamina, etc...)
- Item Blueprint Paths/IDs
Installation
pip install arkgamepy
Usage
Reading an .arkprofile file
from arkpy.ark import ArkProfile
from arkpy.ark import BoneMap, StatMap, BodyColorMap
file_path = 'data/SavedArksLocal/LocalPlayer.arkprofile'
profile = ArkProfile(file_path)
print profile.character.name
print profile.character.level_ups
print profile.character.experience
print profile.character.engram_points
# Get all the Stat points allocated and print them with a string
# identifying which stat they are
stats = profile.character.stat_points
for stat in StatMap:
print '%s: %s' % (stat.name, stats[stat])
# Get all the BoneModifier values and print them with a string
# identifying which bone it is
bones = profile.character.body_modifiers
for bone in BoneMap:
print '%s: %s' % (bone.name, bones[bone])
Related Skills
node-connect
336.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
83.0kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
83.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
336.9kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
